Инди Ryan Ash
2 236

Game Dev Porn :: Modern Animation

В закладки

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

В недрах Ubisoft куют будущее motion capture, две ветки, и делятся им, с примерами, детальным описанием процесса, возможных ям и даже кодом, чуть-чуть.

IK Rig [Ubisoft]⁣

Александр Березняк рассказывает об IK Rig - инструменте для ухода от классичиского ригинга к более абстрактному, параметризированному и ориентирующемуся в игровом мире и динамическом окружении. Он использует одну анимацию ходьбы на куче разных объектов разного скейла с независимыми друг от друга скейлом скорости анимации, root motion и размера модели, подстраиванию к разной высоте поверхности и к разным ригам.

Motion Matching [Ubisoft]

Kristjan Zadziuk (Assassin's Creed, Splinter Cell: Blacklist) делится опытом имплементации motion matching - перебора отрезков записанных мокапов алгоритмом и подбором ближайшей подходящей в противовес тяжёлому перегруженному blend tree. Это на выходе даёт гораздо более плавное, живое движение, особенно если фидить ему строго задуманные элементы, но требует гораздо меньше времени и ресурсов для реализации (но есть проблемы с оптимизацией - решаемые, да).

Simon Clavet, работавший над For Honor, показывает как motion matching применяли в собственно For Honor и делится ещё кучей нюансов.

It's a new type of animation system, with three advantages:

- High quality
- Controllable responsiveness
- Minimal manual work

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

GDC Vault | Motion Graphs | Motion Fields

AI and Full Body Animation in DOOM [id Software]

Коты из id под Doom собрали что-то похожее на IK Rig, о котором выше - динамически скейлящиеся \ тюнящиеся \ параметризируемые фуллбади анимации, которыми управляет AI. Результат вы и так знаете, но возможно не присматривались подробно (а стоит). Jake Campbell повествует. Ну и тут достаточно детально, чтобы подумать об имплементации подобного у себя в проекте - очень экономит ресурсы, повышает fidelity и развязывает руки собственно аниматорам.

DeepMimic

А братишки из лучшего геймерского фида в рунете @CyberValhalla (подписывайтесь, там правда хорошо) тем временем делятся офигенным из научной среды. Сотрудники Калифорнийского университета в Беркли (США) и Университета Британской Колумбии (Канада) обучают actor'ов адаптивному движению в физическом пространстве со взаимодействием с другими actor'ами на основе мокап рефов с помощью нейросетей. У анимаций появляются вариации, они подстраиваются под разную среду, кучу разных ригов можно обучить движению в одной стилистике.

Смотрим на то, как злые учёные забрасывают бедных роботов кубиками и проникаемся; параллельно думаем, как эффективнее связать все плюшки из Motion Matching, IK Rig и DeepMimic // что больше подойдёт на нашем проекте если что-то вообще подойдёт. Звука там нет, фоном неплохо заходит Julian Winding - The Demon Dance.

Extra | Project | Blog

Всем привет. Я Эш. Тестирую новый формат малой кровью, надеюсь, вам понравилось и вы нашли драйв на копать дальше / пробовать / строить.

Корневая идея простая - периодически какие-то материалы из @GameDev Porn собираются в аккуратные логические цепочки. Предоставление последних в одном месте с рехашем, но адаптацией / правкой старых текстов кажется потенциально нужным шагом. So - пробуем.

Если вам интересны подобное насилие над великим RU и геймдев - заходите, у нас уютно и, вроде, довольно полезно. Живёт чатка, где люди делятся опытом и помогают друг другу, крутится собственная фабрика идей, собирает пыль полезный в джемах тулсет, а ещё всё аккуратно и по полочкам, всегда можно уйти в дайв по заинтересовавших теме / формату.

Что-то как-то где-то так. Тепла вам.

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

Написать
{ "author_name": "Ryan Ash", "author_type": "self", "tags": [], "comments": 23, "likes": 49, "favorites": 74, "is_advertisement": false, "subsite_label": "indie", "id": 27398, "is_wide": false, "is_ugc": true, "date": "Wed, 19 Sep 2018 21:51:21 +0300" }
{ "id": 27398, "author_id": 82258, "diff_limit": 1000, "urls": {"diff":"\/comments\/27398\/get","add":"\/comments\/27398\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/27398"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "possessions": [] }

23 комментария 23 комм.

Популярные

По порядку

Написать комментарий...
12

Открыл статью, пrочитав "porn". Где зизги?😐

Ответить
1

Первое видео, 19:30

Ответить
3

А еще Unity анонсировали Kinematica - свою систему Motion Matching-а, которую им делает инженер, который этим занимался в Юбисофте (он упоминается во втором видео). Когда доделает - новый анимационные технологии сможет пощупать каждый)
Вот тут на 38 минуте про эту систему:
https://youtu.be/3omw9dLkrR8?t=2257

Ответить
2

Огонь! Спасибо, отложил себе.

Ответить
1

Что же, для меня это реально "porn", часто в новой игре я смотрю именно на анимацию, а не на картинку и часто я сильно разочарован этим моментом. Ты собираешь все элементы игры воедино и вроде она ничего, но потом видишь отвратную анимацию, и у тебя всё опадает.

Ответить
1

А я самое главное посмотрел ролик и повосторгался квадратноголовыми собакой и динозавром :). П.С. даже стал игру сочинять в этом графическом виде ;)

Ответить
1

Минимализм + стиль кстати прекрасная связка, вполне отлично. )

Ответить
1

Ещё одно звено в цепочку.

Ответить
0

Прекрасное, спасибо!

Ответить
1

Надеюсь, все местные идиоты посмотрят каждое видео от и до и перестанут орать про гениальный motion matching в The Last of Us 2. Хотя нет, не надеюсь.

Ответить
1

крутяк! :-)

Ответить
0

Крутое, thx!

Ответить
1

не понял о чём статья.

Разве этого не делали раньше? Например IK для того что бы ноги не проваливались в ступеньки?

Формат статьи ужасен:
"Корневая идея простая - периодически какие-то материалы из @GameDev Porn собираются в аккуратные логические цепочки. Предоставление последних в одном месте с рехашем, но адаптацией / правкой старых текстов кажется потенциально нужным шагом. So - пробуем."

Мля, может я не проснулся.

Ответить
0

не понял о чём статья.

О новом техе в пайплайне анимации.
- Motion matching - поиск анимации брутфорсом исходя из геймплейных требований vs ручные blend tree, которые используются в большей части индустрии сейчас и накладывают кучу ограничений
- IK Rig - построение упрощённого универсального рига для кучи соответствующих базовым требованиям (двуногость?..) скелеток -> возможность реюзать анимации, изменяя их под требования геймплея \ окружения (и да, это сильно более крутая и полезная, особенно для инди, штука, чем простая foot IK, которая используется действительно давно)
- похожий тех от id, варпящий и подбирающий анимации от требования геймплея
- DeepMimic, проект с использованием нейросетей для построения реалистичных анимаций

Может и не проснулся, чо. Хотя стиль речи у меня тяжеловат для чтения, есть такое. :)

Ответить
0

Э, так и подумал что есть куча заготовок вскормленных нейросети. А нейросеть в реальном времени будет работать? Т е прям на мобильнике подстраиваться под окружение?

Например идёт персонаж, перед ним дом хобита, персонаж раз такой, пригнулся, и продолжает идти. И это на мобильнике с нейросетью?

Без нейросети такое делают и в реальном времени и на мобиле, а у вас тоже?

Ответить
0

Нейросеть - только последнее, и там самое экспериментальное. Но хэй, никто же не говорит, что нужно это гонять в риалтайме - вполне можно запекать. Гораздо важнее перестать делать руками то, что можно автоматизировать - сборку blend tree и вариации анимаций.

Опять же, тут речь про bleeding edge, причём вообще мобилы? Тот же motion matching по производительности очень тяжёлый пока, оптимизация его - одна из ключевых задач при имплементации.

Ответить
–1

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

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

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

Вот и весь хайп.

Ответить
0

определённые части скелета

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

В случае с IK Rig одна из ключевых фишек в том, что анимации (и их параметризация) работают на уровне игрового кода, а не на уровне скелета. I.e. можно использовать одну IK Rig структуру для 50 разных скелетов разного размера с разными параметрами, и они все будут выглядеть уникально и адекватно. С текущим техом этого не сделать, под каждый скелет нужно пилить свои деревья и переходы, это дохуища работы.

Motion matching вообще решает другую проблему. Не "как заставить перса пригибаться при входе в пещеру", а "как наращивать контент в игре AAA уровня, где блендов сотни, а деревья отжирают у команды неадекватное количество человеко-часов при каждом изменении". И да, это проблема не для мобилок, но для консолей \ пк - вполне.

Ответить
0

"и да, это сильно более крутая и полезная, особенно для ИНДИ, штука, чем простая foot IK" это не вы написали?

далее ""как наращивать контент в игре AAA уровня"

вот и весь салам!

Разное количество костей, в Unity это реализовано для гуманоидов 4 года назад.

Ответить
0

Я. Про IK Rig. Контекст, хэй.
Пост про 4 технологии вокруг пайплайна анимации, работающие с разных сторон. Не нужно всё в один котёл, может?

Ответить
0

Вот такое у нас инди из 20 человек...

Ответить
0

Прямой эфир

[ { "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": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "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, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "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" } } } ]
В лутбоксы начали включать багфиксы
Подписаться на push-уведомления