Физика прыжков в фиксированном обновленииC#

Место общения программистов C#
Anonymous
Физика прыжков в фиксированном обновлении

Сообщение Anonymous »

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

Код: Выделить всё

private bool jumpKey;

private void Update()
{
jumpKey = Input.GetKey(jumpKeyBind);
}

private void FixedUpdate()
{
if (jumpKey && other requirements)
apply the impulse to the rb
}
Этот код действительно работает, но он по-прежнему вызывает [передо мной] следующий вопрос: каждый бит физики нужен быть в методе FixUpdate? Если я хочу выполнить метод AddForce, когда игрок достигает чего-то, например, вершины лестницы, должно быть в фиксированном обновлении?
Я также хотел бы отметить, что методы GetKeyDown и GetKeyUp не работают в FixUpdate, см. этот пост

Подробнее здесь: https://stackoverflow.com/questions/786 ... ixedupdate

Вернуться в «C#»