Первая статья от фанеростроя на Хабре, но третья в цикле про 3D. Этот слегка краткий обзор немножко затянулся во времени, но мы постараемся наверстать упущенное и познакомить вас с самой интересной частью работы 3Dшника. Сегодня речь пойдёт о 3D в играх и фильмах. Тем не менее это две довольно большие темы, о которых мы постараемся рассказать кратко и интересно. И казалось бы, как это сделать в двух словах, чтоб не вылететь с хабра сразу за мракобесие, но…
Автор, биотехнолог Людмила Хигерович. Зам. руководителя сообщества Фанерострой.
На самом деле всё просто: профессиональное 3D-моделирование для игр и фильмов имеет очень много общего: это и наличие физики, и многослойные текстуры, и использование сканирования… В общем, обо всём по порядку.

Памятка:
пост рассчитан на тех, кто только собирается познакомиться с миром 3D-графики. Некоторые расшифровки терминов могут быть неточными или намеренно упрощёнными для лучшего понимания вопроса. Если вы считаете себя специалистом, не стесняйтесь дополнять наш текст в комментариях!

 

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


Давным давно в далёкой галактике…


История становления 3D в играх и фильмах весьма туманна и загадочна, посему мы оставим её почти без внимания. Скажем только, что первые 3D модели были созданы ещё в 1971 году, имитация 3D в играх (гонках и dungeon-бродилках) в 70-80х, 3D заставки в играх появились ещё в 1980х — 90х в Японии к играм серии Final Fantasy для новых приставок. А первые 3D-рендеры для видеофильмов уже в 80-х. Со временем пороги мощности вычислительной техники увеличивались, и модели, и рендеры становились более проработанными, а в фильмах начали использовать вставки с «графикой» для экономии средств на практических эффектах и безопасности актёров. И только в 1984 году вышел первый полностью анимационный 3D мультфильм-короткометражка — Приключения Андрэ и пчёлки Уолли.

Первый 3D-мультфильм от Lucasfilm (будущая Pixar):

Чуть погодя вышли и первые «полновесные» картины: История игрушек (1995г) и Final Fantasy: Духи внутри нас (2001). Можно сказать, что с этого началась эпоха 3D на больших экранах.

Историю игрушек Вы наверняка помните, и помните, какими пластилиновыми они казались (хотя должны быть пластиковыми). А вот как Вам Последняя фантазия 2001-го от Хиронобу Сакагучи с её фотореализмом? Конечно, сейчас избалованный зритель сразу заметит разницу между живым человеком и кадром из «финалки», но тогда при просмотре этого иногда возникало ощущение, что это — живые актеры.


Кадр Final Fantasy 2001

С играми чуть сложнее. Какая именно игра была пионером по части 3D как неотъемлемой части геймплея?  Можно вспомнить псевдо 3D шутеры или игры с уровнями коридорами в юрском парке на денди.  Можно вспомнить и легендарный квейк 1996 года, или  всю ту же серию Последней фантазии. А может и нет — до неё были симуляторы гонок от японских студий, данж и хоррор игры для компьютеров и консолей, и даже космические стрелялки. Правда, в большинстве своём цели были реализованы в виде цветных пикселей, собранных в рой, тем не менее — игрок мог двигаться в трёхосном пространстве. Но, уникальность Quake, это конечно моё почтение, ибо использование текстурированных полигональных моделей вместо спрайтов, это воистину сильно.


Не фанатка Quake, но и её я не смогла обойти стороной в своё время.

Так или иначе, сказать можно точно только одно – до сих пор 3D-шные игры по большей части обходят своих плоских товарищей по продажам и популярности у массовой аудитории (не без исключений, конечно же). Что поделать – люди по большей части ориентируются на зрение больше, чем на другие органы чувств вместе взятые.


О, эти знаменитые треугольные… глаза, ставшие катализатором пубертата у мальчишек 1996 года). Многие помнят Лару Крофт именно такой!

Да, поначалу графика в играх не блистала красотой и заметно проигрывала «киношной», а всё потому что производители старались максимально оптимизировать свой продукт под наибольшее количество пользователей. А добыть мощную машину, способную потянуть хотя бы Tomb raider, было не так уж и просто. Обладатели консолей с эксклюзивами в 90е вообще были небожителями в глазах сверстников. Некоторые даже делали на этом свои копейки, сдавая друзьям игрушки в аренду.


Разработчики буквально каждый год совершенствовали визуальную составляющую. Half-life 1998-го года сейчас выглядит скромно, но поверьте, тогда эта графика считалась бомбической.

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

Общее и частное

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

Вероятно, разницы в подготовке моделей для игр и фильмов через десять лет вообще не будет, так как технический прогресс и не думает останавливаться, всё время повышая производительность техники и одновременно запросы зрителей/игроков на улучшение графической части. Это именно тот классический замкнутый круг, где спрос рождает предложение, а это повышает спрос, и всё начинается сначала и экстраполируется в степени бесконечность.
Что же у них общего сейчас?

▍ Риггинг


Я выношу его на первый план, так как в зависимости от стиля конечного результата количество и качество текстур и полигонов может сильно разниться.


Процесс отригговывания персонажа с официального туториала движка Unity. Источник/

Риггинг – это «скелет», «кости» модели, с помощью которых можно двигать всю модель и отдельные её элементы. Разумеется, это не единственный способ анимации – можно и вручную двигать части моделей (с помощью инструментов перемещения – т.н. Gizmo есть почти в каждой программе), а то и вообще применять управляемую деформацию с помощью заранее сохранённых форм (morphing tool).

Однако риггинг значительно упрощает эту задачу сразу по нескольким причинам.

1. Иерархия костей. Все кости в скелете модели строго упорядочены по важности. «Родительская» кость (dummy, root, god bone) двигает всю модель целиком (вернее, весь скелет, «кожа» или меш к которому привязывается при риггинге). Следом за ней идут тазовая кость для нижней части тела, и базовая кость позвоночника для верхней. Далее идут кости шеи, поясов верхних и нижних конечностей или, если того требует длина тела или необходима плавность движений, дополнительные кости позвоночника и так далее. Главное, при риггинге «с нуля» не запутаться с положением и статусом «родительских» и «дочерних» костей. В лучшем случае вашу модельку перекосит при анимации, в худшем – вылетит программа, и всю работу придётся начинать сначала. К счастью, базовые риги предустановлены во многих программах, и даже в инструментах игровых движков есть образцы скелетов для ориентирования.

2. Имена костей. Не все движки поддерживают имена в читаемом формате, однако большинство из существующих интуитивно понятны даже начинающему пользователю с начальным уровнем английского: spine, hip, neck, forearm, elbow, knee twist, bip head и т.д. Посмотрев предустановленные скелеты и зная «строение» хотя бы одного из них, вы легко узнаете, что к чему и в другой программе.

3. Универсальность скелета. Собственно, это самое главное преимущество риггинга. Благодаря системе имён и иерархии костей, а также общему плану строения, мы можем использовать один и тот же скелет с незначительными изменениями для разных персонажей одного типа. Так, отриговав и сделав анимацию ходьбы для одного человечка, мы можем применить эту же анимацию на другого человечка с этим же скелетом. Но вот тут начинаются небольшие различия: не каждая программа «подхватит» «чужие» имена костей и анимации. Однако в рамках одной программы или движка универсальность работает отлично и широко используется как в играх для облегчения работы дизайнеров (и уменьшения занимаемого пространства) и в фильмах для создания crowd – толпы фоновых персонажей, массовки, движущейся куда-то по своему плану на фоне за спинами главных героев. Стоит отметить, что не все анимации подходят для скелетов разного типа. Так бипедальный (двуногий) риггинг может и примет анимации для тетрапедального скелета (собаки, например), но из-за разного базового положения анимации будут сильно «ломаться». Но если подогнать модельку под базовую форму «чужого» скелета… Впрочем, сообщество мододелов (особенно среди поклонников серии The Elder scrolls) этим занимается уже очень давно и прочно – подгоняет сторонние модели под внутриигровые скелеты, на которые игра сама «навешивает» соответствующие скелету анимации. Этот же эффект используют в захвате движений для записи видео и анимаций для игр – на актера надевают специальные маркеры, соответствующие костям, и снимают с нескольких ракурсов.
В своё время я участвовала в создании модов для TES V. В том числе доводилось адаптировать драконов из других игр, так как базовый набор из 4 рептилий плюс 3 уникальных — это как-то маловато для игры, где центральным сюжетным элементом являются драконы. Конечно, в DLC добавили ещё 3 вида и ещё одного уникального, но и этого недостаточно. Так что на фоне бесконечных перекрасок «ванильных» монстров портированные из других игр вызывали бурю эмоций. Пока модераторы Nexusmod (крупнейшего сайта с модами) не запретили выпуск модов с модельками из других игр, конечно. На видео — виверна из игры Dark souls, адаптированная на скелет Skyrim (можете заметить, что голова больше, а хвост короче, чем у оригинала) и анимированная внутриигровыми средствами:


Та же участь постигла и дракона из Doom: resurrection of evil, Маледикта. Кстати, в Скайриме он неплохо смотрелся как даэдрическое чудовище).

4. Расширяемость. Есть так называемые базовые скелеты (обычно те самые предустановленные), содержащие только основные кости (спины, таза, рук, ног, шеи и базовую кость головы), и расширенные, включающие дополнительные кости: кости лица (к этому мы вернёмся), дополнительные кости для плавности сгиба суставов (т.н.twist/ joint коти, или adj), кости причёски, поворота глаз, челюсти, кости для движения свободно висящей одежды (юбки, плащи) и external anatomy – дополнительные кости внешней анатомии, не предусмотренные для всех персонажей: крылья, хвосты, плавники и т.п. Грубо говоря, создав базовый скелет для человека и сделав для него анимацию, вы также можете применять этот же скелет для драконида, и он также будет использовать те же анимации ходьбы. Но с дополнительными костями крыльев и хвоста вы можете добавить анимацию только для них, например, чтобы при беге крылья немного колыхались, а хвост вилял из стороны в сторону. При этом базовая анимация бега не пострадает, и дополнительной нагрузки при беге человечка не возникнет. Да, в модах на какой-нибудь Скайрим это тоже сделали. Заодно добавили кости бюста и… прочего.


Базовый и расширенный скелеты персонажа.

5. Настраиваемый вес. Развесовка (weight drawing) это процесс «привязки» рига к мешу (материалу) модели. Чем она лучше сделана, тем красивее модель двигается. Многие программы поддерживают совместное влияние нескольких костей (обычно до 4) на один участок с разной «силой» действия. Так, между двумя соседними костями (например, кость плеча и предплечья) обычно делают влияние 50 на 50, но при наличии джоинт костей большая часть влияния отдаётся ей (примерно 50%), и только остатки отдаются другим костям, и то с различными положениями различается и влияние. Обычно веса «красят» по принципу градиента – по мере удаления от целевой кости её влияние ослабевает. Впрочем, для каждого конкретного случая, особенно в кинематографе, веса приходится настраивать отдельно.


Процесс привязки модели к костям и настройки влияния называется drawing weight или drawing skin в разных программах. Где-то это можно сделать автоматически, а где-то придётся повозиться. На скриншоте красным обозначено максимальное влияние от выбранной кости, синим — минимальное.

6. Физика. Есть много проявлений имитации физики в играх и производстве кино – от разрушаемых на частицы камней и невидимых объектов, создающих препятствие для персонажа (collide), и заканчивая колыханием причёски на ветру и красиво развевающегося плаща при удачной атаке. Применительно к риггингу, физика – реакция отдельных костей на движение. Движок Havok почти целиком строил свою физику на костях и привязанных к ним маркерах физики, определяющих степень свободы (возможные углы поворота кости) и «чувствительность» физики. Новые программы же поддерживают физику частиц (создающую реалистичные дым и пыль) и физику всего меша, принимая за реагирующую единицу вершину в многополигональном полотне (например, система DForce физики одежды в Daz 3D). Кроме того, физика может реагировать на специальные маркеры и вне модели – расставленные на локации эффекты ветра, физику других моделей в сцене и т.д. В общем это также облегчает работу моделлера и аниматора, и создаёт эффект реализма в играх и фильмах. Ну или усиливает сюрреализм, если вместо эффекта гравитации заставить часть модели взлететь вверх.


Это не моделлер так красиво уронил шелковое платье, это физический движок dForce сымитировал падение ткани на модельку тела. Картинка с официального сайта Daz studio. Кстати, именно такую физику сейчас используют большинство студий 3D-мультипликации для имитации физики одежды.

▍ Текстуры


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


Автоматически сгенерированные UV карты редко бывают адекватными, по крайней мере, хорошими.

Но в первую очередь у вашей модели должна быть UV map или карта наложения – она определяет, какая часть текстурной карты и как накладывается на определённый участок меша модели. Есть, конечно, карты, модели и ситуации, которым не нужны «ювэшки», но это отдельная песня.

1. Diffuse map или карта цвета. Она определяет базовые цвета Вашей модели. Каким будет цвет лица, одежды, базовый цвет есть у доспехов, оружия и чешуи. Во многих случаях это основная текстура, нужная почти всем и почти всегда. Зачастую диффузные карты также содержат в себе информацию о частичной прозрачности или альфа-канал.


Diffuse map определяет цвет модели

2. Normal map и Bump map – карты имитации рельефа. В одних случаях нормаль и бамп это один и тот же файл, в других – две разных, применяемых одновременно, текстурных карт. Обычно Normal map – это типичная карта нормалей (перпендикуляров к поверхности в определённой точке поверхности или вершине модели). Выглядит это как на картинке ниже, а создаётся в идеале путём увеличения количества полигонов (т.е. разрешения поверхности, т.н. сделать хайполи – high poly – версию) и «лепка» на той же самой поверхности более мелких деталей с последующим вычислением нормалей к ним и сохранением результата в отдельной текстуре с той же картой наложения, что и оригинал. 


Слева — модель без нормалмапа, справа — нормалмап включён. Настройки света и отображения не менялись.

Этот процесс называется «запекание» и в таких программах как ZBrush, Autodesk Maya и Substance painter/designer (да и многих других) этот процесс происходит автоматически, главное иметь оригинальную модель с картой UV и её хайполи, совместить и нажать кнопку создания. Впрочем, есть программы, создающие нормали на основе диффузных текстур с хорошим разрешением, и рельеф в таком случае определяет сочетание цветов и глубина теней, но по качеству такие карты уступают запеченным.
 

Сгенерированная (слева) и запеченная (справа) карта нормалей

Обычно нормал мап состоит из переходов между синим и розовым, соотношение и интенсивность которых и читаются компьютером как разница высот. Однако некоторые движки, так сказать, выделяются, и используют нормал мапы чисто розового, чёрно-белого, чёрно-синего или пурпурно-зелёного цвета. Впрочем, это не столько прихоть, сколько особенности чтения карт – например, чёрно-синие текстуры в TES V содержат альфа-канал, который определяет силу блеска (и тем самым экономит место от specular map), а пурпурно-зелёные нормали Dark souls 3 содержат более детальные различия в деталях и карту наложения металлического блеска.


Bumpmap же сейчас не имеет особых отличий по функциям от нормалей, разве что традиционно он имеет чёрно-белый вид и предназначен для создания мелкой, зачастую повторяющейся детализации (поры кожи, петли и пересечения нитей в ткани, витки шнурка и т.п.)

3. Displacement map или карта изменения поверхности – продвинутая версия карты нормалей. Только если нормали читаются как имитация объёма, и видны за счет только перемещения света, то дисплейсы «рисуют» искажения при рендере. Визуально разницу между моделью с дисплейсом и без него Вы можете видеть внизу. Создают их так же, как и нормали, но для чтения дисплейс требует больше ресурсов. Поэтому в играх сейчас его используют не так часто, зато в фильмах он обосновался прочно.


На маленьких модельках с небольшим рельефом сила дисплейса практически не видна. Зато в создании многосоставной большой техники он очень к месту.

4. Specular map или карта блеска – определяет силу и цвет блеска. Обычно чёрно-белая текстура, где черный – отсутствие блеска, а белый – наибольшая сила. Но для создания эффекта цветного металла или опалесценции спекуляр можно красить – так не раз делали From software в своих играх. А вот TES V в этом отношении отличился – спекуляр там как раз и встроен в нормалмап в качестве альфа-канала. Спекуляр также может отличать за металличность и зеркальность, но обычно для этого используют другие специальные карты (metallness map).


Радужный спекуляр Разверстого дракона (как будто у Вас в игре было время, чтобы эту тварь рассматривать, а не бегать по сцене с криками А-а-а-а-а-а-а) из Dark souls и нормалмап одеяния драконьего жреца со встроенным спекуляром на металлических пластинах из TES V.

5. Сферические карты – собственно, я не знаю, как эту категорию называть правильно. Одни укладывают сюда карты металла, другие имитацию света окружения или отражения, третьи специфические эффекты для самоцветов вроде опала. Общее у них одно – они игнорируют UV карту и наносятся более-менее равномерно по всей поверхности, к которой применяются. Обычно они небольшие по размеру (относительно других текстурных карт), размытые, бесшовные (в идеале) и имеют специфический вид. В некоторых случаях эти карты становятся самостоятельной основой для шейдеров (об этом мы скажем позже). Ниже вы можете видеть некоторые из этих текстур и производимые ими эффекты. Называться они могут по-разному: environment map, cubemap, spherical, metallic, mirror, outllight и т.п.



6. Emission map или карты свечения. Эти текстуры отвечают за цвет и силу свечения отдельных частей модели, и иногда – за просвечивание (реакцию меша на свет за ним, хотя обычно это translucent map). Так, если из сцены в игре или кино убрать источник света, участки с emission map будут подсвечены. Так, например, реализованы эффекты свечения чужих-кипятильников в Alien: fireteam elite и свечение артефактов в TES V.


Свет ON/Свет OFF. Справа светящиеся области видны благодаря emission map.

7. Translucent map – эффект просвечивания. В том числе этот эффект ответственен за реалистичность кожи в играх и кино, а также частично за эффекты жидкости и самоцветов. Вы только посмотрите на эту еле заметную каёмку розовато-красного свечения на краю костяного гребня боевого монстра из альманаха Love, Death and Robots!



8. Карты прозрачности или альфа-карты (alpha-channel map) – определяют место и силу прозрачности. Обычно это чёрно-белая текстура, где черный цвет – абсолютная прозрачность, а белый – абсолютная непрозрачность. Особенно это важно для текстур волос и подмены целой одежды персонажа на порванную прямо по ходу игры (опять же, для экономии ресурсов).



9. Специальные карты наложения – различные специфические эффекты, которые не подменяют диффузную карту и не требуют отдельной накладки меша поверх. Это, например, карты макияжа, татуировок, ожогов и ран в играх. Tintmap с цветом лица в Скайриме и татуировки в Dark souls и Dragon’s dogma – классический пример таких текстур. Визуальные пост-эффекты или post processing. Это всевозможные дополнительные (в играх – зачастую отключаемые) опции, такие как подсветка области вокруг факела,  дым/туман  на локации, пресловутая трассировка лучей, настоящие отражения на воде и стекле, deep of field или глубина резкости и фокусировка и т.д. На сегодняшний день практические методы реализации этих эффектов в 3D примерно одинаковые, различаются только программы и качество. Впрочем, взгляните на игру Hellblade – пост-эффекты в ней поистине кинематографического качества.


Скриншот из игры Hellblade от пользователя Drawn2Digital

Как в играх, так и в кино, в каждом отдельном случае используются самые различные наборы функций скелета, текстур и физики. Но есть ещё кое-что, что давно используется в фильмах, но в играх укоренилось сравнительно недавно. Более того, до кино это использовали картографы, астрономы и… военные. Речь о 3D-сканировании. Да, сканы всё же используются и там, и там, однако далеко не в первоначальном, не в «сыром» виде. Причем сканы могут выступать в совершенно различном ключе.

Сканируем планету… Признаки цивилизации не обнаружены. Начинаем колонизацию…


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

Такие же сканы вскоре стали использовать и в играх. Сначала только для того, чтобы создать хорошую текстуру окружения, но вскоре сканы стали основой для создания аутентичных интерьеров и реально существующих артефактов. Правда, после сканирования вам, скорее всего, придётся залечивать дыры, заново настраивать текстурную карту и уменьшать количество полигонов. Скорее всего, именно из таких сканов были сделаны артефакты в игре Agony, статуэтки Иштар и палеолитической богини – реплики реально существующих музейных экспонатов.

Но в последнее время не только неживые объекты стали целью переноса в игры в малоизменном варианте. Ведь что игры, что кино давно используют технологию захвата движений (motion capture) с живых актёров (конкретнее, с 2001 года – и началось это, в том числе благодаря Final fantasy). Во-первых, это опять же облегчает работу аниматоров, во-вторых – придают характерные черты их персонажам: походка, особенности жестов и… мимики.

Вероятно, многие из вас слышали хотя бы об одной из трёх игр: La Noire, Detroit: become human и Death stranding. Разумеется, это не единственные игры с захватом движений и мимики, но наиболее известные. Хотя, я думаю, что серию Dark souls, игры Bloodborne, Sekiro и Ghost of Tsushima вы тоже знаете. Правда, соулсы и бладборн не используют захват лиц – только движения. Но зато движения профессиональных фехтовальщиков и бойцов наверняка заметили, как и более-менее реалистичные взаимодействия.


Захват референсов с помощью Motion capture для ремейка Demon’s souls. Взято с сайта. Посмотрите, там очень интересные записи процесса захвата движений и боя для игры!

Создатели La noire проделали колоссальную работу. По сюжету игры Вам придётся отыгрывать роль детектива, и с помощью только лишь своего внимания к мимике допрашиваемых разгадывать загадки и расследовать преступления. Для этого пригласили множество профессиональных актёров, и каждого из них сканировали не только для создания реалистичной внешности, но и захватывая отыгрыш каждого диалога, каждой реплики, создавая десятки и сотни моделей одного человека, а потом превращая это в непрерывную анимацию меша модельки. Конечно, не всегда это выглядит отлично – сканы не идеальны, и при анимации модельки в районе рта или уголков глаз искажаются, а текстуры размываются, да и актерам приходилось переигрывать для того, чтобы игроку было легче прочитать эмоции. Однако проделанная работа поистине колоссальна и вызывает уважение.

Трейлер La Noire от разработчиков, где показано, как именно снимали захват лиц.:

Конечно, La noire была не первой игрой с подобной технологией. Пионерами в этом отношении были… снова японцы. В играх Forbidden siren и Forbidden siren 2 на неподвижные и малополигональные модельки лиц накладывались специально записанные… портретные видеоролики с актерами. Несколько сотен видеозаписей было сделано с отдельными отыгрышами для каждой конкретной сцены. Это выглядит одновременно классно и пугающе, под стать духу хоррор-игры.


В статике лица героев Forbidden siren выглядят всё ещё весьма хорошо. Но вот когда герои открывают рот от удивления или вертят головой, уже заметны искажения.



Более органичного эффекта добились создатели Detroit и Ghost of Tsushima. Для своих длинных сюжетных игр они не могли позволить сканировать каждого актера отдельно, портретных сцен в играх относительно мало. Это связано с тем, что порядочную часть игры вы взаимодействуете с другими людьми,  роботами и окружением, а диалоги зачастую происходят во время экшн-сцен или вообще в бою. Снимать отдельно голову, а потом тело, и соединять модельки? Можно, конечно, но будет как в La Noire и Терминатор: тёмные судьбы (да, критики, в том числе указали на слишком выпадающую из окружения графику).


Motion capture позволяет захватывать не только людей, но и животных. Взято с сайта .

В чём суть их метода? Помните motion capture, где на человека надевают специальный костюм с маркерами, обозначающими кости? Так вот, для создания Detroit использовали такие же маркеры, но только для лица. Выглядело это вот так:


Это не «скиттлзстрянка», это маркеры захвата лица для игры Detroit BH.

Но как же, кости в лице?
Да, именно так. Большинство игровых и мультипликационных моделей имеют кости в лице (т.н. лицевой риггинг), каждая кость в котором отвечает за отдельную область: кости век, кости губ, кости щёк, скул, подбородка, бровей и т.п. Чем больше костей в отдельной области, тем точнее можно настроить движение и выражение лица. Например,  для базового движения рта нужно минимум 2 кости – кость головы, к которой привязана верхняя губа и кость нижней челюсти, с привязанной к ней нижней губой. Вуаля, наша модель открывает рот!
Но как быть, если я захочу «улыбнуть» свою модельку?
Тогда мне нужны кости в уголках губ. Моделька может улыбаться, грустить и усмехаться… Но теперь сделать удивлённое открывание рта проблематично – уголки не особо хорошо смотрятся. Тогда можно сделать по две кости в уголках губ – верхняя и нижняя части. Но для округления этого недостаточно – придётся добавлять ещё по две-три кости в каждую губу. Итого около 10 костей только в губах! Замучаешься анимировать!



Впрочем, благодаря захвату это сделать намного проще. Создатели Detroit сделали сканы лиц актёров, отриговали их и снимали совместные сцены. Результат налицо, простите за каламбур: Большая часть анимаций выглядит органично, головы не отваливаются (почти) от тел кроме сцен, где это предусмотрено, да и в целом выглядит красиво и узнаваемо. Ещё лучше это читается в Death stranding – там харизма знаменитых актёров делает половину дела, заставляя сопереживать знакомым лицам.

Этот же самый метод – маркеры и захват эмоций, используют и в кино. Самый знаменитый фильм из этой линейки – конечно же Аватар Джеймса Кэмерона. Но не только он – такие фильмы как Алита, мультики Ранго и Как приручить дракона и многие другие фильмы и мультфильмы, в том числе из альманахов «Любовь, смерть и роботы». Если не смотрели – посмотрите, отдельные истории могут вдохновить Вас на то, чтобы всерьёз заняться анимацией, мой внутренний моделлер на пену изошелся по красоте картинки и качеству проделанной работы. Тут вам и использование на полную катушку карт просвечивания и бампмапов, и физика всего, что только можно, и преломление света, и глубина резкости… Ну и истории поучительные (в большинстве) и увлекательные.

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

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

Осторожно! Под спойлером большой кусок текста!
Если Вы вдруг не знаете, то это великолепный симулятор от компании ЕА того времени, когда разработчики ещё не гонялись за онлайн-режимами и микротранзакциями внутри игр. По сюжету (если тут вообще уместно говорить про сюжет) Вам дают управлять микроскопическим существом, чья спора/яйцо/икринка выжила после падения астероида на планету с подходящими условиями. По мере игры Вам придётся есть, уплывать от хищников и… развиваться. По ходу пьесы Вам будут попадаться осколки метеорита, в которых содержатся фрагменты генокода с дополнительными органами, а кроме того, новые части тела можно получать из врагов.


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


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


Во время игры все ваши достижения и провалы складываются в своеобразную «карму» и записываются в ленту времени. Конечно, это не биологически достоверный симулятор эволюции, а в первую очередь способ увлекательно провести время.

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


Удлинить или укоротить позвоночник, сделать тощего или толстого, добавить морду дракона, убрать, сменить на клюв, приклеить перья или рога? И ведь каждый элемент отразится на геймплее — даст определённую способность или усиление.

Но не только редактор существ заслуживает внимания – на этапе Цивилизации и Космоса Вам доступно конструирование техники (наземной, водной, воздушной и космического корабля), построек (ратуша, жилой дом, завод и развлекательный центр), планирование города, терраформирование планет и даже редактор музыки, в котором Вам дадут создать свой собственный гимн.


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

Да, ЕА и Maxis, в частности, добавили режим Космических приключений, где игроку придётся взять под управление капитана корабля и высаживаться на планету для решения некоторых задач. Базовых приключений сравнительно немного, однако вместе с тем для игроков открыт отдельный редактор со множеством инструментов, где Вы можете создать своё собственное приключение: все инструменты редактирования понятны интуитивно и организованы в виде маркеров и блюпринтов (blueprints – так сейчас называют отдельные функциональные блоки в программировании и игростроении). После конструктора создатель сам может проверить своё приключение, а после загрузить на сервер для других игроков.


«Мы добавили тебе игру в игру, чтобы ты мог играть в игру, пока играешь в игру» (с)

Кстати, это отдельная песня. Официального кооператива в игре нет, но до сих пор Споропедия (сайт-официальная библиотека) работает, и даже пополняется существами, техникой и приключениями от игроков со всего мира. Каждое Ваше творение сохраняется в папке игры в документах в виде png-карточки с общим видом и зашифрованной в коде картинки информацией о творении, использованных частях, создателе и окраске. Чтобы получить творение, достаточно скопировать эту карточку в свою папку или перетащить в окно игры. Главное, чтобы у перетаскивающего были те же дополнения, что и у творца. Ну и моды, если таковые использованы.

Да, игроки до сих пор добавляют туда моды – как просто улучшающие графику, так и собственноручно сделанные части тела, новые окраски и инструменты, вплоть до частей тела из Darkspore (другой игры разработчиков, к сожалению, уже недоступной). Лично проверила некоторые из них – они того стоят)


Кто ж знал, что морда спинозавра будет органично смотреться на голове мультяшного монстрика.

Более того, аудитории игра так понравилась в своё время, что разработчики в одном из дополнений официально добавили возможность экспорта своих существ в другие программы в формате collada (формат программ Autodesk, обычно применяемый в Maya) – для создания мультиков и печати игрушек. Кстати, на базе Source Filmmaker некоторые также до сих пор делают эти мультики.

Надеемся, что смогли Вас заинтересовать и приоткрыть завесу тайны, скрывающий страшные загадки 3D-моделирования. Если хотите узнать что-то поподробнее – пишите, с удовольствием разберём для Вас какую-нибудь тему. Если Вам показалось мало и вы хотите дополнить своим опытом, то тоже милости просим, быть может, расскажете что-нибудь интересное нашим читателям. 

▍ Все статьи серии:


  1. 3D для каждого: способы создать модель. Часть 1
  2. 3D для каждого: области применения
  3. 3D для каждого: хочу делать мультики < — Вы тут

Комментарии (9)


  1. webdi
    03.03.2022 13:31
    +4

    Интересно, а суставы как-то программируются? Причём чтоб в зависимости от гибкости определённого персонажа выставлялся бы некий "пресет гибкости суставов".)


    1. domix32
      03.03.2022 16:08
      +2

      Насколько я знаю на костях есть ограничители aka constraints которые позволяют настроить степень подвижности суставов и максимальные углы поворотов относительно родительской кости. Прочее разруливается инверсной кинематикой, хотя иногда тоже не без проблем. Ну, а больше проблем обычно значит нужно больше золота костей.


    1. phanerostroi_evidence Автор
      03.03.2022 16:38

      В суставах есть ограничители углов во многих программах (называются всегда по-своему) для реалистичности сгибания, и тот самый градиент веса, который определяет мягкий будет сгиб или резкий слом


  1. igrishaev
    03.03.2022 16:21
    +4

    Статья про 3D-программы, а почему тогда на главной картинке пластилиновая сцена? Зашел, чтобы про пластилин почитать.


  1. schetilin
    03.03.2022 17:55
    +1

    Первая игра с реальным 3d — Elite на ZX (ну я так помню :)) А все остальное — вторично :)


  1. Gumrak
    03.03.2022 22:17

    environment map - бюджетный вариант рейтресинга, в моём понимании 3d графики из нулевых годов.


    1. panzerklein
      04.03.2022 11:26

      Такие карты эффектно применялись в Терминаторе 2, Полете Навигатора и Super Mario 64, кстати. Получаются относительно реалистичные гладкие металлические поверхности и по ресурсам эффект совершенно не требовательный.


    1. tsurugi-no_ken
      04.03.2022 13:04

      Если объект движется, то разница в глаза не бросается. :)


  1. miga
    04.03.2022 11:18

    "Приключения Андрэ и пчёлки Уолли" явно сделаны рейтрейсингом