Поскольку мы рассмотрели, как создать проект Unity в нашей предыдущей статье, мы настроим простую сцену для демонстрации движения и взаимодействия.

Цель: настроить наши игровые объекты с помощью компонентов, чтобы обеспечить взаимодействие и движение.

Мы можем настроить Floor и Player Character нашего GameObject с соответствующими компонентами.

Мы заменяем Mesh Collider по умолчанию на примитивный Box Collider, это дешевле с точки зрения производительности, чем использование Mesh Collider для простой формы.

Затем мы добавим компонент Rigidbody к нашему игровому персонажу в Инспекторе. Это позволяет нам использовать движок PhysX.

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

Включение Gravity на нашем Rigidbody добавит гравитацию, и мы можем включать и выключать ее по желанию.

Мы можем заставить нашего игрового персонажа двигаться с помощью компонента Rigidbody, связанного с силами и наклонами. Кроме того, мы можем перемещаться внутри Script’s.

Мы создадим новый скрипт с именем PlayerController.

Наш класс PlayerController отвечает за информацию Player Character, которая должна храниться для нашей игровой логики.

Теперь, когда у нас есть доступ к нашему Rigidbody или 'rB', мы можем проверить значение null, чтобы увидеть, было ли оно уничтожено или отсутствует, поэтому мы не не сталкиваться с частыми ошибками в будущем.

Мы можем просто вернуть условие, если Rigidbody не равно нулю.

Перемещение нашего Персонажа игрока в Обновление.

Консоль будет выведена, если мы удерживаем клавишу «W» (GetKey) / (GetKeyDown) одним нажатием.

Применение движения с нашим Rigidbody.

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

Мы можем настроить нашу переменную скорости в Инспекторе.

Итак, теперь у нас есть Rigidbodyдвижение в направлении вперед, когда удерживается клавиша W.

Задание: заполните входные значения, чтобы отразить окончательный результат ниже.

Окончательный результат движения Rigidbody ‘rB’.