Текстуры

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

Текстурный мольберт

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

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

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

Третий специалист — художник по текстурам (или просто текстурщик), создающий текстуры на основе шаблона развертки. Текстурщик учитывает особенности развертки модели, принимая во внимание эскиз и возможности движка. Если движок поддерживает технологию normal mapping, работа частично упрощается, поскольку все детали персонажа уже содержатся в карте нормалей, а прорисовкой теней занимается сам графический движок игры. С другой стороны, качество текстур должно быть превосходным, чтобы хорошо сделанная детальная модель выглядела реалистично.

Текстуры и стилистика игры

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

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

Первые штрихи

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

Чтобы отметить на чистой текстуре основные детали, по которым в дальнейшем будет рисоваться законченная текстура, существует ряд вспомогательных программных пакетов (например, Right Hemisphere Deep Paint 3D или Maxon BodyPaint 3D) и плагинов для связи графических пакетов (например, cebas Ghost Painter, связывающий 3Ds MAX и Photoshop). Работа во всех этих программных средах схожа: художник раскрашивает модель прямо в трехмерном пространстве, как делал бы это в реальности. Каждый его штрих сохраняется в текстуре, что делает модель доступной для дальнейшей раскраски в обычном 2d-пакете типа Photoshop.

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

Основная работа

Когда на текстуру нанесены базовые элементы текстуры, можно приступать к детальной проработке в Photoshop. Как правило, для создания текстуры в низком разрешении (256×256, например) достаточно одного лишь художественного мастерства, но если разрешение превышает 1024×1024, то без вспомогательных ресурсов не обойтись. Собственно, именно на этом этапе возникает необходимость привлекать фотографические текстуры, взятые из тематических сборников (типа 3DTotal Textures) или полученные непосредственным фотографированием.

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

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

Есть несколько общих правил по выбору элементов текстур:

  1. Ни в коем случае нельзя выбирать фрагмент, разрешение которого ниже того, что требуется в создаваемой текстуре.
  2. Нельзя выбирать фрагменты, имеющие перспективные искажения. Это приведет к необходимости растягивать/ужимать фрагмент текстуры для компенсации искажений, что скажется на резкости фрагмента.
  3. Яркость, резкость, контрастность текстуры не должны быть чрезмерно высокими или низкими. После коррекции качество текстуры обычно снижается.
  4. Оптимальнее использовать бесшовную текстуру, тогда можно будет не беспокоиться о том, что при возможном тайлинге (циклическом повторении текстуры, как плитка на полу). В Photoshop бесшовность достигается с помощью инструмента Offset и клонирующих кистей.

Финальная доработка текстуры

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

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

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

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

Похожие записи