Блог онлайн школы Пиксель

Как сделать анимацию дверей в Unity (Юнити)

Привет, друзья! В этом уроке мы разберем, как сделать анимацию объекта в Unity. В качестве примера мы попробуем запрограммировать открытие дверей по кнопке и исчезающие платформы.

Мы взяли модель персонажа из наших материалов.

Открытие двери


Создадим кнопку. Для этого создаем Cube. Настраиваем его размеры. Далее в окне проекта ПКМ Create - Materials создаем материал для кнопки. Перемещаем материал на кнопку.

как сделать анимацию в unity

Далее настроим коллайдер на кнопке. Ставим галку isTrigger. Это нужно для того, чтобы персонаж мог проходить сквозь границы коллайдера кнопки.

как сделать анимацию в unity 2d

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

как сделать анимацию в юнити

Создаем анимацию открытия двери. Выбираем в иерархии дверь. Нажимаем на вкладку Window - Animation - Animation.

Нажимаем кнопку записи, первая точка — исходная позиция двери (закрыта), она будет в нуле. Вторая — конечная позиция двери (открыта) — примерно на 40 секундах.

как сделать дверь юнити

Снимаем кнопку записи и закрываем окно анимации.

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

как создать анимацию в unity

В инспекторе снимаем галку напротив Loop Time.

2d анимация в unity

Если мы сейчас запустим Юнити, анимация сразу запустится, а нам нужно только при нажатии на кнопку. Нам нужно настроить анимацию, для этого переходим во вкладку Animator. У нас уже есть автоматически настроенная связь, но она нам не подходит.

unity анимация объекта

Удаляем блок door.

unity анимация спрайтов

Создаем пустой блок.

анимация в unity

Перемещаем из окна проекта нашу анимацию. Связь мы прокладывать в аниматоре не будем, сделаем это у скрипта.

анимация в юнити

Создаем скрипт, называем его Button. Это скрипт для персонажа, который будет перемещать стену, то есть включать анимацию.

анимация в юнити 2д

Объявляем аниматор. Создаем метод OnTriggerEnter, в котором будем делать проверку: если зашел в коллайдер наш персонаж, то включаем анимацию. Сохраняем и переходим в Юнити.

дверь юнити

Перемещаем скрипт на персонажа и в поле аnim добавляем стену.

unity дверь

Выбираем кнопку. Создаем тег but1. Назначаем его кнопке. Запускаем и проверяем.

unity открытие двери

Исчезающие платформы


Создаем куб, делаем из него платформу. Ставим рядом с Plane.

как сделать платформу unity

Метод OntriggerEnter не подойдет, так как, если мы поставим галку isTrigger, персонаж провалится. Будем использовать метод OnCollisionEnter. Создаем скрипт. В нем пишем метод OnCollisionEnter. В нем прописываем Destroy, который будет уничтожать объект, в скобках указываем, какой объект он будет уничтожать и время, через которое он это выполнит.

unity движение платформы

Перемещаем скрипт на платформу и проверяем.

На этом все. Если вы хотите получше изучить Юнити, научиться делать разнообразную анимацию и разрабатывать крутые игры с помощью скриптов на C#, приходите на продвинутый курс в школу Pixel.

Бесплатные видеоуроки Unity для детей