На конференции Unite Copenhagen 2019 Mark Schoennagel рассказал о некоторых занятных аспектах демки The Heretic.
Я кое-какие интересные моменты выделил в этой статье.
Сложнее всего при создании персонажа сделать нормально лицо.
Для Heretic использовали технологию 4D. Актёр сидит, вокруг некого куча камер. Всё это дело пишется в 60 fps. Потом с использование фотограмметрии получают 3d модель. Весьма детализированный меш получается.
Для блендшейпа использовали Snappers. Глаза и рот анимируются отдельно.
Использовали DOTS и ECS систему, так что глаза и рот двигаются естественно, следуя движения головы и т.п. Хотя лично я не понимаю, зачем на это акцентировать внимание. Тоже самое можно и без ECS сделать.
Анимации и Snapper
Если разработчикам не нравится что-то в анимации, то они могут её смешать с кастомной анимацией. К примеру, для движения бровей. Здесь как раз Snapper и используется.
С выключенной анимацией движения бровей.
Subsurface scattering
К примеру, если вы светите фонариком на руки, то они просвечиваются. Можно заметить такой же эффект на коже героя, в частности, на ушах. Технология HDRP приближена к реальности в плане физики. Поэтому все эти эффекты работают автоматически.
Птичку жалко
Бостон динамически сгенерирован (compute shader).
Signed distance fields для того, чтоб указать, где птица может ползать.
Белая текстура генерируется каждый фрейм и прилегает к стене. Птица может перемещаться только по чёрной области.
Сама птица – это полностью compute shader. Там реальный меш, всё генерится в рантайме.
Warp transition
Вдохновлялись тем, как кольца образуется у стволов деревьев.
Взяли оба 3d-объекта (туннель и коридор) и нарезали на 100+ мешей.
Если у вас есть тоже самое количество вершин у двух объектов, то вы легко можете морфинг между ними настроить для шейп анимации.
Но нужно понимать, что работать это дело будет только под определённым углом.
Ну и напоследок. Если вы думаете «какой классный бек», то…на самом деле это всё полноценные объекты со своей геометрией.