Дневник разработки или что-то вроде того #2
Продолжаю рассказывать о своих попытках в игру.
В прошлый раз я рассказал о идее игры, о том что есть на данный момент и что привело к такой плачевной ситуации. Однако в этот раз буду делиться успехами.
Попытки в движок
Так как с момента начала разработки прошёл не много не мало а целый год, количество обновлений существенно изменило привычный способ кодировки движка. Так же на момент апреля была утеряна большая часть материалов из-за отказа моего HDD в адекватной работе.
С начала кодировки пришлось разбираться с новыми функциями в чем мне помогло большое количество гайдов в интернете (ссылки укажу).
И так, к чему это привело?
Для начала я использовал ныне единственный (а потому популярный) гайд по созданию 2D игры в Unreal Engine.
Сделав все как указано в содержании гайда я получил такой результат.
Далее немного поломав голову я почему то решил что во всем виновато прописанное управление в настройках самого движка и переписал его. К сожалению это не привело ни к каким изменениям.
И примерно с апреля по май я мучался с этим способом. НО! После первого поста об игре автору пришла мысль что этот код не совсем подходит для моего проекта и решительно его стер, оставив только кодировку передвижения.
Как работает анимация?
Стерев код я решил почитать как в принципе кодируются анимации передвижения и нашел гайд по Unreal Engine 4. Но это тоже не особо помогло из-за того что в проекте используются Флипбуки (покадровая анимация) вместо скелетной и пришлось кумекать своим мозгом над данным вопросом.
И в этот момент мою сонную голову посетила мысль что наверное стоит привязать переключение кадров к нажатию клавиш и я решительно начал гуглить. К сожалению это не помогло.
Готовое решение
Поняв что помощь в интернете не найти я начал думать своей головой. И тут мне вспомнился способ переключения анимации из первого гайда который и был использован в дальнейшем. Только увеличен в 4 раза.
Если кратко, то в момент настройки вы указываете определенную величину которую клавиша передает в движок, это и считается скоростью персонажа. Значит можно отследить это значение и в момент его передачи включить изменение анимации.
Для этого я разделил передвижение персонажа по горизонтали и по вертикали и назначил клавишам значения 1 и -1 для противоположных направлений. В самом коде я выставил условие при котором сравнивается текущая скорость персонажа с нулем и если скорость выше, то нужно включать флипбук передвижения в соответствующую сторону.
Вот как выглядит этот блупринт:
А вот как он работает:
И на этом воодушевившись я пошел спать.
Если будут советы и замечания буду очень рад их выслушать. Если что учитываются и по поводу постов)