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

в 8:02, , рубрики: Дизайн игр, Работа с 3D-графикой, разработка игр, симуляция физики, ткань, физика в играх
Почему персонажи видеоигр почти никогда не раздеваются - 1

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

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

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

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

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

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

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

«В фильмах алгоритм снова и снова выполняет итерации одной и той же формулы, чтобы прийти к чему-то надёжному. В противном случае меш взрывается на части, расщепляется и растягивается, а топология становится непостоянной». Хэнс описал работающую в реальном времени технологию как «непредсказуемую». «Ни одна студия не рискнёт тем, чтобы вся сцена была испорчена из-за „взорвавшейся“ одежды. Слишком много времени и затрат для такого риска». Кроме того, для расчётов требуется куча памяти и вычислительной мощности — это чересчур много для несущественного, краткого момента, который запросто можно сымитировать, как в случае с 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, находился в команде, решавшей эту задачу. Современные игровые движки не поддерживают настоящую симуляцию ткани в реальном времени, поэтому Naughty Dog пришлось использовать подручные материалы: более простую технику деформации геометрии под названием BlendShape, которая используется во многих играх для деформации лиц и других мешей в соответствии с эмоциями и другими визуально отличающимися состояниями. Они решали эту задачу, перемещая модели поверхностей, называемые «скинами» или «мешами» — по сути это то, что мы видим в игре — вдоль набора взаимосвязанных «костей» и «шарниров».

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

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

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

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

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

Автор: PatientZero

Источник

* - обязательные к заполнению поля