image

[Все картинки кликабельны, потому что Хабр сжимает изображения разрешением больше 1920]

Введение


Меня зовут Ана Родригес (Ana M. Rodriguez), я занимаюсь компьютерной графикой и специализируюсь на текстурах и шейдерах, В настоящее время я работаю фрилансером компании Blind Squirrel Games, последним моим проектом был сборник игр Bioshock: The Collection. До него я работала над Castlevania: Lords of Shadows 1 и 2. Также мне удалось поучаствовать в проекте Castlevania: Mirror of Fate для Nintendo 3DS.

image

image

image

Создание материалов


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

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

image

Многих смущает то, что переделанная текстура выглядит «новой», потому что она более чёткая. Обычно при ремастеринге текстуры начинают с изображения низкого разрешения. Маленький размер означает меньшую чёткость деталей, которые нужно добавить на следующей этапе. Возможность работать с текстурами большего размера позволяет устранить шум, который возникал на оригинальной текстуре из-за сжатия, и добавить новые детали, но отделив загрязнённые области от чистых. Поэтому в результате там, где оригинал был чистым, новая версия ещё чище, а там, где он был грязным — ещё грязнее. Благодаря большему разрешению мы можем добиться визуальной чёткости.

image

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

Сложности при создании сложных материалов


При создании текстур самая большая проблема для меня — достичь нужной финишной обработки (в случае Bioshock, например, это смешение «реалистичного и стилизованного»), и сделать так, чтобы текстуры сочетались с остальными текстурами среды.

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

Не забывайте, что я говорю о глянцевых/отражающих (gloss/specular) материалах текстур. В случае PBR интеграция теперь должна быть проще, потому что материал следует своим настройкам (отражение света материалом, процент шероховатости и т.д.). Он реагирует на освещение «физическим» образом, поэтому его легче вписать в любую среду и он ведёт себя правильно (если всё сделано согласно требуемым параметрам).

С точки зрения эффективности материала важно начать с наиболее простых форм и закончить самыми сложными. Например, в случае текстуры каменных блоков надо начать с блоков, а закончить добавлением мха и плесени. Всегда идите от общего к частному. Думаю, этот совет применим вне зависимости от способа создания текстур (Photoshop, Quixel, Substance и т.д.). Проанализируйте, что нужно сделать грубо (большая кирпичная стена), а потом переходите к отдельным и характерным деталям (потёртости, разломы, мох, пятна и т.д.). Если вы хотите смешать текстуру с другой или в той же текстуре с другим элементом (например, в случае Bioshock, с полосой декоративного металла), надо учитывать, что элемент является частью самой стены, он старел вместе с ней и подвергался тем же погодным условиям: дождю, влажности, пыли и т.д. Поэтому чтобы текстура была естественной и целостной, нужно понимать это и воспринимать их не по отдельности, а как одно целое.

image

Добавление повреждений на плитки


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

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

image

Эффекты старения


Очень хороший приём для того, чтобы состарить текстуру — использовать изображение или несколько изображений случайной грязи, которая совершенно не имеет отношения к текстуре, и наложить её с каким-нибудь режимом смешения слоёв (например, soft light). К примеру, в случае плитки ванной я выбрала изображение пятен на стене. Она позволяет сделать более жёлтой всю текстуру оттенков, не добавляя слишком много шума в изображение. Кроме того, можно добавить ещё одну фотографию стены с пятнами или потёками, сделать из неё маску, чтобы обрезать эти ржавые пятна и поместить их над изображением, придав ощущение воды, стекавшей по стене. Это хорошая идея, если у вас нет возможности использовать декали или смешивание материалов. В противном случае способ будет совершенно другим и вам нужно будет избегать такого типа деталей на базовой повторяющейся (tileable) текстуре.

image

Повторное использование материалов


Ключ к созданию «многоразовых» материалов — использование декалей или смешивания материалов. Когда я говорю о смешивании материалов, я имею в виду шейдер реального времени, позволяющий смешивать различные материалы (выбранные из заданной библиотеки) с помощью монохромных масок, цветов вершин, карт высот и т.д.

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

image

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

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

Как избежать искусственного вида


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

Совет


Для меня самое важное при создании текстур — вложить в них свою любовь и заботу, иначе получится скучная «стандартная» и плоская текстура. Если при создании текстур вы используете примеры фотографий, то, как я сказала ранее, нельзя просто взять фото и скопировать его. При работе с Zbrush вы рискуете слишком сосредоточиться на создании слишком преувеличенной карты нормалей, негативно влияющей на остальные каналы, и в результате получить обычный и неинтересный материал.

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

image

image

image

image

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

Наш долг — вдохнуть жизнь в объект, в стену, в окружение. И рассказать с их помощью историю.
Поделиться с друзьями
-->

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


  1. amarao
    13.01.2017 14:04

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


  1. infrapro
    13.01.2017 14:08
    -1

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

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


  1. ibmpc
    13.01.2017 14:14
    -5

    @PatientZero ссылка на творческий профиль оригинального автора это хорошо. Пожалуйста укажите ссылку на первоисточник.


    1. PatientZero
      13.01.2017 14:16
      +5

      Она, как всегда, находится в конце статьи.


      1. ibmpc
        14.01.2017 12:15

        Спасибо за ответ, нашел.