Как я учил персонажа ходить
Взял капсулу из коробки и rigidbody оттуда же.
Сделал супер контроллер PlayerController. Его Start зовется самим Unity один раз при запуске, Update зовется каждый кадр им же, FixedUpdate определенное и всегда одинаковое количество раз в секунду.
Внутри Start получал игровые объекты и компоненты, создавал сервисы (об этом дальше)
Сервис - реализация интерфейса с методами Update и FixedUpdate
PlayerController в Update дергает метод Update в каждом сервисе по очереди (тоже самое и для FixedUpdate)
Внутри сервисов уже и происходит вся полезная логика.
Сделал так, потому что иначе появляется много визуального программирования, которое фу
А так все красиво
Первый сервис проверяет нажатия WASD и толкает персонажа с помощью физики через rigidbody. Еще он реализует прыжок: проверяет, что персонаж на земле и нажатие пробела. Если и то, и то нормальное - то толкаем персонажа вверх.
Второй сервис реализует логику проверки того, что персонаж на земле. Снизу капсулы есть точка, откуда кидается луч вниз. Если он столкнулся с землей и расстояние до нее меньше определенного очень маленького значения, то считаем, что персонаж на земле. Пишем это в синглтоновский объект свойств. Первый сервис это оттуда и читал
Третий сервис работает с мышкой. Есть методы для получения движения мышки. Число от -1 до 1, которое говорит, в какую сторону и с какой скоростью двигается мышка (есть методы и для вертикального движения, и для горизонтального). В зависимости от горизонтально движения поворачиваем всё тело персонажа, а от вертикального - камеру.
Все! Персонаж умеет ходить и прыгать.
Еще там есть конфиги, которые пока захардкожены. Но при желании, код можно чуть-чуть дописать и хранить где-нибудь в файлах.
Files
Get TargemTest
TargemTest
Test game for targem course
Status | Released |
Author | likvidator3301 |
Genre | Adventure |
Leave a comment
Log in with itch.io to leave a comment.