Original size 2480x3500

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

PROTECT STATUS: not protected
9

В этом лонгриде я разберу, как сделаны процедурные анимации в моей игре 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
9
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