Формат коротких видео:
Нам нужна модель. Делать её будем в программе Blender. Для начала, просто смоделируем сегмент гусеницы.
Далее, строим из сегментов что-то вроде колеса.
Теперь можно собирать гусеницу нужного нам размера.
Добавим заглушки по бокам, для внешнего вида.
Начнем делать анимацию. Выбираем объект и создаем два ключа, первый отвечает за нормальное состояние, второй управляет анимацией. У второго ключа выставляем значение 1.
Когда ключ анимации выставлен на 1, заходим в режим редактирования и смещаем сегменты по кругу. Для удобства дублируем гусеницу чтобы точно знать положения сегментов.
Двигаем на 2 сегмента вперед и с помощью инструмента "магнит" подгонял вершины на свои места.
Готово. С моделью мы закончили, можно также сделать текстуру или просто материал. Переносим в движок и напишем небольшой скрипт.
После импорта модели, в инспекторе объекта должен появиться Skinned Mesh Renderer. В вкладке BlendShapes находится нужный нам ключ, к нему мы и будем обращаться в скрипте.
Небольшой скрипт для управления анимации, её скорость будет зависеть от скорости самой гусеницы в игре, также как и направление анимации.
Если запустить игру и подвигать гусеницу мышкой, анимация будет работать. Ниже видно что анимация будто проскальзывает,и смотреть на это не совсем комфортно.
Длина сегмента гусеницы у меня равна 0.25, а двигаем мы на 2 сегмента(0.25 * 2=0,5) при значении ключа 1, нужно умножить магнитуду вектора движение на 2. Таким образом 1 метр анимации будет равен 1 метру передвижения в Unity.
Просто умножаем магнитуду вектора движения на 2.
Теперь все работает идеально
Таким способом можно создавать анимацию разных видов гусениц, колес.
Комментарии (10)
GennPen
26.03.2022 10:00+4Почему от передних колес не остаются следы?
VadimCoder
26.03.2022 10:56+2Это не колеса, а катки.
Следы должны оставатся от гусениц, гусеницы занимают место всех трех катков, и автор решил, что след будет оставатся от начала гусениц, а не от конца.
z3ro
27.03.2022 08:02+2хм, тогда если они остановятся и поедут назад, то следы могут быть не совсем правильные
ChemodenStudio Автор
28.03.2022 13:58Касаемо гусеницы, line renderer который рисует следы перемещается в концы в зависимости от направления.С одиночными "колесами" все обстоит немного по другому.
ChemodenStudio Автор
28.03.2022 13:56Вообще вы правы)) Этот момент был уже исправен ,но к сожалению после публикации))
EdeLwisS
27.03.2022 08:02проще наверное сделать Нормал мэп+ текстуру и ее анимировать
ChemodenStudio Автор
28.03.2022 14:00Да,безусловно.Но такую форму гусеницы нормал мапой не выдавишь.
aamonster
Похоже, это были очень длинные 5 минут...