{"id":3970,"url":"\/distributions\/3970\/click?bit=1&hash=41be0a9663b08290bcba2f0b50da4e2ab6189f69a21ab1b8161de21dc640e9a2","title":"\u041a\u0430\u043a \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043f\u0430\u0437\u043b\u044b, \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0438?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"d36a44f7-e311-5ac9-95ed-4a8208550d01","isPaidAndBannersEnabled":false}

Делаем процедурные повороты тела — краткий гайд Статьи редакции

Чтобы голова, туловище и ноги поворачивались последовательно.

Разработчик из Moon Studios Джейкоб Уолберг опубликовал в твиттере тред, в котором рассказал про создание процедурной анимации поворота тела для прямоходящих существ. Это свойство позволяет сделать передвижение более реалистичным. Автор не только показал эффект, но и представил код, который можно использовать в своей работе.

У такой анимации очень простой риг — базовые gameObjects ведут себя как кости. Они, в свою очередь, выполняют родительскую функцию для примитивов, из которых собран объект.

Ниже представлены глобальные переменные, которые нужны для проекта. Здесь есть сериализуемый класс AnimatedPart, который понадобится для анимирования частей тела. Для этого нужно использовать скорость (в данном случае Rigidbody) и yawDelta (разницу между текущим вращением по Y и последним вращением по Y).

Ниже представлена логика, которая нужна для анимирования фигуры.

Позже Уолберг заметил ошибку и добавил исправление к коду.

Нужно включить кватернион с именем startRotation в класс AnimatedPart и установить его в начале. А затем добавить процедурное вращение к начальному вращению
Это настройки в самом редакторе

Эту технику можно применить и к анимированным персонажам. Просто умножьте процедурное вращение на текущее вращение кости.

Более плавный вариант
0
16 комментариев
Написать комментарий...

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Remus Croft

Более подробно и интересно о приемах процедурной анимации можно посмотреть здесь. 
https://youtu.be/LNidsMesxSE

Ответить
Развернуть ветку
Владимир Семыкин
Автор

И вот текстовая версия на всякий случай: https://dtf.ru/79680

Ответить
Развернуть ветку
Dr. Hakim

Блин, вот вроде и спасибо, что принёс такое, но оформлять код картинками... За такое бить надо.

Ответить
Развернуть ветку
Максим 1UP

Спасибо, очень годно. Надеюсь в будущем пригодится ;3

Ответить
Развернуть ветку
SoulRiets

Да

Ответить
Развернуть ветку
T3H Monad
Юнити

Спасибо, не надо.(без негатива)

Ответить
Развернуть ветку
Международный колос

Лол, там метод применим к любому движку, если тебе это непонятно, то и правда не надо :)

Ответить
Развернуть ветку
T3H Monad

Нихуя ты умный.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
arghan3
Чтобы голова, туловище и ноги поворачивались последовательно

Сразу вспоминается Soulbringer - отец процедуральных поворотов частей тела.

Ответить
Развернуть ветку
Иван Колчин

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

Ответить
Развернуть ветку
Международный колос

Чтобы в инспекторе установить значения потом, потыкать в рантайме разные значения 🤔

Ответить
Развернуть ветку
Anatei Kim

"[SerializableField] private"🤔?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Антон Антонов

В каком смысле?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Один человек и ещё 431 человек

Да. Каждый НПС имеет уникальную анимацию на основе своего архетипа. Имеет свой разум, который развивается, может поступить в университет, или построить свой бизнес, или создать свою игру, или выбраться наружу и захватить разум игрока, или написать свою симфонию. Что в этом плохого?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Читать все 16 комментариев
null