Всем привет.
Ну что, кажется настало время рассказывать ту самую тру стори о настоящей разработке игры во всей её красе, и начать хотелось бы с анимирования травы, на что, спойлер, я впустую потратил целых четыре дня своей жизни.
Анимация внутри Unity
Что мы имеем - просто траву в несколько слоев для осуществления колыханий которой я решил подыскать соответствующую программу.
В первую очередь выбор пал на Anima2d - встроенный в Unity3d инструмент для костной анимации, который выглядел очень достойно, да и опыт работы с программой у меня уже был, ведь с помощью неё была реализована анимация главного героя
Повозившись пару часов в инструментарии, я таки заставил вполне лицеприятно колыхаться траву, но просадки FPS всё усугубили. Из-за плохой оптимизации, даже включение “костей” только в поле видимости игрока, не улучшало ситуацию, так что этот способ мне не подошел.
Анимация в DragonBones
Следующем вариантом был DragonBones – та же скелетная анимация, но с последующим портированием оной в Unity, что довольно трудоёмко – один поиск плагинов и подходящего Json чего стоят (о нём как-нибудь в другой раз).
Из проблем видимых, можно отметить плохое управление анимацией при помощи скриптов, с которыми было проблематично разбираться, а вот с той же оптимизацией стало немного лучше, но просадки всё ещё наличествовали.
Ручная покадровая рисовка
Кратко - спустя 12 нарисованных кадров, я понял, что этого очень мало для плавной анимации, так что осознав масштаб работы (3 слоя по 45-60кадров), я всё бросил.
Шейдеры
С самого начала было понятно, что этот вариант самый лучший - шейдеры мощная вещь и способна на многое, но увы для её освоения требуются много сил и навыков. Я попросту понятия не имею, что это такое и как оно работает. Сколько бы советов на формах не перечитал, сколько бы видео на ютубе не пересмотрел, все равно, эта тема остается для меня темной лошадкой.
В конечном счете я вернулся к изначальному варианту и оставил траву без анимации.
P.S. Не зацикливайтесь на мелочах в своих играх, в первую очередь геймплей, а доработки потом. Удачи вам в разработке игры вашей мечты.
kahi4
Вот это поворот. Вообще понятно, что статья скорее иллюстрация к правилу Паретто (ну или выводу из нее: не тратить кучу времени на мелочи), но "не осилил шейдеры и бросил идею" как-то странно отображает геймдев. Я думал, что геймдев это про нахождение самых неожиданных и хитрых решений, а не бросание дел (по крайней мере в рамках хабра).
P.S. третья ссылка в гугле Да, это на cocos2d, но не сложно перенести
avvor
Да поворот крутой) Представил что такой фильм бы был например — зомби захватили планету, герои фильма одно попробовали, другое, и потом говорят — вот есть 3-й вариант, он 100% сработает и в самом разгаре фильма, на самом интересном месте такие — да не! слишком сложно это всё, пофиг на этих зомби! Конец фильма)