Дневник разработки или что-то вроде того #2

Продолжаю рассказывать о своих попытках в игру.

В прошлый раз я рассказал о идее игры, о том что есть на данный момент и что привело к такой плачевной ситуации. Однако в этот раз буду делиться успехами.

Попытки в движок

Так как с момента начала разработки прошёл не много не мало а целый год, количество обновлений существенно изменило привычный способ кодировки движка. Так же на момент апреля была утеряна большая часть материалов из-за отказа моего HDD в адекватной работе.

С начала кодировки пришлось разбираться с новыми функциями в чем мне помогло большое количество гайдов в интернете (ссылки укажу).

И так, к чему это привело?

Для начала я использовал ныне единственный (а потому популярный) гайд по созданию 2D игры в Unreal Engine.

Сделав все как указано в содержании гайда я получил такой результат.

Далее немного поломав голову я почему то решил что во всем виновато прописанное управление в настройках самого движка и переписал его. К сожалению это не привело ни к каким изменениям.

И примерно с апреля по май я мучался с этим способом. НО! После первого поста об игре автору пришла мысль что этот код не совсем подходит для моего проекта и решительно его стер, оставив только кодировку передвижения.

Как работает анимация?

Стерев код я решил почитать как в принципе кодируются анимации передвижения и нашел гайд по Unreal Engine 4. Но это тоже не особо помогло из-за того что в проекте используются Флипбуки (покадровая анимация) вместо скелетной и пришлось кумекать своим мозгом над данным вопросом.

И в этот момент мою сонную голову посетила мысль что наверное стоит привязать переключение кадров к нажатию клавиш и я решительно начал гуглить. К сожалению это не помогло.

Готовое решение

Поняв что помощь в интернете не найти я начал думать своей головой. И тут мне вспомнился способ переключения анимации из первого гайда который и был использован в дальнейшем. Только увеличен в 4 раза.

Если кратко, то в момент настройки вы указываете определенную величину которую клавиша передает в движок, это и считается скоростью персонажа. Значит можно отследить это значение и в момент его передачи включить изменение анимации.

Для этого я разделил передвижение персонажа по горизонтали и по вертикали и назначил клавишам значения 1 и -1 для противоположных направлений. В самом коде я выставил условие при котором сравнивается текущая скорость персонажа с нулем и если скорость выше, то нужно включать флипбук передвижения в соответствующую сторону.

Вот как выглядит этот блупринт:

Дневник разработки или что-то вроде того #2

А вот как он работает:

И на этом воодушевившись я пошел спать.

Если будут советы и замечания буду очень рад их выслушать. Если что учитываются и по поводу постов)

22
3 комментария

Попроще движка для такой игры не нашлось? Просто боюсь что системные требования будут слишком высокие

Ответить

Да вряд ли. Мой пк довольно старый и нормально тянет даже с записью.
У пользователей которые будут играть тоже скорее всего проблем не будет так как игра сама по себе пиксельная, текстуры отрисованы с руки так что full hd там и не пахнет. Локации будут разделены на подлокации, а частиц будет минимальный минимум

Ответить