2016-07-25 2 views
0

У меня есть 3 платформы и игрок, которому нужно прыгать с одной платформы на точный центр следующей платформы справа/слева. Сейчас я использую физику на платформах и игроком и добавляю speed.y для силы прыжка, и я бы хотел рассчитать скорость.x, рассчитанную центрами текущей платформы, на которой он находится, и следующей платформой он должен перейти к.Как рассчитать скорость.x для перехода между платформами?

Есть ли у кого-нибудь идеи о том, как реализовать этот расчет?

Спасибо!

ответ

0

Предполагая, что следующая платформа находится на той же высоте и что сила тяжести только указывает вниз (т.е. гравитация имеет нуль компонент), вы можете использовать следующую формулу:

velocityX = distance * gravity * 0.5/velocityY 

Где distance является расстояние, которое вы хотите покрыть (расстояние между платформами), gravity - Абсолютное значение Значение гравитационного ускорения (9.81 в Unity по умолчанию) и velocityY - это вертикальная составляющая скорости игрока после применения силы/импульса скачка (скорости).

Если на платформах нет уровня, для этого потребуются дополнительные вычисления.

+0

так что если я выполню прыжок, добавив силу -350 к скорости., Он должен делить на -350? ans Я предполагаю, что расстояние в единицах? – trueicecold

+0

Нет, его следует разделить на конечную скорость, то есть скорость * после * вы добавили '-350'. Не уверен, как вы получили эту большую ценность, и это слишком негативно. И да, расстояние в единицах. – EvilTak