Изменить скорость твердого тела с помощью AddForce? - PullRequest
0 голосов
/ 06 мая 2019

Я сделал контроллер твердого тела, основанный на контроле скорости объекта внутри неподвижного обновления.Только когда я закончил, я понял, что эта ссылка говорит о том, что вы ДОЛЖНЫ использовать hardbody.velocity внутри исправленного обновления, потому что это вызывает нежелательное поведение.

Есть ли математическое уравнение или какое-то решение, которое я могу использовать, чтобы я мог использовать Hardbody.?

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

Спасибо!

1 Ответ

1 голос
/ 06 мая 2019

Чтобы рассчитать величину силы, которая вам нужна для достижения скорости, вам нужно использовать уравнение Ft = mV - mU, где F = сила, t = время, m = масса, V = желаемая скорость и U = токскорость.

Если исходная скорость равна 0, уравнение будет выглядеть примерно так:

Vector3 force = (rigidbody.mass * desiredVelocity) / Time.fixedDeltaTime;

desiredVelocity должно быть Vector3, в каком направлении вы хотите, чтобы объект двигался.

Если объект уже движется, используйте это:

Vector3 force = ((rigidbody.mass * desiredVelocity) - (rigidbody.mass * rigidbody.velocity)) / Time.fixedDeltaTime;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...