Original size 2480x3500

Процедурные анимации в игре Solitformer

PROTECT STATUS: not protected

В этом лонгриде я разберу, как сделаны процедурные анимации в моей игре Solitformer.

Все методы, которые я использовал, представлены в моём курсе по процедурным анимациям в UE — https://pro.deziiign.com/project/2dd114f331494f38a73b01b0df138e54

Solitformer это 3D платформер-головоломка, уровни в которой состоят из игральных карт. Каждое наше прикосновение к ним собирает их в нашу руку, но делать это нужно по правилам пасьянса, иначе карта будет нас выталкивать.

Если заинтересовались, то смело можете скачать и поиграть, раскладывать пасьянс очень медитативное занятие —  https://uhbif.itch.io/solitformer

Вот ссылка на проект на старом портфолио — https://portfolio.hse.ru/Project/188688, а вот на лонгрид на новом — https://hsedesign.ru/project/4059d7746b354803b9e30defbed9ba1c. Также предлагаю вам посмотреть трейлер:

Анимированный фон

big
Original size 1920x1080

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

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

При этом с помощью изменение скорости, размера, поворота, позиции и цветов этих мешей можно очень легко разнообразить небо, и за очень короткий срок сделать разные анимации даже для очень большой игры.

Анимация персонажа

Original size 1100x615

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

1. Поворот персонажа во время прыжка сделан через создание поворота на постоянном подключении. В качестве зависимой переменной код берём направление полёта, поэтом поворот ощущается приятной обратной обратной связью на твой прыжок.

2. Сжатие при приземлении и растяжение при прыжке куба сделаны с помощью анимации параметра Scale через Timelin-ы. В случае начала другого Timelin-а предыдущий прерывается и обнуляется. Также оно работает и при отпрыгивании от вертикальных карт.

3. Бирюзовые линии поднимания карты также сделаны с помощью Timelin-ов.

4. Анимированный материал куба сделан просто анимацией в материале с помощью ноды Panner.

Дополнительные анимации

Original size 1200x675

Вот ещё один пример простой, но достаточно эффектной анимации — это карта, которая сразу подбирается и вместе с тем сразу тебя подбрасывает. Она сделана с помощью обычного зацикленного Timelin-а, однако хорошо смотрится и интуитивно передаёт функцию этой карты.

Original size 1000x563

И также я использовал по факту процедурные анимации для того, чтобы сделать более интересное меню. По сути я просто добавил на камеру Rotating Movement Component и логику, которая каждые несколько секунд сменяет направления поворота. Благодаря этому ракурс всегда меняется и никогда не повторяется, чем легко гипнотизирует игрока.

Также в меню есть анимации в самом интерфейсе — выделения кнопок, но по факту это стандартные анимации в Widget Blueprints UE, а не процедурные. Поэтому в курсе они не разобраны.

Вывод:

В проекте я использовал множество процедурных анимаций, которые добавили много живости и обратной связи игре, а также в целом повысили ощущение от проекта и его «дороговизну».

Проект получил оценку 10 из 10, а также множество похвалы и лайков от комиссии. А также в последствии стал финалистом конкурса HSE CREATIVE OPEN. Думаю не в последнюю очередь проект заслужил всего этого благодаря процедурным анимациям.

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

Процедурные анимации в игре Solitformer
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more