Unity 3D: 10 способов создания анимации [Tutorial]

  Рет қаралды 70,679

Emerald Powder

Emerald Powder

Күн бұрын

Пікірлер: 86
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Кстати функции Lerp есть у классов Vector3, Vector2, Quaternion, Color, Mathf.Lerp для чисел (float), про который не все знают, и material.Lerp. И почти у всех из них ещё есть MoveTowards А ещё есть 11 способ - функция SmoothDamp, которая собственно для анимации и предназначена, но я про неё совсем забыл когда делал видео..
@Legion_Sword_Games
@Legion_Sword_Games 3 жыл бұрын
Ещё можно было в аниматоре по-кадровую анимацию показать, но в этом случае с машинкой это из разряда частиц)
@denb6215
@denb6215 4 жыл бұрын
Боже где вы были раньше. Лайк и подписка, продолжайте в том же духе. Особенно по теме 2D
@n0ra754
@n0ra754 5 жыл бұрын
Это лучший канал по Unity! Хоть кто то дает много действительно полезной информации без пустой болтовни.
@glebster51
@glebster51 4 жыл бұрын
*без пустой болтовни, макарошек и временами уток)
@mrybs
@mrybs 3 жыл бұрын
Coглaceн
@BasonIndieDev
@BasonIndieDev Жыл бұрын
Какие простые и в то же время куртые вещи ты рассказываешь! ты крут парень!
@deni9652
@deni9652 4 жыл бұрын
Большое спасибо. Зашёл узнать буквально один момент в анимации, а узнал столько нового! Спасибо!!!
@NickBardier
@NickBardier 5 жыл бұрын
Спасибо большое за видео, все четко и понятно, притом что я только начал изучать unity.
@boristyulkin8951
@boristyulkin8951 5 жыл бұрын
Спасибо за еще одно полезное видео) А как ты запустил игру для проверки с разным количеством фпс?
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
QualitySettings.vSyncCount = 0; Application.targetFrameRate = fps; Не то чтобы научно точный метод измерения, но и у реальных игроков будет не ровно 5 фпс всегда а он будет скакать, если тормозит
@boristyulkin8951
@boristyulkin8951 5 жыл бұрын
@@EmeraldPowder спасибо, надеюсь я не сильно достаю вопросами под каждым вторым видео)
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Да нет конечно, наоборот говорят комменты под видео поднимают их в глазах алгоритмов ютуба)
@MaxuhaNax
@MaxuhaNax 5 жыл бұрын
Ох круто, для меня, как для новичка информация очень легкая и позновательная, спасибо!
@aloYoba
@aloYoba 3 жыл бұрын
Огромное спасибо за видео! Вы могли бы подсказать, какие из перечисленных методов (кроме доп. плагина), являются наиболее ресурсоемкми, тяжелыми для игры? И какие наиболее легкими. Или они +/- равны, и разницы в производительности не будет?
@Skyman759626
@Skyman759626 4 жыл бұрын
Ты просто шикарен
@assasinvm
@assasinvm 3 жыл бұрын
А как сделать покадровые анимации для 3D объектов (для voxel воды )?
@NewUser78654
@NewUser78654 Жыл бұрын
3.15 Трансформ позишн зависит от фпс? По моему тут Update зависит от фпс и мы без проблем можем написать Трансформ в FixedUpdate. И тогда на любых фпс объект пройдет равное расстояние. Насколько я понимаю, в Update вообще нельзя писать код расчета т.к. априори этот метод зависит от частоты экрана. Только для отображения, Где передвижение объекта с помощью вектора? Трансформ это же мгновенное перемещение, без приложения силы и прочего - итого та-же машина будет без физики, без движения по инерции и т.д. Не используется физический движок.
@mn4840
@mn4840 2 жыл бұрын
пример с поворотом и перемещением одновременно был бы полезнее.
@goto1212
@goto1212 5 жыл бұрын
а где можно узнать подробнее о системе частиц?
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Я обычно смотрю всяких ютуберов которые создают всякие прямо очень классные эффекты, смотрю что они тыкают. Там с этими частицами вроде бы всё просто, задаёшь просто скорость, форму, размер.. но вот всё это скомпоновать в красивый эффект это вот искусство. Вот к примеру кто-то на кого подписан: kzbin.infovideos
@goto1212
@goto1212 5 жыл бұрын
@@EmeraldPowder Спасибо
@boristyulkin8951
@boristyulkin8951 5 жыл бұрын
Есть еще например русский канал, ErbGameArt, тоже крутые штуки делает
@geedroponika
@geedroponika 5 жыл бұрын
здесь можно perevodvsem.ru/threads/pluralsight-unity-particle-system-fundamentals-eng-rus.6348/
@Kee1L
@Kee1L 5 жыл бұрын
Круто
@KJPiGames
@KJPiGames 4 жыл бұрын
Можно спросить если использовать аниматор в качестве корня для анимаций вес приложения под андроид будет больше или это не влияет?
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Анимации не очень много места занимают обычно, если там не сотни объектов и ключевых кадрах, вроде скелетов всяких. Но для таких сложных случаев особо альтернатив аниматору все равно нет
@Заработоквинтернете-д1л
@Заработоквинтернете-д1л 3 жыл бұрын
0:19 как так же делать уровни?
@polus818
@polus818 4 жыл бұрын
Где ты взял пункт Animation я МАКСИМУМ могу добавить animatoR то что мне не надо?
@discothunder3820
@discothunder3820 4 жыл бұрын
Сверху нажми на windows и там найдешь если ещё актуально
@xephosbot
@xephosbot 4 жыл бұрын
А можно ли при помощи системы частиц реализовать такую анимацию, когда в 2д игре подбираешь монетку и монетка как бы летит к определенной точке UI
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Тут наверное система частиц не очень подойдёт, лучше просто сразу удалять монетку из мира, спаунить в той же точке экрана на UI, и скриптом двигать к нужной точке
@xephosbot
@xephosbot 4 жыл бұрын
@@EmeraldPowder я думал о таком варианте, но мне казалось что это будет костыль и есть способ проще) Просто во многих играх такое реализовано и там монета может не одна быть. Допустим открываешь сундук с монетами и небольшая куча монет летит в сторону счётчика. Не спавнить же думаю 20 монеток.
@evagangart5035
@evagangart5035 5 жыл бұрын
Вау)
@АндрейНезенко
@АндрейНезенко 4 жыл бұрын
Наканецта я тебя нашол
@VyacheslavTamplier
@VyacheslavTamplier 4 жыл бұрын
Автор делится своими реальными наработками и делает это максимально просто и открыто. Спасибо ему за это! Редко такой альтруистический подход можно встретить на просторах ютуба. Однозначно подписка. P.S.: продолжай в том же духе!
@emche852
@emche852 5 жыл бұрын
Много полезной инфы) Удивительно, но для меня стало откровением, что материалы можно анимировать :D Всегда это через код делал, а так удобнее и прикольнее)
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Да, я вот тоже недавно узнал совершенно случайно, думал что свойства скрипта можно анимировать, максимум переключать материал, но что-то натыкал и очень удивился когда у меня цвет через материал заданый начал меняться)
@Aeralise
@Aeralise 3 жыл бұрын
Про движение через корутину, пожалуй, добавлю, что, наверное, в yield return вместо null лучше использовать new WaitForFixedUpdate(), ибо по себе понял, что при null, во-первых, скорость движения завязана на фпс, а во-вторых, если в игре можно ставить паузу (Time.timeScale = 0), то такой объект продолжит двигаться, когда как всё остальное замирает
@Kawabatushka
@Kawabatushka Жыл бұрын
Вот это да! Не представляю, как бы я этот баг исправил в своём проекте
@Kitsikoo
@Kitsikoo 2 жыл бұрын
А почему есть зависимость от фпс, если уже используется Time.deltaTime?
@MrRomanba
@MrRomanba 4 жыл бұрын
Анимация машинки через систему частиц была неожиданной :D Спасибо за видео, очень доходчиво и подробно объяснил!
@SekundaPrikola
@SekundaPrikola Жыл бұрын
Для топ даун гонок есть 3 способа 1) .AddForce (добавление силы для физики) 2) transform.Translate (перемещение через трансформацию) 3) velocity (меняет силу объекта)
@yevhen-studio
@yevhen-studio 4 жыл бұрын
можно проанимировать в какой-то внешней тулзе типа Spine, Dragonbones и импротнуть в проект, для 3д в редакторах типа blender, maya, 3dsmax можно не только в корутинах а в асинхронных методах async/await они лучше чем корутины DOTween заслуживает большего внимания так как считаю это один из лучших способов на самом деле анимации можно проанимировать в шейдере + шейдер граф уже есть новый
@Ivan_Larsen
@Ivan_Larsen 2 ай бұрын
Вау! Столько годной информации! Спасибо за видео! Хотелось бы, чтобы канал "ожил". Всего Вам наилучшего!
@ВячеславКоуров-г7ь
@ВячеславКоуров-г7ь Жыл бұрын
Вродь можно ещё InvokeRepeating'ом анимацию накодить, если божьей кары не боишься 🙃
@Giblotus
@Giblotus Жыл бұрын
Замени приписку Tutorial на обзор, и не вводи в заблуждение. В видео показаны возможности, а не руководство как пользоваться. Фраза с стиле "тут надо нажать пару кнопочек" - это не туториал.
@djiexn
@djiexn 2 жыл бұрын
спасибо Позаимствовал moveTowards способ
@mrgoodpeople
@mrgoodpeople 7 ай бұрын
Как бороться с тем, что если на объекте есть камера и компонент Rigidbody, но нужно делать ещё и вручную смещение через изменение transform.position, то не работает нормально режим интерполяции Interpolate. Всё дергается. Помогает смена режима на Extrapolate, но он не такой плавный, на глаз видны подёргивания. Знаю, что не рекомендуется вручную менять position, но вот прямо очень нужно! Думал функция MoveTowards поможет, но нет. Пытался даже через физику как-то хитро сделать, типо разовый AddForce, а потом ещё раз AddForce, но с противоположенным значение силы. Ничего не выходит...
@ПетрСуворов-б5ь
@ПетрСуворов-б5ь 6 ай бұрын
Движение камеры отдельным скриптом прописано? Может попробовать тогда её движение прописать в LateUpdate? А вообще в целом не очень понятна история со смещением.. Может подойдёт какой-то кратковременное прямое изменение rigidbody.velocity? Без общего понимания ситуации сложно подсказать конечно
@mrgoodpeople
@mrgoodpeople 6 ай бұрын
@@ПетрСуворов-б5ь Спасибо за ответ! Камера жёстко прикреплена к объекту, на котором висит Rigidbody и движется вместе с ним. Если подробнее, то речь о авиасимуляторе. Весь основной код движения находится в FixedUpdate и сделан через применение сил. Однако (так уж сложилось) ветер был сделан через ручное смещение. То есть каждый кадр в самом конце FixedUpdate дополнительно делается position +=.
@mrgoodpeople
@mrgoodpeople 6 ай бұрын
@@ПетрСуворов-б5ь то есть компонент камеры висит на том же объекте, где и компонент Rigidbody, а не является отдельным объект, поэтому скрипта для её перемещения нет, только иногда для смены вида и вращения (если нужно).
@ПетрСуворов-б5ь
@ПетрСуворов-б5ь 6 ай бұрын
@@mrgoodpeople ох, даже не знаю что посоветовать.. У самого опыта маловато) но по ощущениям вот такое вмешательство в позицию будет дёргать кадр всё равно. Может для ветра ввести коэффициент, который будет влиять на применяемую силу? Вроде как и звучит логично, и будет только физические взаимодействия
@mrgoodpeople
@mrgoodpeople 6 ай бұрын
@@ПетрСуворов-б5ь да, с ветром вообще тяжело выходит =). я почему его и сделал так через перемещение, что это было проще. А теперь уже менять сложно. Дело в том, что ветер должен давать конкретный сдвиг для движения самолёта, а не абы какой. Проще всего было контролировать это вручную. И если я попытаюсь делать это через силы (или меняя свойство velocity), то перестаёт корректно работать весь остальной код, ведь там изменится боковой угол сноса. Я конечно думал изначально сделать ветер через силы, но запутался немного как это правильно сделать =). И решил пойти коротким путём, который теперь мешает всё поменять, слишком уж много на этот position+= завязано стало. Боюсь поломать...
@Alex-hs8xj
@Alex-hs8xj 4 жыл бұрын
очень крутая подача, спасибо!
@mrkickasser1566
@mrkickasser1566 4 жыл бұрын
Это что за ведро должно быть чтобы 2д игра лагала?) Самсунг Гэлакси Эс 20 на Эксиносе что ли?))
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Это не от ведра зависит, а от игры) И от того что там в ней есть, и от того как она написана. Та же фактория какая-нибудь, или Террария, там есть чему тормозить. На мобилках вот не припомню ничего с такой сложной логикой чтобы тормозило прямо из-за неё, но думаю что-то тоже есть
@Дитякуплинова
@Дитякуплинова Жыл бұрын
Какой же ты умный
@PS-vj6jz
@PS-vj6jz 5 жыл бұрын
Тебе нужно сделать видос для самых зелёных джунов в плане VFX. Чтобы объяснить, в чем основы работы с частицами, что нужно применить/наложить, какие параметры и тд. Готов подождать:)
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Эффекты и частицы я люблю, но помню когда с VFX Graph ещё игрался очень уж долго пытался что-нибудь достаточно красивое сделать, чтобы было достойно видео) Но если придумаю классный эффект то возможно сделаю
@PS-vj6jz
@PS-vj6jz 5 жыл бұрын
Тебе нужно сделать видео уроки. Если есть желание. На самые основы. Из чего состоит анимация этих частиц, что лежит в их основе (3д объекты, если я правильно понимаю) стандартные инструменты (ноды), которыми чаще всего пользуются. Например, мы сегодня будем делать то-то, чтобы это сделать нужен такой объект, и такие ноды, каждая года отвечает за то-то. Объяснить какие у них параметры и за что отвечают. Какие нибудь стандартные фишки, эффекты. Грубо говоря с самых начал. Просто ты объясняешь для понимающих, я примерно понимаю ход мыслей, но если придумать мне задачу, я ее не сделаю.
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
@@PS-vj6jz Да, у меня не начального уровня уроки. в основном. А ноды ты имеешь ввиду эти модули которые в стандартной системе частиц, или те которые надо линиями соединять, в VFX Graph?
@PS-vj6jz
@PS-vj6jz 5 жыл бұрын
@@EmeraldPowder я с системой частиц вообще не знаком. Имел ввиду граф, думал, что это следующая стадия развития частиц в Юнити. Вот и встаёт вопрос, делать тебе их или как. Видосы для обучения.
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
@@PS-vj6jz Да, граф вроде как новый, но он ещё не до конца готов, да и у него есть некоторые ограничения. Так что обычная система частиц более практически применима
@МирославМалюсейко
@МирославМалюсейко 4 жыл бұрын
На самом деле написать мне кроме спасибо нечего, но чтоб ютюб видел, что тут классно напишу коммент.)
@ai-arts-manet
@ai-arts-manet 4 жыл бұрын
Присоединюсь к комментаторам - ваш канал один из лучших по Unity. Если будет минутка расскажите пожалуйста как можно преодолеть одну неприятную особенность анимации - если параллельно с ней идет корутина с загрузкой данных из сети (UnityWebRequest), то анимация фризится (как бы подлагивает). Можно ли как-то сделать её плавной?
@whatka4242
@whatka4242 5 жыл бұрын
Читал что анимировать через изменение position - это не лучший вариант (херит производительность). И предпочтительней использовать addForce.
@ulbossyn23
@ulbossyn23 3 жыл бұрын
Добрый вечер! А как создать игру если Windows (32-bite)? И можно создать на Unity тренажер для учеников по сборке ПК?
@renatmukhametshin7586
@renatmukhametshin7586 3 жыл бұрын
Спасибо, очень информативно. У меня возникла проблема, если данные скрипты использовать по отношению к элементам UI, то они почему-то моментально телепортируются к месту назначения, как это исправить?
@clayman4549
@clayman4549 4 жыл бұрын
Чтобы избежать геморроя с deltatime почему не показали метод FixedUpdate? Там фпс фиксированный в lerp можно обычный float засунуть и контролировать позицию
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Да, FixedUpdate можно использовать, тоже хороший вариант. Там в идеале тоже нужно домножать на Time.fixedDeltaTime, но он никогда не меняется, так что можно и просто константы пихать, и lerp будет одинаково всегда работать.
@yevhen-studio
@yevhen-studio 4 жыл бұрын
так себе идея по большей части FixedUpdate для модельных апдейтов(как физика например), я для визуала как анимации то нужно использовать обычный апдейт FixedUpdate - может быть вызван несколько раз за кадр а может быть вообще не вызван. это вообще не нужно для анимации
@psi4042
@psi4042 3 жыл бұрын
Ничего не понял, но очень интересно
@мороззадубейко
@мороззадубейко 3 жыл бұрын
классный канал!!
@unitynavigator3328
@unitynavigator3328 5 жыл бұрын
Есть знания про cel shaded? Чтобы имитировать графику как в серии borderlands.
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Видел пару примеров такого шейдера где-то, но сам не делал. Вообще шейдеры без шейдер-графа это тема интересная, и эффекты можно получить очень крутые, но там математики полно, и я сам не так много их писал. Как раз пытался недавно воссоздать что-то похожее на стиль The Legend of Zelda, но ничего внятного так и не получилось
@unitynavigator3328
@unitynavigator3328 5 жыл бұрын
@@EmeraldPowder в любом случае жду видосов. (и все еще надеюсь на 2D динамические тени - от врагов, колон и т.д.)))
@bogotoff
@bogotoff 5 жыл бұрын
Первый способ Lerp может работать нормально независимо от FPS. Попробуй сделать так: pos = Vector3.Lerp(pos, targetPos, 1 - Mathf.Exp(Mathf.Log(1 - R / 60) * 60 * Time.deltaTime)); R влияет на кривизну графика функции, нужно подбирать методом тыка. Например подставь R=1.2 чтобы было похоже на обычный лерп.
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Да, какая-то формула точно существует с которой всё будет правильно работать. Но всё равно понятнее код будет если сохранить начальное положение и через него сделать
@bogotoff
@bogotoff 5 жыл бұрын
@@EmeraldPowder Согласен, но если например хочется сделать камеру, которая плавно следует за персонажем, то лучше через эту формулу
@yevhen-studio
@yevhen-studio 4 жыл бұрын
используй DOTween и не городи костыли
🔊 Всё про звук в Unity3D [Tutorial]
21:31
Emerald Powder
Рет қаралды 98 М.
🎲 Как работает Random в играх
8:45
Emerald Powder
Рет қаралды 140 М.
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 70 МЛН
Физика в Unity - 9. Raycast
22:07
Eccentric Games
Рет қаралды 90 М.
🖽 Всё про Tilemaps в Unity 3D
20:32
Emerald Powder
Рет қаралды 219 М.
Виды 3D художников в анимации
12:56
ANIMATION CLUB
Рет қаралды 60 М.
Переход анимации персонажа - Unity легко
14:12
⚡ Всё про события в Unity 3D
21:38
Emerald Powder
Рет қаралды 105 М.
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 70 МЛН