Unity - AddForce () при использовании MovePosition () для движения - PullRequest
0 голосов
/ 26 февраля 2020

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

Теперь проблема в том, что я использую MovePosition для движения игрока, и когда я использую все, что изменит скорость игроков RB (установка скорости / AddForce ()), сила / скорость применяется только на долю секунды. Я думаю, это потому, что я использую MovePosition, который каким-то образом игнорирует или сбрасывает скорость.

Есть ли какой-то способ, которым я могу go обойти это без необходимости настраивать элементы управления игрока на основе добавления сил с максимальной скоростью или с помощью вычисление того, как долго будет продолжаться отбрасывание?

Вкратце, я хочу, чтобы отбрасывание было плавным, потому что теперь я должен добавить действительно большую силу, чтобы иметь действительно быстрое (в основном мгновенное) движение.

1 Ответ

0 голосов
/ 26 февраля 2020

Попробуйте переписать его так, чтобы физический движок позаботился обо всем за вас. Вы можете попробовать переместить ваш объект с помощью AddForce и, находясь в состоянии «отбрасывания», вы можете использовать AddForce с Force.Impulse в качестве параметра. Он должен работать так, как задумано, и снимает проблему движения с ваших плеч.

...