⏯️ DoTween - анимации в одну строчку [Unity 3D]
В этом видео хочу рассказать про один из самых популярных плагинов для Unity 3D - DoTween. Я сам к нему отношусь двояко, так что первая половина видео будет про то для чего DO Tween нужен и как им пользоваться, а вторая - про его минусы, и про то как правильно им пользоваться, чтобы не получить потом непонятных ошибок и запутанного кода.
00:00 - Введение
00:29 - Установка и обзор
01:00 - Простые анимации
02:11 - Последовательности и параметры
04:51 - Опасности DoTween
05:54 - deltaTime
06:55 - Наложение твинов
07:59 - Уничтожение объектов
10:00 - Safe mode
14:48 - Заключение
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Поддержать канал:
btc: bc1q5mycq8x9jr7s0r63xx00xt50tjepflyhlzc09q
eth/usdt(erc20): 0xa30F22fb9898fdc8801703723cd77BE7E678ee13
emeraldpowder.github.io/ru/do...
Пікірлер: 136
Боже мой, такой качественный подход к видео, просто шик. Все максимально наглядно, доступно, лаконично и интересно. Слава богам, что есть такой человек на ютубе. Для новичков ты просто имба
@gwynbleinn
Жыл бұрын
сыглы
@The_Lord197
Жыл бұрын
"Ты"
@not_even_toxic
Жыл бұрын
@Baza2 зато из ролика узнаешь, что тебе еще нужно изучить
приятно видеть новые видео от тебя, благодарю !
Услада для Юнити уш! Это видео должно скачиваються прямо вместе с дотвином)
Да нуууу ты вернулся! Урра
неееет,так не бывает! решить познакомится с твинами, включить ютуб для поиска инфы и увидеть что крутейший канал как раз выпустил на эту тему видео. вечер удался,спасибо!
Лайк не глядя! Я слишком долго ждал хоть какого-то контент от вас!
Не теряйся пожалуйста больше, твои видео просто умопомрочительны!
Привет! Рад что ты вернулся. Видос топ, как всегда. Расскажи про AssetBundle и Addressables.
Вав!, уже и надежды не было, а тут новое видео! Ура! Ты вернулся? Дождемся ли мы от тебя ecs ? Тем более за это время оно сильно изменилось! Спасибо за как всегда отличный разбор актуального материала!
Просто огромное тебе спасибо! Вот прям вовремя ты про DoTween запилил видос и помог разобраться! Ты лучший!
как раз собирался читать документацию по дотвину. Спасибо за видео. Рад тебя видеть :)
ОН ВЕРНУЛСЯ! Спасибо, ждали
Спасибо что вернулись!
Долго ждал нового видео здесь, спасибо!
Оххх, наконец, дождались)
Урааа, ты вернулся!!! Тебя очень не хватало...
Как всегда качественный контент, респект автору! Жду новых роликов!
Наконец-то видео, опять пропадал!! Спасибо, интересно!
Один из лучших разработчиков снова с нами! Жду ещë видео от тебя)
Ура, с возвращением!)
Я DoTween знаю уже давненько) По этому, просто ставлю лайк и пишу этот комментарий что бы поддержать твоё возвращение :)
Автор, ты такой редкий человек который качественно всё делает, не пропадай так сильно, пожалуйста
Ура, наконец то новое видео! 👍
О фига се, ты живой. Хотел уже несколько раз отписаться от канала ибо думал что всё, заброшен, дождался наконец =)
Наконец то , возвращения легенды
оно живое!
Новое видео как праздник
О! Ты вернулся, как раз этой темой начал интересоваться, спасибо за видео. Ну и надеюсь у тебя все в порядке, держись там
Наконец то новое видео. Крууууто.
Наконец ты вернулся 🔥 как бальзам на душу. В будущих видео хотелось бы увидеть разбор Zenject и не просто bindings, а Signalbuses, Factories, проброс нужных зависимостей при инстанциации в рантайме, там ещё вроде декоратор какой-то есть. Также можно самые крутые и практичные фишки Odin рассмотреть. Можно также addressables захватить 🔥
Благодарю за новые видео)
спасибо большое! Это то что я искал
Спасибо за интересную информацию :)
Ура!!! Новое видео)
Спасибо, про safe mode не знал что его можно отключить и будет по людски
Лучший канал по Unity на русском) Сам использую Lean Tween, каких-то проблем пока не было, хотя я и не юзаю их где попало. Инструментарий крутой и нужный в любом проекте, при должном подходе упростит жизнь кратно
@EmeraldPowder
Жыл бұрын
Спасибо! Да, есть мнение что LeanTween решает некоторые из тех проблем что я упоминал в видео, но почему-то DoTween всё равно гораздо популярнее, так что для видео выбрал его
Блин, только сейчас увидел, что ты про дутвин видяву запилил. Уже имею опыт использования дутвина, но, конечно, открытий после этого видео много) Хочу ещё сказать спасибо за твое видео про генерацию чанков, это мне помогло прописать спавн биомов со своими чанками в своем 2д раннере
Огромное спасибо! Доделал игру, а на телефоне постоянно выкидывает, оказывается сейв мод меня насиловал, 3 дня не мог найти причину. Включил видео чисто под еду, а по факту решил проблему. Ты лучший
Видос хорош. Как раз планирую заняться освоением DoTween и Cinemachine. Но вот что действительно было бы интересно, так это услышать твое мнение про Odin и его минусы, если найдешь) Если выпустишь про него видео, то с удовольствием расскажу о том, с чем мы на работе столкнулись)
Бро ты вернулся!!!
Ура, оно вышло!!
Красава, вернулся
Аааааааа легенда вернулась!
Вернулся!
Бля , спасибо тебе огромное , ты просто топ , я бы хотел что б ты чаще выпускал видосы , ты топ , и твои видео очень помогли мне в начале , и сейчас я основал свою студию 😀
Ураааа! Не зря колокольчик поставил))
ух ты круто! Спасибо!
Я только вчера пересматривал то видео про анимации, и думал когда же уже выйдет новое видео на канале
ооо, сколько лет сколько зим)
сделай урок про тени в UI и всякие шейдеры по типу десатцрации и размытия)
Спасибо! )
This is a pretty plan as well as big project.There is a big opportunity here.Go ahead.
Крутое видео
Спасибо за уроки по Юнити
УРА!!!
Думаю будет полезен обзор по Cinemachine!
Спасибо. :]
Благодарю за освещение минусов и плюсов, теперь стоит дважды подумать перед использованием, а нужно ли оно в данном проекте?!
Спасибо за разбор, видео даёт понять надо ли оно для какой-то несложной программной анимации или проще накостылить своё перемещение картинки например таском. Автор, если работал с Cinemachine, пожалуйста сделай подобный разбор, буду очень благодарен!
Я не видел новых видосов уже 10 тысяч лет
Лучший канал по Unity на русском и не только! Очень хочется узнать у вас про архитектуру проекта, правильному взаимодействию игровых объектов между собой. Например я, если нет возможности вручную устанавливать ссылки на другие объекты, использую отдельный статик-класс, который в свойствах хранит ссылки на нужные объекты MonoBehaviour, устанавливающиеся в методах Awake() и Start() соответствующих скриптов. В моих проектах, которые даже мелкими назвать сложно, такой подход работает и позволяет избегать дорогостоящих вызовов FindObject() и GetComponent(), и в принципе получается очень удобно. Но я также понимаю, что по мере роста проекта, в том классе может находиться уже несколько сотен свойств, следить за ними будет трудно, а известные мне альтернативы (например, Singleton или Generic-Singleton) не кажутся сильно лучше простого статик-класса.
@berklium
Жыл бұрын
Привет, существует много разных архитектур, каждый выбирает под свой случай, поэтому как здесь посоветовать. Если ты делаешь небольшие проекты, то можно продолжать и так, а если собираешься делать что-то крупно-маштабное, можешь посмотреть в сторону Zenject + MVP
я тут недавно решил освоить геймдев после веб-разработки. У меня вот есть такие "хотелки": 1) Пак полезных библиотек/ассетов для новичков, без которых не обходится ни один разработчик. 2) Обзор ESC (желательно на примере DOTS и какого-нибудь популярного кастомного решения), а также реальное мнение о его необходимости для инди разработчиков (чтобы понимать, насколько большие проекты можно делать БЕЗ него). 3) Обзор новой официальной сетевой библиотеки NetCode.
В общем вывод такой, что за простой, на первый взгляд, библиотекой кроется гибкий функционал, большинство параметров которых стоят по умолчанию. Из-за чего и возникает ложное ощущение простоты, после чего теряется бдительность. То есть легко выстрелить себе в ногу. Минус состоит в том, что в руки дают одну маленькую красную кнопку, по нажатию которой запускаются ядерные ракеты, то есть большой функционал скрывающийся за простыми вызовами. То есть совет, давать себе во всём полный отчёт, если на первый взгляд простой функционал используется на продакшене, то быть максимально ознакомленным с внутренним функционалом и отдавать себе отчёт, что происходит под капотом при вызове всего лишь одной функции.
Привет! Подскажи, кубики как на видео это просто модельки или ты их как то с шейдерами делал и тд? Интересно как делают всякие кубики типа желе 2048, но найти пока не могу..(
Про SafeMode - изначально там этой настройки не было, все падало в Warning. И проблема в том, что в крупном проекте, когда не хочется пропускать неиспользуемые поля, в варнингах будет 999 и более сообщение которые несут 0 полезной информации. В итоге все эти ошибки дутвина всегда пропадали. Я так намучался с этим дерьмом, что нашел автора в твиттере и попросил запилить его фичу, которая бы позволяла переключать Warning в Errors - автор DoTween даже предположить не мог, что с его либой есть такая проблема.
С одной стороны твин это удобно, с другой стороны такой функционал очень просто самому написать и в случае чего расширять свой код гораздо удобней.
Ура
Хорошее видео, но мне кажется немного не правильный посыл. Автором описаны ошибки совершаемые разработчиком как минус использования библиотеки, которая не рассчитана на поиск таких неточностей и недоделок. Ведь используя какую-то сетевую библиотеку и сформировав неправильный запрос так-же можно уронить приложение или получить неправильный результат. Да и написав свой код можно такого наворотить и с анимациями и с таймерами и т.д. Лучше было бы сделать упор на то что нужно всегда быть внимательным используя любую библиотеку облегчающую разработку и не ленится всегда использовать всевозможные проверки. К примеру хорошо было замечено что твин при создании возвращает свой экземпляр и на любые создаваемые анимации нужно получать этот экземпляр и хранить его например в некотором списке, чтоб в любой момент можно было остановить и очистить все анимации принадлежащие некоторой части кода. Жалко что видео выходят так редко 😢, люблю вас смотреть.
привет, можешь рассказать как использовать CUDA ядра в юнити, а то cum shaidar их не использует?
Было бы интересно послушать про probuilder
@guiltyshoes
Жыл бұрын
Вместо пробилдера лучше посмотреть на csg либы
Расскажи про AssetBundle и Addressables.
Как добиться такой скорости компиляции кода (не уверен насчёт операции, когда после изменения кода переходишь в юнити)? У меня при любых изменениях кода, даже пробел - загрузка в юнити по секунд 10-20 даже в пустом проекте с одним классом. ССД хороший, процессор тоже
Ты живой! А нет, видос старый и записан 26 февраля 22...
ураааааааааааа
Очень нужен рассказ про zenject
Я пишу код либо без плагинов, либо не знаю какие использую, так как в ничего из стандартной версии юнити не менял. Поэтому интересно какие плагины ты используешь чаще всего, то есть самые полезные и универсальные.
@not_even_toxic
Жыл бұрын
Еще посмотри при Odin inspector. Я закидываю его в каждый проект. Он позволяет оформить удобный и функциональный инспектор просто за счёт нескольких атрибутов и позволяет делать окна редактора с минимальными затратами времени. Короче, идеальный инструмент чтобы привести проект в порядок и наполнить редактор новым функционалом
видосы бы почаще, цены бы тебе не было)
У тебя голос очень похож на MaxAsabin'а!
Привет! мб расскажешь про UniRx?
Почему время в панели задач не идет? Там всегда 13:37 Он что записал все в течении одной минуты)))
Я Dotween использую для открытия/закрытия дверей и шкафчиков, получается это плохая практика? И нужно использовать что-то другое?
@EmeraldPowder
11 ай бұрын
Само по себе не плохо, если нет проблем с физикой, и каких-то ошибок из-за этого. Но если потом в проекте начнёт логика усложняться, и обнаружишь что 8 часов искал почему дверь не открывается, а там просто в AppendCallback раз в час падал ексепшен, и из-за этого вся анимация переставала выполняться, то лучше следующий день потратить на то чтобы переделать всю эту логику без дутвина
Что-то я не понял про ексепшены: разве при try...catch не генерируется такой же эксепшн как и без него? Или тут речь идет о том что с safe mode разрабы забивают на эксепшены и не пытаются их как-то избегать, что ведет к увеличению их количества и ухудшению производительности? Update: похоже разобрался в чем проблема, прочитав оригинал статьи футажи из которой используются в видосе: "Why Exceptions should be Exceptional" by mattwarren. Дело в том что автор ролика пишет стандартную try...catch конструкцию, хотя в статье рекомендуют использовать if...else где это возможно и не нужен конкретный функционал из эксепшена. Т.е. когда автор говорит что "try...catch" ничего не стоит, тут видимо должно быть "if...else ничего не стоит". Толи автор не до конца понял смысл статьи, толи просто оговорился, толи автор вообще про другое говорил...
Подскажи плиз, как в дотвине прописать не в течении которого времени анимация должна проиграться, а скорость анимации? Пробовал расстояние делить на время. Но как то криво получалось
@The_Mavrik
Жыл бұрын
К примеру на 15:27 чтоб верхние и нижние карты с одинаковой скоростью летели в одну точку
@woki4170
Жыл бұрын
@@The_Mavrik .SetSpeedBased()
@The_Mavrik
Жыл бұрын
@@woki4170 спс
Здрасте, где пропадал???
Оч круто! Я в принципе сторонник самописных скриптовых анимаций, но было интересно послушать ту часть про подкапотку. Прошу, расскажите про среды разработки. В своём собственном сравнении и опыте. Я сижу на вс2019 и с одной стороны норм, с другой совершенно не доволен. Хочется светлую тему что бы глаза не вытекали и что бы были подсказки (в вс2019 в светлой теме всё как в нутпаде черное по белому, поэтому темную использую что бы быстро отличать методы от полей и тп). Хочется послушать про пыхшторм, насколько он прожорливее вээса от мелкомягких и приятнее ли, и есть ли нормальная светлая тема. Спасибо
@dogek473
Жыл бұрын
И вижлы есть светлая тема.
@veiterio
Жыл бұрын
Ставь вижлу 2022 года!
@kensteelyhuntergames484
Жыл бұрын
@@veiterio вижла2019 у меня уже стоит, вс код тоже пробовал, там гемора больше. Светлая тема в вижле2019 отстой (намного меньше подсветок чем в тёмной). В других IDE есть подсказки помимо цвета текста, как минимум дополнительные блоки, что может упростить восприятие в светлой теме. Либо еще что то, о чем я не знаю, например обводка текста?
@giwigiwi506
Жыл бұрын
насколько я знаю пыхшторм только для пыхи, но никак не для юнити с его шарпом. Возможно ты имел ввиду райдер?
@kensteelyhuntergames484
Жыл бұрын
@@veiterio пробовал 2022 года, оверлоад шибко. у меня 3570к, тянет 2019 года, но 2022 уже заметны необоснованные тормоза. 2022 ставил потому что он поддерживает некоторые плагины, через которые я сам писал свою белую тему, но это всё бред собачий, всё неудобно. В этом плане майкрософт опять сосёт бибу и отстаёт от нормальных софтоделов. имхо
комментарий для продвижения канала
Маловероятно что прочтут но напишу у ду твина есть ещё очень одновременно удобная и зубодробительная штука. А именно ду виртуал кол дилей. Что это такое и зачем оно надо?! Всё просто, ет по сути твин что ждёт указаное вами время и вызывает колбек так вот, эта штука очень и очень опасна. Ибо как не сложно догадаться ду твин считается отдельно и живёт в своей оболочке которая даже если и киляет твины то немного не сразу, и если так получится что вот, то что должно выполниться по истечению срока не выполняется, то это вам даст как минимум ANR или нул реф или инвалидиндекс... , общем много чего и будет вообще не понятно откуда это чудо лезет и как например логика из одной сцены крашется когда запущена другая сцена, ибо мы привыкли что юнити GC будет сам подчищать а игры наши много кода хендлят монобехами и пока код там таких ситуаций нет. А ду твин живёт отдельно от этого всего, и мало того что срабатывает не сразу ещё и отловить подобное только плейтестом можно. Потому рекомендую даже если и использовать такое то обарачивайте проверками хотя бы.
@alukardrol2
Жыл бұрын
Такой вопрос. А если этому коду добавить SetTarget и привязать к gameObject. То всеравно будет жить после перехода с одной сцены на другую? Ну и это считай как делать дондестрой корутин раннер. Что бы юзать корутины не только у монобехов. За таким надо следить и понимать что ты делаешь. А не бездумно юзать все)
@uneedeMain
Жыл бұрын
Там суть в том что можете дестроить гейм обджект из которого вы стартовали твин сколько угодно, но этот вызов будет жить отдельно, и когда он выполниться то попробует вызвать код что у него в комплите не в зависимости от чего либо. Например такие проблемы я встречал при переходех между сценами когда ду виртуалы пытались что-то сделать уже вообще в другой сцене. Единственный способ избежать проблем или проверки в комплите, или в ручную твин дисторить конкретный в дестроях классов гед его вы запускали. И как просил автор я просто указал пример того где я видел проблемы к которым приводило использование ду твина. А так понятно что можно сделать себе проблем чем угодно и не только твинами.( Если не понимать что делаешь, потому ет просто пример проблем которые я встречал и что непосредственно связана с дутвином)
@alukardrol2
Жыл бұрын
@@uneedeMain ну тут вообщем работает правило как с подписками, особенно статическими. Не отписался, сам дурак)
7месяцев спустя...
Да
а я ведь буквально вчера скачал этот плагин
Спасибо за видео! Хотелось бы поподробнее про интересные плюшки...
Бро, делай видео чаще пожалуйста, ты лучший и у тебя последнее видео было очень давно, надеюсь ты "вернулся")) Удачи
Ох сколько навозился с DoTween.. Хороший плагин, но моя главная претензия к нему, это к его концепции -- анимация в коде. В продакшене такая картина: аниматор садится к программисту и говорит что и как должно выглядеть, и программист пишет код, по факту вручную модифицируя свойства объекта... Это ужасно) В больших играх от того и прижился подход, когда используют всякие scaleform (это по сути встроенный в движок flash player) делая интерфейсы на флеше или html. В итоге написал свой плагин TSS - есть на ассетсторе. Его суть в том, чтобы отдать анимацию UI и прочего в руки дизайнеров, но чтобы это было удобнее, чем использовать аниматор юнити. kzread.info/dash/bejne/n3eMsKqqoJfIm5M.html kzread.info/dash/bejne/aKqJwcqTf6m3obA.html
@Obelardos2
Жыл бұрын
Еще в DoTween сложно сделать что-то комплексное. И огромное количество переходов в плеймод, чтобы в рантайме смотреть, че там получилось.
8 месяцев делал видео
Видео отличное, но немного конструктивной критики: Не совсем согласен с автором про минусы - такие минусы можно приписать вообще любой библиотеке... То, что разработчик не указал одно значение, пытается использовать другое, не думает о том, что происходит переписывание и т.д. - это проблема не библиотеки, а самого программиста. Что мешает мне ошибиться при загрузке аддрессеблов, забыть забиндить интерфейс в зенжекте, не указать timespan при использовании observable в unirx и т.д.? Это будет моя и только моя ошибка, но никак не этих библиотек.
@EmeraldPowder
Жыл бұрын
Ошибка будет в итоге конечно виной того кто библиотеку использует, и ему и придётся её фиксить. Но тут вопрос в том насколько библиотека дружелюбна, и насколько её архитектура помогает ошибки находить и исправлять. Могло бы быть так, например, что привязанный gameObject это обязательный параметр, и тогда если его не укажешь код бы даже не скомпилился, и я бы сразу увидел ошибку. Могло бы оно кидать ексепшн и останавливать игру, тоже вариант, пока играл бы обязательно заметил. Но библиоткеа выводит варнинг со списком всех ошибок когда я выхожу из плеймода. Что тоже конечно можно прочитать, разобраться, найти через Ctrl+F это место, и пофиксить, но мне лично уже гораздо сложнее
8 месяцев спустя:
юнитевские аниматоры бьют про производительности, это основная причина появления таких твинов, ибо у твина програмные анимации.
@EmeraldPowder
Жыл бұрын
Да, когда аниматоров много то они совсем не быстрые. Но думаю всё таки дутвин выбирают больше за простоту и удобство. Если начинает лагать из-за аниматоров, и на сцене несколько сотен-тысяч обьектов, наверное всё таки лучше своё что-то написать, более узконаправленное
@neverworld8815
Жыл бұрын
@@EmeraldPowder Дело не во всех аниматорах, покадровые через аниматор достаточно быстрые, но использование Transform сильно бьёт по производительности, частично это решает dots, но он ещё не в той стадии что бы был применим для продакшена, в итоге я для себя сделал костыль, который в редакторе создаёт раскадровку для IK анимаций с указанной частотой кадров, но это тоже так себе вариант, во первых теряется плавность, во вторых пожирается много оперативки, особенно если делать большое количество кадров
из за тебя я когда нибудь начну делать игры!!!! (я C# разработчик для десктопа)
Обзор моего любимого юнити плагина от любимого ютуб разработчика :)
Однажды я чинил баг и случайно залез в исходники ду твина... С тех пор меня начинает подташнивать при одной только мысли что это гавно просто лежит в проекте и даже если не используется. На практике большую часть анимаций можно сделать через AnimationClip. Если реально нужна процедурная анимация (и без нее никак) тогда велкам корутина + интерполяция по AnumationCurve. Если вам кажется это сложным и вообще "многакоданадописать" - вынесите это в отдельный компонент и переиспользуйте - привет КОП :)
@DarkIllusoire
Жыл бұрын
Какая-то влажная история. На всякий случай, пустил слезу
@Fatalix3d
Жыл бұрын
И что же ты там такого ужасного увидел?
@tttrrrrt1229
Жыл бұрын
Я не стану пускать слезу - подожду до вечера, чтобы как следует порыдать в подушку.
@LinDahai88
Жыл бұрын
@@Fatalix3d Гавнокод. Срач в названиях переменных, закомментированный код, выравнивание как из жопы, куча копипасты и магических чисел. Вобщем все классические антипаттерны которые можно было собрать автор собрал... Как буд-то специально ачивки коллекционировал :)
@neverworld8815
Жыл бұрын
Мда видимо тебя обидели