В прошлый раз мы рассмотрели механику бега и выносливости в нашей 3D-игре на движке Godot Engine. В этой статье мы погрузимся в механику приседания, а так же рассмотрим один возможный баг с коллизией. Сначала нам нужно добавить клавишу для приседания в Input Map: Теперь перейдем в наш главный скрипт "Player Controller" и объявим там несколько переменных: isCrouching, crouch_speed, height_normal и height_crouch: Теперь давайте создадим функцию crouch(), в которой будет содержаться основная логика нашей механики приседания: Разберём скрипт: Вы можете оставить скрипт в этом состоянии, но я добавлю функцию height_change: Но с каким багом вы можете столкнуться? Это может произойти, если ваш персонаж по transform имеет разные размеры по разным осям. Например, при приседании вы изменяете не высоту коллизии, а размер по оси Y (scale.y), что приведёт к следующему багу: Вот и всё! В следующей статье мы рассмотрим довольно интересную механику - скольжение (slide). Удачи в разработке!
Успешное приседание: Реализация механики Crouch в играх на Godot Engine и возможные баги с коллизией
11 мая 202411 мая 2024
67
1 мин