33 подписчика
Почему анимации в юнитевском аниматоре медленные, а твины быстрые? И вообще, что все это значит?
Относительно недавно услышал такую инфу, что вот эти вот строковые ссылки на объекты в AnimationClip в Unity - место зла, и мол юнити каждый кадр проверяет, есть ли объект по строковой ссылке НА КАЖДОЙ ДОРОЖКЕ АНИМАЦИИ! Отсюда все медленности.
Пришлось много копаться, но я все-таки отрыл информацию, как как же работает AnimationClip НА САМОМ ДЕЛЕ. Спойлер: все норм, поиск по имени действительно происходит, но только при создании объекта, а не каждый кадр. Так что все в порядке и относительно хорошо, но аниматор все равно тормоз. И раз жестокого разоблачения юнити не произошло, то поговорим о том, почему же, почему же аниматор тормоз и при чем тут DoTween?
Буду краток и просто скажу, что Animator от юнити и вся эта система анимаций - это сложная система, которая предназначена для сложных вещей. Максимально гибкая, но громоздкая. Если нужно проанимировать примитивную анимацию, то поднимать всю свалку зависимостей нет большого смысла, словно стрелять из пушки по воробьям. Это тяжело для памяти, это тяжело для процессора, а при использовании в UI - вообще заставляет перерисовывать канвас каждый кадр, а это неприятно всем.
DoTween же - это анимации при помощи кода. Тоже мощная система, непонятно, только, почему ее нет в движке по умолчанию. Во многих движках это встроенная фича. В общем, при помощи твинов можно выстроить любую некомплексную анимацию, как угодно, и с определенной скоростью, и в секвенции, и с задержкой, и как угодно. Самое приятное из этого - оптимизация. Такие анимации быстрые, легкие, гибкие, легко управляемые, и смотреть на них в том же UI - одно удовольствие.
Собственно вот и все, ставь лукаса, если хотел бы посмотреть видео с работой с DoTween!
#полезное
1 минута
20 декабря 2023