Овца умеет бегать. Теперь бы научить её нормально стоять

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

В «Оооооовцах!» я отдельно занялся анимацией животных в 3D-прототипе. Здесь хочется показать именно эту часть работы: как получить из модели существо, которое убедительно стоит, ходит и убегает. Переправа подождёт — сначала проверим, чем овца на неё наступает.

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

Модель есть. Нормальные ноги пока не прилагаются

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

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

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

Отдельная проверка поз собаки в быстром движении. Кадры разработки.
Отдельная проверка поз собаки в быстром движении. Кадры разработки.

Стоять — тоже действие

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

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

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

Лай собаки проверялся как отдельное действие, с переходом обратно к движению.
Лай собаки проверялся как отдельное действие, с переходом обратно к движению.

Собаке разрешили присесть

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

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

Эти кадры — из проверок в Unity, не обещание финальной анимации или готовой мобильной версии. На телефоне этот набор ещё предстоит проверить.

Масштаб животных на рабочей поляне: здесь анимация должна оставаться понятной издалека.
Масштаб животных на рабочей поляне: здесь анимация должна оставаться понятной издалека.

Что замечаешь раньше: плохой бег или слишком идеальный покой?

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

Пока моя цель простая: чтобы в движении было понятно, кто спокоен, кто идёт, а кто испугался. Чтобы овца не превращалась в наклейку, которую двигают по траве.

А вы замечаете такие вещи в небольших играх? Что сильнее выбивает: скользящие лапы при беге или персонажи, которые в покое стоят совершенно неподвижно?

33
11