Box2d - снижение чувствительности b2body - PullRequest
0 голосов
/ 04 мая 2011

Можно ли уменьшить чувствительность объекта b2Body, когда он находится под воздействием сустава мыши?
По сути, у меня есть камера, которая следует за моим b2 телом, и чрезмерное вращение приводит к тому, что камера сходит с ума.
Я пытался использовать код, ограничивающий вращение, который на самом деле не идеален, потому что иногда он вызывает странное физическое поведение.
Мой код ограничения вращения был примерно таким (псевдокод):

for (b2body *b in _bodies){
    if (b == myhero){
         float ang = myhero->GetAngle();
         if (ang > 35) ang = 35;
         if (ang < -35) ang = -35;
         myhero->setTransform(myhero->GetPosition().x,myhero->GetPosition().y,ang);
    }
 }

У кого-нибудь есть предложения получше? Спасибо.

1 Ответ

2 голосов
/ 06 мая 2011

Мышиный сустав для физики может быть именно тем, что вы хотите.Но вы не хотите, чтобы ваша камера была присоединена к этому.

Вместо того, чтобы ограничивать свободу передвижения вашего героя, вы должны ограничить вашу камеру в следовании за своим героем.

Положите некоторое ослаблениев камере.Ограничить максимальное ускорение для движения / вращения.Поэтому не связывайте положение своего тела 1: 1 с положением камеры.

Я не уверен, какой стиль игры вы делаете, но подумайте, как вы хотите, чтобы ваш пользователь испытал это, напишите некоторые ограничениядля вашей камеры и реализовать их.

...