Двери Нео-Триеста

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

Двери Нео-Триеста

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

И, спустя некоторое время, я решил одну из дверей переосмыслить в полюбившейся мне киберпанк-стилистике. Основным источником вдохновения (помимо, собственно, двери) стала игра Remember Me. Мне очень нравилась сочетание классических массивов и техногенных деталей. Собственно, я уже выполнял фан-арт несколькими годами ранее и сейчас решил повторить, уже с новыми знаниями и умениями.

Пример дверей в игре
Пример дверей в игре

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

Основная идея работы заключалась в том, чтобы использовать все методики для создания объектов окружения. Причина проста: как и у многих профессиональных художников, у меня после работы остается не так много сил и времени, чтобы хватило на полноценную сцену, а вот отдельный пропс вполне можно потянуть. Тем более, что, такой пайплайн вполне вероятен в условиях работы над реальной игрой. Основная причина, почему такое происходит - оптимизация. Четыре материала, на один пропс только кажутся расточительством, но если потом все они используются в сотнях других объектах, разговор совсем другой.

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

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

На этом же этапе я наметил, какие элементы и как я буду делать.

Вышло как-то так
Вышло как-то так

Получив примерное представление о том, что будет в итоге, я по-быстрому накидал основные массы в 3D редакторе. В моем случае это - Maya.

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

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

Прикидывание размеров тримов. <br />
Прикидывание размеров тримов.

На этом же этапе, я уточнил размеры, в зависимости от размера тексела. Тут я особо не мудрствовал и установил стандартное соотношение 1024 пикселей на метр. Поскольку я планировал использовать x2048 текстуры, то получилось удобно: размеры почти всех объектов хорошо ложились в стандартный UV-квадрат.

Сам материал для тримов я сделал в Substance Designer. Сразу оговорюсь: относительно этой программы я, что называется, все еще нахожусь в процессе въезжания. Так что постараюсь особо не умничать на эту тему. И, пользуясь случаем, хочу в очередной раз пожалеть, что в открытом доступе нет презентации-туториала, которую сделали мои талантливые коллеги по Sperasoft: Алексей Бузин и Семен Аргентов. Очень хорошее и познавательное видео, которое доступно только сотрудникам вышеупомянутой компании. Я, вот, сотрудником являюсь и мне оно доступно.

Ок, в сторону сантименты. Вот стандартная лапша из нодов SD, которая частенько отпугивает новичков (меня отпугивает). Но если присмотреться, то заметно, что каждая область не такая и сложная. К примеру на создание характерных "деревянных" волокон ушло с пяток нодов, половина из которых используется по несколько раз.

Граф материала для тримов<br />
Граф материала для тримов

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

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

Возвращаемся к моим тримам. Поскольку у меня нет компетенций обучать тонкостям SD, обращу внимание на пару моментов. Во-первых, необходимость хотя бы минимального структурирования. Даже если делаете "для себя" и граф в Дизайнере больше никто не увидит. Работа даже над одним пропсом (как в моем случае), запросто может растянуться надолго. И когда, через месяц-другой, вам понадобиться залезть и что-то подправить (а понадобиться обязательно), то даже в своем графе бывает непросто разобраться, когда в нем нет порядка.

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

Финальный материал и собранная из тримов дверь <br />
Финальный материал и собранная из тримов дверь

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

Классический - он на то и классический, что о нем все все знают. А если и не знают, то всевозможные уроки разной степени сложности гуглятся на раз.

Несколько замечаний, конкретно о моем случае. Я решил сделать хай-поли версии через т.н. crease-процесс, или в просторечье, кризами. Это такой метод, когда геометрия для будущего сглаживания задается через совокупность граней и точек, которые сохранят жесткость в будущем хай-поли. Хотя совсем без дополнительных служебных лупов не обошлось и тут. Я часто встречал такой метод при работе художников, специализирующихся на оружии.

На примере: грани выделенные жирным (вверху) сохранят жесткость после сглаживания (внизу). Аналогичные вершины отмечены желтыми кругами <br />
На примере: грани выделенные жирным (вверху) сохранят жесткость после сглаживания (внизу). Аналогичные вершины отмечены желтыми кругами

Еще один момент, на который нужно обратить внимание - это элементы, которые будут запекаться на одну плоскость. Всегда нужно тщательно проверять, как они смотрятся в соответствующей проекции. Регулярный косяк - когда, будучи спроецированы на плоскость элементы теряются или становятся почти незаметными. Правило тут простое: все что будет запекаться таким образом, должно иметь фаски. Чем жирней эти фаски будут - тем лучше. Перебрать тут почти невозможно. По моему опыту, обратные случае встречались в разы чаще.

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

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

Еще важный момент, про который часто забывают - карта Roughness/Gloss. Я про нее напишу потом.

Финальный вид материалов. Обратите внимание на желтые вставки. Это сейчас они меня устраивают, в финальном варианте их пришлось поменять<br />
Финальный вид материалов. Обратите внимание на желтые вставки. Это сейчас они меня устраивают, в финальном варианте их пришлось поменять

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

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

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

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

Обработка граней для придания им необходимого скругления (строго острые углы в природе встречаются редко) выглядит примерно так:

Пример микро-фаски для последующего использования затайленого материала<br />
Пример микро-фаски для последующего использования затайленого материала

Кстати, должен упомянуть еще об одной частой практике, которую я не использовал в этом пропсе: блендинг материалов. Если коротко - это методика смешивания нескольких материалов на одном меше. Смешивание происходит через задания весов каждой из вершин объекта. Процесс этого задания называется вертекс пеинт (vertex paint).

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

Суммируя: за сеткой следить, конечно, стоит, но без лишнего фанатизма.

Готовый материал и его применение
Готовый материал и его применение

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

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

Отдельно стоит упомянуть карты Roughness/Gloss. Это очень важный момент, который не стоит упускать. Особенно, если речь идет про такой комплексный пропс, как мой. Во-первых, нужно подчеркнуть разные материалы, с разной отражающей способностью. Во-вторых, контрастные и разнообразные блики придают живости объектам. Тем более, что речь идет об объектах под открытым небом, которые по-любому будут по разному подвергаться всяким внешним воздействиям, от природных явлений до антропогенных факторов, в виде вандалов с бычками.

В-третьих, не забываем что речь идет об игровом пропсе. Это означает, что на практике на объект будут смотреть с разных углов, да еще и под разным освещением (например, если в игре есть динамическая смена времени суток). Грех не пользоваться этими обстоятельствами.

Справа - мой предыдущий проект, обратите внимание на скучную серую карту глосса, одинаковую для всех материалов. Слева - контрастная карта позволяет подчеркнуть даже мелкие винтики<br />
Справа - мой предыдущий проект, обратите внимание на скучную серую карту глосса, одинаковую для всех материалов. Слева - контрастная карта позволяет подчеркнуть даже мелкие винтики

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

Двери Нео-Триеста

Больше скриншотов и просмотр в Marmoset Viewer можно увидеть у меня на Artstation:

Всем спасибо за внимание.

2121
9 комментариев

Remember Me ванлав. Потом долго еще ковырял артстейшн в поисках различных ассетов, и наткнулся на чью-то дверь:
https://www.artstation.com/artwork/Gz3Y4
Стоп, так это же ты!

1
Ответить

и это тоже я

3
Ответить

Спасибо за статью, было интересно) А для чего на модели остались какие-то прямоугольники? В Marmoset Viewer на топологии видны, а в целом на модели ничего нет в этих местах
P.S. Хотя, наверное, это для декалей которые в виде подтёков чёрных :D

1
Ответить

Ага, это декали. Забыл про них написать, а ведь это хлеб с икоркой каждого художника уровней. Обязательно уделю им должное внимание при следующем пост-мортеме

1
Ответить

Класс, интересно было почитать)

1
Ответить

Комментарий недоступен

Ответить

Если в целом, то да - есть возможность отбить геометрией ряд деталей. Но большого смысла я в этом не увидел: из-за расположения двери в углублении, не будет ни интересного рельефа, ни интересных теней.

1
Ответить