Гусеница на Unity за 5 минут

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Вот такого результата мы сегодня достигнем.

Для начала нам нужна модель. Делать её будем в программе Blender. Для начала, просто смоделируем сегмент гусеницы.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
У меня гусеница будет полотном.

Далее, строим из сегментов что-то вроде колеса.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Поворачиваем сегменты через один, и соединяем их в колесо.

Теперь можно собирать гусеницу нужного нам размера.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост

Добавим заглушки по бокам, для внешнего вида.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Форма сегментов и размер гусеницы совсем не важен, все на ваш вкус и цвет.

Начнем делать анимацию. Выбираем объект и создаем два ключа, первый отвечает за нормальное состояние, второй управляет анимацией. У второго ключа выставляем значение 1.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
В Unity первого ключа видно не будет, только управляющий анимацией. Имена ключей можно не менять, в движке к ним обращаемся по индексу.

Когда ключ анимации выставлен на 1, заходим в режим редактирования и смещаем сегменты по кругу. Для удобства дублируем гусеницу чтобы точно знать положения сегментов.

Двигаем на 2 сегмента вперед и с помощью инструмента "магнит" подгонял вершины на свои места.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Ничего сложного, точность нужна для зацикливания анимации,если вы сделали все так как на GIF, то у вас все будет замечательно работать.

Готово. С моделью мы закончили, можно также сделать текстуру или просто материал. Переносим в движок и напишем небольшой скрипт.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Если вам нужна более точная анимация ,можно добавить промежуточные ключи.

После импорта модели, в инспекторе объекта должен появиться Skinned Mesh Renderer. В вкладке BlendShapes находится нужный нам ключ, к нему мы и будем обращаться в скрипте.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Я импортирую сразу в формате Blend.

Небольшой скрипт для управления анимации, её скорость будет зависеть от скорости самой гусеницы в игре, также как и направление анимации.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост

Если запустить игру и подвигать гусеницу мышкой, анимация будет работать. Ниже видно что анимация будто проскальзывает,и смотреть на это не совсем комфортно.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост

Так как длина сегмента гусеницы у меня равна 0.25, а двигаем мы на 2 сегмента(0.25 * 2 = 0,5) при значении ключа 1, нужно умножить магнитуду вектора движение на 2. Таким образом 1 метр анимации будет равен 1 метру передвижения в Unity.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
При импорте моделей, правильно устанавливайте масштаб.

Просто умножаем магнитуду вектора движения на 2.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост

Теперь все работает идеально

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост
Немного поправил материал в Unity.

Таким способом можно создавать анимацию разных видов гусениц, колес.

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост

YouTube - https://www.youtube.com/channel/UC_2szy5rCH69La6ESR1gOtA

Yandex Zen - https://zen.yandex.ru/id/6117c82108886f2f5afbc207

Гусеница на Unity за 5 минут Unity, Разработка, 3D моделирование, Техника, Гусеница, Gamedev, Инди игра, Blender, Инди, Гайд, Урок, Компьютерная графика, Программирование, Обучение, Анимация, Видеоигра, Гифка, Длиннопост