Работа над ААА-игрой: опыт художницы Shadow of the Tomb Raider Материал редакции

Технические подробности создания текстур, командный труд, оптимизация и многое другое.

В закладки
Аудио

Художник интерактивных объектов в Eidos Montreal Шарлотта Деланнуа на сайте 80 Level рассказала про создание Shadow of the Tomb Raider, её опыт разработки ААА-проекта, процессы подготовки текстур и материалов, а также об оптимизации. Кроме того, она дала несколько советов для тех, кто хочет присоединиться к этой индустрии. Мы выбрали из её текста главное.

Первое время в компании Деланнуа занималась созданием простых объектов — книг, столов и так далее. Подобные первые шаги позволили ей лучше понимать свои задачи и находить наиболее оптимальные пути создания моделей.

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

После нескольких месяцев ей доверили работу над крупными ассетами и заметными игровыми элементами — пауком, статуей птицы и так далее. Для их создания Деланнуа использовала Maya, ZBrush и Substance Painter. А Substance Designer она использовала для подготовки тканей, которые использовались в игровом процессе в качестве визуального языка. Например, цвета и узоры одежды соответствовали определённым областям в Пайтити — хабе в Shadow of the Tomb Raider.

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

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

То, как нужно работать с текстурами, всегда зависит от самой игры, шейдеров, ресурсов и инструментов. Это большой объект? Можно ли использовать разукрашивание вершин и смешивать на ней тайлинговые текстуры? Это модуль или уникальный ассет? Это твёрдая поверхность или органическая геометрия? Каковы ограничения проекта? Как далеко объекты от камеры? Как выглядит уровень (коридор, открытое пространство, пещера, город и так далее)? Какое соотношение текселей?

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

Во-первых, Деланнуа определяет, является ли ассет модульным или уникальным. Достаточно ли он мал, чтобы поместиться в уникальный UV set и достичь необходимой плотности текселей? Если это модуль или большой уникальный объект, то можно использовать тайлинговые текстуры, возможно, уникальную карту нормалей и маску, созданную в Substance Painter (или при разукрашивании вершин), чтобы показать слоистые материалы.

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

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

После быстрого UV-пасса, она заходит в Substance Painter, чтобы настроить свойства выпекания, а затем делает первую попытку с низким разрешением. Если это работает, она запекает ещё раз с настройками высокого разрешения.

При создании материалов она всегда старается создать одну папку для каждого вида, чтобы всё было чисто и удобно для себя и других. Она улучшает свои UV-сеты, если это необходимо, и перезапекает их столько раз, сколько нужно.

Иногда Деланнуа создаёт несколько небольших инструментов в Substance Designer, чтобы облегчить процесс. Например, во время Substance Game Jam в Монреале она сделала Splatter, который работал с картами положения и нормалей. Она могла выбрать любой паттерн и распространить его в трёх направлениях, выбрать диапазон, где маска будет меньше, и так далее.

Тем не менее в основном она использует инструменты Substance, так как они лучше подходят для того, чего она хочет достичь.

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

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

Художница начала использовать Pattern Substance, когда её попросили создать что-то, что помогло бы идентифицировать различные области игрового хаба. Ей нужно было найти баланс между общим художественным направлением и потребностями игрового процесса. Для этого она решила создать два генератора: один для паттернов, а другой для колонн.

С помощью Column Generator она смогла разделить холст на колонны с четырьмя различными размерами. Определив ширину колонны, генератор создал цветовую маску с четырьмя различными основными цветами (по одному на каждую ширину), но немного отличающимися, чтобы определить разные идентификаторы для каждой. Кроме того, генератор также создал различные виды градиентов для каждой колонны. Благодаря этой технике Деланнуа смогла быстро создавать маски и работать итеративным способом, выбирая отдельные цвета или цветовую гамму.

С Pattern Generator всё обстояло иначе. Деланнуа хотела получить некоторые базовые формы с цветовыми масками внутри них. Она использовала уникальный Polygon Node и выставила параметр Sides, чтобы все фигуры были производными от него. Затем она выставила некоторые другие параметры, такие как Rotation или Size, затем использовала Tile Generator для «цветной» версии и ещё один для «чёрно-белой».

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

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

По словам Деланнуа, трудно думать об оптимизации без какого-либо контекста. Какая камера и персонажи в игре? Какой именно тайтл в разработке? Это открытый мир, MMO, линейная сюжетная игра? Каковы инструменты? Есть ли прямое взаимодействие с программистами или техническими художниками? Изучать тонкости каждой отдельной игры — настоящее веселье.

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

Лучший способ избежать больших затрат на оптимизацию — это поддерживать чистоту инструментария (иметь хорошую номенклатуру, чистить ZBrush, Maya и Substance Painter или другие программы). Контент, созданный на стадии исследования, может не достичь финальной версии игры, потому что всё постоянно развивается, поэтому лучше заранее подготовиться к этому.

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

По признанию Деланнуа, одна из важных её проблем заключается в том, что она постоянно думает о лучшем способе сделать объект. Она часто подходит к этому с технической точки зрения и иногда немного забывает о художественной составляющей. Но важно помнить, что, в конце концов, нужно создать красивый ассет, и попытка достичь этой цели — первый шаг.

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

Если полигональная сетка используется только один раз, можно ли её удалить? Есть ли способ немного изменить макет, чтобы улучшить производительность потоковой передачи без ущерба для восприятия? Если меш имеет высокую плотность, можно ли уменьшить polycount? Если текстур слишком много, можно ли уменьшить их число (удалив или объединив их) или размер? Можно ли использовать несколько LOD (Level of Detail)?

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

С этого года Деланнуа стала преподавателем по направлению «Substance Designer and Shader». Обычно она даёт следующие советы своим ученикам, которые хотят работать над ААА-проектами.

  • Для портфолио лучше создать что-то одно уникальное и отполированное. Рекрутёр хочет знать две вещи — насколько качественные вещи вы можете сделать и как вы впишитесь в команду? Пять отличных ассетов лучше, чем множество плохих.
  • Используйте много референсов (формы, материалы, чертежи и так далее). И выбирайте интересные предметы. Подумайте, как и почему они были созданы. Как они работают, изнашиваются и почему? Это поможет вам создать интересные ассеты с глубоким бэкграундом.
  • Старайтесь получать отзывы, заходите на форумы, участвуйте в чатах, спрашивайте людей на ArtStation и так далее. Не бойтесь начинать снова и снова. У всех, даже у пожилых людей, есть шанс стать лучше в том, что они делают каждый день. Если вы сдадитесь после первого отрицательного комментария, вам будет трудно. Все эмоционально привязаны к своим творениям, но значительно важнее улучшить свои навыки, чтобы в конечном итоге попасть в ААА-индустрию.
  • Позаботьтесь о своих отношениях с людьми, потому что индустрия видеоигр невелика. Ваша карьера может начаться уже в школе с другими студентами и вашими учителями. Деланнуа,например, на данный момент работает с четырьмя своими товарищами по обучению. Если вы хотите расширить свой круг общения, вы можете обратить внимание на форумы, Discord, страницы Facebook, геймджемы и так далее. Быть добрым — это всё, что вам нужно, чтобы вписаться в большинство мест.
  • Не стесняйтесь подать заявку на работу, которая вам не подходит на 100%.
  • Последний совет: не сдавайтесь и продолжайте пытаться. Это может не сработать с первого раза. Даже если ваша конечная цель — работать в студии AAA, старт в инди-команде может стать первым шагом. Работая там, вы получите знания, которые AAA-студия может не предоставить. Однажды значительные усилия окупятся.
{ "author_name": "Владимир Семыкин", "author_type": "editor", "tags": ["\u043e\u043f\u044b\u0442","\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"], "comments": 33, "likes": 87, "favorites": 208, "is_advertisement": false, "subsite_label": "gamedev", "id": 54027, "is_wide": false, "is_ugc": false, "date": "Thu, 13 Jun 2019 17:01:25 +0300", "is_special": false }
0
{ "id": 54027, "author_id": 94357, "diff_limit": 1000, "urls": {"diff":"\/comments\/54027\/get","add":"\/comments\/54027\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/54027"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }
33 комментария
Популярные
По порядку
Написать комментарий...
10

Эээ, а где сексуал харасмент, кранчи и слюнявые пальцы в ухе? Она точно работала в геймдеве?

Ответить
9

Какой же невероятный и тяжелый труд они делают, спасибо за статью!

Ответить
8

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

Ответить
0

Забавно как некоторые блоггеры делали свои обзоры игры не то по первым часам, не то по нарезкам с стримов и трейлерам ибо были предьявы в стиле "так а хули Ани на аглицки ебать гаварат ?7771" .
Я понимаю что об этом речь шла чуть-ли не в одной записке из всей игры , но за подобные мелочи игру с дерьмом смешивали а том числе .

Ответить
1

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

Ответить
1

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

Ответить
1

А, ну понял. Тогда рад что ты тоже оказался внимательным :D

Ответить
0

Хехх. Мне игра очень понравилась (как и прошлые две. Как и пять частей на пс1), так что прошёл её на сто процентов и очень надеюсь что скоро доберусь до сизон паса и вновь вернусь в игру :)

Ответить
1

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

Ответить
0

Уххх, быстрей бы потратить финансы на это дело хе хее .
Я даже специально толком и не смотрел ролики по длс , что бы потом уж самому насладится :)

Ответить
2

Текстурирование в Substance Painter, кстати, похоже на магию. (сейчас постараюсь иначе залить видео)

Ответить
2

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

Ответить
1

Залей на Ютуб

Ответить
–1

Substance превратил текстурирование из искусства в ремесло.

Ответить
0

а почему? Очень интересно услышать отклик от того, кто им пользовался

Ответить
0

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

Ответить
0

подскажи пожалуйста какие-нибудь туториалы, потому что сейчас, я видимо по старинке текстуры рисую

Ответить
1

сабстанс не заменит хенд пеинт. он больше про процедурные материалы, хотя модно запечь себе базу под хендпеинт тоже.

Ответить
0

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

Ответить
2

Отличная статья

Ответить
1

"Для их создания Деланнуа использовала Maya, ZBrush и Substance Painter. Последний она использовала для подготовки тканей, которые использовались в игровом процессе в качестве визуального языка."
Для тканей она все таки использовала Substance Designer, а не пэинтер)

Ответить
0

спасибо, поправил)

Ответить
1

For this project, he gave me some Substance Designer tasks to work on. I went on creating some fabrics

Для их создания Деланнуа использовала Maya, ZBrush и Substance Painter. Последний она использовала для подготовки тканей

Painter и Designer всё таки разный софт, не надо так путать

Ответить
1

Если ассет небольшой, можно попытаться заблокировать модель с помощью быстрого UV-пасса

"block" в данном случае не в значении заблокировать, а "сделать набросок", как blockout

Ответить
0

поменял, спасибо)

Ответить
1

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

Ответить
0

Спасибо за классную статью!

Минутка снобизма.
"Разукрашивание вершин" - нераспространенный вариант перевода, нагуглить по нему будет сложно.
Речь идет о vertex color, технике прокрашивания, которая позволяет учитывать особенности геометрии - скажем, красить мхом по стыкам камней в кладке. Ютюб показывает, как это круто и красиво.

Ответить
0

как это не распространенный? Вариантов не много. Есть вершины и их красят. Как тут еще перевести то...

Ответить
0

Мысль простая: т.к. в статье упоминается vertex color, но не поясняется, что это такое, можно вообще не переводить. Как не переведен в тексте Pattern generator. Потому что поиск по vertex color даёт более релевантную выдачу, чем поиск по раскраске вершин.

Ответить
0

наверное потому что Pattern generator - "гернератор паттернов", считай просто транслитом написали. Когда как vertex color вполне имеет перевод "цвет (раскраска) вершины". Обыкновенная геометрия. Достаточно погуглить "Вершина (компьютерная графика)". Хотя да по vertex color быстрее находится....

Ответить
0

Думаю, тоже возьмусь за 3d моделирование. У меня Блендер и Майя установлена.

Ответить

Прямой эфир

[ { "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": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "chvjx", "p2": "ftwx" } } }, { "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" } } } ]