Unity
Andrey Apanasik
266

Unite Copenhagen 2019: The Heretic

На конференции Unite Copenhagen 2019 Mark Schoennagel рассказал о некоторых занятных аспектах демки The Heretic. Я кое-какие интересные моменты выделил в этой статье про 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+ мешей.

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

Но нужно понимать, что работать это дело будет только под определённым углом.

Ну и напоследок. Если вы думаете «какой классный бек», то…на самом деле это всё полноценные объекты со своей геометрией.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Andrey Apanasik", "author_type": "self", "tags": ["\u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f","unity3d","unity","unite2019","unite","theheretic","heretic"], "comments": 5, "likes": 9, "favorites": 7, "is_advertisement": false, "subsite_label": "unity", "id": 75056, "is_wide": false, "is_ugc": true, "date": "Sun, 13 Oct 2019 06:46:04 +0300", "is_special": false }
0
{ "id": 75056, "author_id": 1922, "diff_limit": 1000, "urls": {"diff":"\/comments\/75056\/get","add":"\/comments\/75056\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/75056"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 170115, "last_count_and_date": null }
5 комментариев
Популярные
По порядку
2

Боже мой! Это очень круто! Жаль, конечно, что у такого потенциального движка нет ААА проектов с подобной графикой.

Ответить
0

То ли ещё будет ой-ой-ой)

Ответить
0

Мда уж. Несмотря на мощность движка, Unity чаще всего выбирают инди-разработчики для 2D проектов. Разработчики по-крупнее используют движок Unreal Engine. Жаль, что мало кто делает на Unity игры крупнее.

Ответить
0

Для UE4 очень много всего уже компьюнити наделало. В сторе кучу всего можно купить, что намного разработку ускорит. Для Unity ассетов уровня AAA или AA совсем мало.

Ответить
0

Каких например ассетов нет для Unity3d?

Ответить

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbl", "p2": "gnwc" } } } ]