Хабрахабр

[Перевод] Почему персонажи видеоигр почти никогда не раздеваются

Видеоигры быстро становятся изумительным симулякром реальности. Мы можем блуждать по невообразимым мирам, общаться с правдоподобными персонажами и наносить нацистам убедительно выглядящие побои. Тем не менее, видеоигры всё ещё испытывают проблемы со снятием одежды.

На первый взгляд кажется, что он стянул рубашку, как это сделал бы любой человек, демонстрируя невидимому оператору заработанные в боях кубики пресса. Посмотрите на сцену из игры 2010 года Mass Effect 2 с раздевающимся Джейкобом. Игра переключилась с одетой на раздетую модель с помощью иллюзии, заставляющей игрока подумать, что он снимает рубашку.
А теперь приглядитесь внимательно: к моменту, когда его руки движутся по телу, «снимая» рубашку, её уже нет.

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

Когда игрок запускает Uncharted 4 и видит Нейтана Дрейка, одетого в его традиционный пуловер с закатанными рукавами, то на самом деле это не голая модель персонажа с накинутым на него объектом-«рубашкой». Персонажи видеоигр не надевают одежду так, как это делаем мы. Для того, чтобы по-настоящему показать, как он надевает и снимает её, разработчики должны отдельно симулировать и одежду, и Дрейка, что пока является нерешённой проблемой. Его одежда приклеена к нему как часть тела.

Мы сделаем анимацию снятия и надевания одежды“. Разговоры о раздевании в играх начались после твита разработчика игр Тома Фрэнсиса, написавшего «Интересно, сколько раз и в скольких командах разработчиков директор однажды говорил „Мы создадим первую игру, в которой это возможно. Нам до этой технологии работать ещё 400 лет“». А технические специалисты или аниматоры отвечали ему: „Извините, но нет.

«С точки зрения физики сложно симулировать мягкие объекты, плавно оборачивающиеся вокруг сложной геометрии, анимация вручную неэффективна по времени, кроме того, в конце концов, овчинка не стоит выделки», — рассказал он. Как ответил Фрэнсис Kotaku в своём письме, проблема многогранна. «Раздевание никогда не было серьёзной частью AAA-игр, поэтому качественное решение этой задачи не стоило вложения труда разработчиков».

Это возможно в анимированных 3D-фильмах, потому что там используется совершенно другой набор инструментов для полной симуляции и повторной симуляции деформации ткани, пока она, наконец, не попадёт в готовый кадр. «Даже если компания сможет позволить себе такие ресурсы и время, симуляция реальной одежды с учётом сил и энергии потребует для создания красивого и стабильного результата потребует множества итераций», — сообщил нам в письме технический художник Blizzard Хэнс Годард. Для работающих в реальном времени игр такая роскошь недоступна.

В противном случае меш взрывается на части, расщепляется и растягивается, а топология становится непостоянной». «В фильмах алгоритм снова и снова выполняет итерации одной и той же формулы, чтобы прийти к чему-то надёжному. «Ни одна студия не рискнёт тем, чтобы вся сцена была испорчена из-за „взорвавшейся“ одежды. Хэнс описал работающую в реальном времени технологию как «непредсказуемую». Кроме того, для расчётов требуется куча памяти и вычислительной мощности — это чересчур много для несущественного, краткого момента, который запросто можно сымитировать, как в случае с Mass Effect 2. Слишком много времени и затрат для такого риска».

Даже такие незначительные детали, как карманы, вызывают проблемы у разработчиков игр. В игре Ubisoft 2014 года Watch Dogs главный персонаж Эйден Пирс бродит по городу, засунув руки в карманы. Директор по анимации Колин Грэм, в видео о закулисье игры признался, что никогда не видел, чтобы кто-нибудь пытался сделать такое в видеоигре, потому что почти невозможно заставить руки оставаться в карманах при свободном движении ткани вместе с персонажем. В результате команда разработчиков создала устройство с верёвкой, которое свисало с шеи мокап-актёра, чтобы его руки всегда находились в правильном положении.

«Однажды утром ты запускашь сборку, открываешь свой уровень для итерации и тестирования, появляешься на карте и видишь, что пальцы Эйдена шевелятся в воздухе, вместо того, чтобы мирно лежать в карманах», рассказывает бывший дизайнер Ubisoft Шон Нунан. Но даже при этом в процессе разработки возникали проблемы.

Когда персонаж Тайлер ведёт разговор по телефону, Эйден спокойно наблюдает за ней, в то время как его пальцы дёргаются рядом с курткой, как будто он исполняет концерт Баха. Одну из таких странных сборок даже использовали в одном из трейлеров игры трейлеров игры, в котором демонстрировался игровой персонаж актрисы Айши Тайлер.

«И это жутко». «Лично мне кажется, что самый важный вывод здесь заключается существовании довольно высокой вероятности того, что блуждая по Чикаго, Эйден на самом деле перебирает пальцами в карманах», — говорит Нунан.

NSFW: в видео есть сцены с обнажением.

Возьмём для примера The Witcher 3 — симулятор секс-сцен, на базе которого построена 100-часовая эпичная фэнтезийная RPG. Другие разработчики используют хитрые обходные пути. Однако создание тканей, с которыми бы могли взаимодействовать персонажи, не было приоритетной задачей в списке CD Projekt. Секс, как вы могли слышать, часто связан с раздеванием. Награда за такой объём усилий оказалась бы слишком малой. Технический директор по графике игры Кшиштоф Кжищчин сообщил нам, что команде разработчиков, кроме всего прочего, пришлось бы вручную создавать новые анимации персонажей и текстуры под наружной одеждой. Они использовали магию. Каким же стало решение? В одной из сцен одна из главных пассий Геральта Йеннифер призывает неизвестные силы, чтобы заставить свою одежду исчезнуть.

«Когда Йеннифер „магическим образом снимает одежду“ в одной из романтических сцен The Witcher 3, на самом деле это довольно простой, но тем не менее отличный трюк с включением прозрачности на основании анимированной маски текстур», — рассказывает Кжищчин. Но на самом деле её одежда не пропадает. Она находится на героине на протяжении всей сцены, просто скрыта прозрачностью». «Физически её одежда не пропадает с тела.

В частности, настоящим чудом выглядит снятие пиджака братом Дрейка в Uncharted 4. Теперь, когда мы знаем, какие проблемы вызывает одежда в играх, нас ещё больше впечатляют сцены раздевания, которые выглядят по-настоящему естественными без ведьмовской магии или хитрых переключений камеры.

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

Современные игровые движки не поддерживают настоящую симуляцию ткани в реальном времени, поэтому Naughty Dog пришлось использовать подручные материалы: более простую технику деформации геометрии под названием BlendShape, которая используется во многих играх для деформации лиц и других мешей в соответствии с эмоциями и другими визуально отличающимися состояниями. Хэнс Годард, работавший тогда в Naughty Dog, находился в команде, решавшей эту задачу. Они решали эту задачу, перемещая модели поверхностей, называемые «скинами» или «мешами» — по сути это то, что мы видим в игре — вдоль набора взаимосвязанных «костей» и «шарниров».

использование BlendShape для решения проблемы одежды не было простой задачей. По словам Годарда. Поскольку в BlendShape используется множество поз, их применение в стандартном виде потребовало бы слишком высокой нагрузки на память. Для применения BlendShape необходимо, чтобы каждая возможная поза объекта была создана заранее и запечена в игру до времени её выполнения. С другой стороны, создание мешей для каждого контура пиджака было бы «очень сложной и мучительной работой».

«Допустим, у нас есть симуляция из 1000 кадров», — говорит он, описывая симулируемый объект из ткани. Но в какой-то момент Годарда и его коллег осенило: можно алгоритмически генерировать позы пиджака и использовать инструмент, который Годард изначально написал для анимирования лиц. «И это полностью аналогично лицу с тысячей BlendShapes».

Если искусственный интеллект определял, что, допустим, совпадение равно всего 87%, то немедленно перерабатывал кадр. Остальным занялось машинное обучение: оно анализировало созданные скульптингом или отсканированные позы, чтобы определить, движется ли ткань естественным образом. «В игре всё происходит быстро, и поскольку результат соответствует настоящим формам в 99,99% случаев, никто не замечает разницы», — говорит Годард.

«Ни одна студия не использовала аналогичный способ», — сказал он. И только решив задачу, Годард понял, что сделал то, чего не смог никто другой. И я рассказал всё, абсолютно всё. «Я знаю это, потому что все они связывались со мной, чтобы обсудить эту тему. Теперь это становится отраслевым стандартом».

И вполне заслуженно. «Я горжусь этим», — сказал нам Хэнс. Когда вы в следующий раз увидите, как персонаж небрежно снимает с себя пиджак, то будете знать, что благодарить за это нужно Годарда.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть