Процедурная анимация

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

Я всегда восхищался процедурной анимацией в таких играх, как Limbo, Inside, Little Nightmares и в тот же момент думал, как это сложно и что ее делают какие-то гении. Когда сам начал делать процедурную ходьбу, я понял, что гениальности-то у меня и нет😂 Я конкретно встрял на моменте, когда нужно переставлять ноги по очереди в зигзагообразном порядке.

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

В итоге, результатом я очень доволен. Осталось только отполишить, но это потом. На радостях сделал еще поворот тела относительно поверхности, куда наступает робот. Что думаете, пойдет?
Пишу о разработке игр и 3D Арте на канале @Cod3Art

2424
27 комментариев

Два важных момента в процедурной анимации:

Избавиться от ощущения волочения, когда кажется, что конечности следуют за хозяином, а не наоборот.

Добавить вторичные и третичные движения.

Первое делается сдвигом якорей по направлению движения, а второе - обыгрыванием влияния центра масс в наклонах и смещении корпуса.

https://cloud.mail.ru/public/3tmR/8mheAzkAX

4
2
Ответить

Выглядит прям очень круто!

1
Ответить

пока не понимаю как такого достичь

Ответить

Неплохо, неплохо, а у меня так получилось 😉

5
Ответить

красота!

1
Ответить

Армия роботов. Там делал бы небольшую паузу от рандома перед стартом анимации

Ответить

Ноги волочатся за персонажем. Там рейкамиы потому что ровно к нему статично привязаны.

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

Ну и наклон тела небольшой потом проанимировать процедурно. Задавать наклон тела в зависимости от скорости всего персонажа в целом. Это будет попроще.

1
Ответить