Как сделать текстуры для 3d моделей
Создание материалов и текстур для трехмерных моделей:
Введение
Процесс производства продукта с использованием технологий трехмерной компьютерной графики состоит из нескольких этапов. Одним из важнейших и обязательных этапов является этап создания трехмерных моделей, которые в будущем и будут являться частью рассказываемой истории. Причем абсолютно не важно, для чего именно создаются трехмерные модели или в какой индустрии их будут использовать. Ведь главная задача трехмерных моделей — создать ощущение реальности, заставить зрителя поверить в то, что он видит на экране и быть всецело во власти рассказываемой истории. В конечном итоге, трехмерная графика — это всего лишь один из способов донести до зрителя историю, придуманную сценаристом.
Но под короткой фразой «создать трехмерные модели», кроется гораздо более сложный процесс производства. Очень важной составляющей в этапе создания трехмерных моделей является создание материалов и текстур для трехмерных моделей.
Рекламный постер короткометражного фильма «Архитип» Арона Симса, главную роль в котором «играет» персонаж, полностью созданный средствами трехмерной компьютерной графики.
Copyright © 2012 Aaron Sims
Общая информация
Прежде чем трехмерная модель появится на экране кинотеатра, телевизора или монитора, ее должны создать. Как правило, под термином «создать модель», подразумевают поочередное прохождение следующих этапов производства:
Два последних этапа производства присутствуют только в случае, если трехмерная модель будет персонажем. Если же она просто деталь окружения, то есть мира, в котором разворачиваются события, то для создания такой модели, как правило, достаточно только первых трех шагов.
Создание образа модели выполняет художник по концептам (concept artist) отталкиваясь от словесного описания режиссера или сценариста. Полученные наброски передаются моделеру (modeling artist) для того, чтобы он создал трехмерную геометрическую форму модели. На этом первые два шага в процессе производства трехмерной модели заканчиваются, но этого еще недостаточно для того, чтобы модель можно было использовать в финальном проекте.
Дело в том, что после этапа моделирования модель имеет только лишь правильную геометрическую форму, т.е. собака является собакой, автомобиль — автомобилем, но у модели напрочь отсутствуют материалы, которые и предают ей ее уникальные характеристики, а так же делают модель реалистичной. Именно после создания и назначения материалов, трехмерная модель собаки имеет черный окрас шерсти, а автомобиль покрашен красным цветом и имеет коричневый кожаный салон. Без материалов трехмерная модель выглядит серой и безликой, а вот именно материалы и вдыхают в трехмерные модели жизнь.
Пример трехмерной модели механического солдата будущего. Левая часть — чистая трехмерная модель, правая часть — законченная модель с назначенными материалами.
Copyright 2011 © Mike Jensen
Источник: http://eat3d.com/zbrush_hardsurface
Создание и настройка материалов
Что же такое «материалы», которые так нужны трехмерным моделям? Под этим термином подразумевается описание набора свойств поверхности. То есть материал хранит внутри себя описание того, какими свойствами (параметрами) обладает поверхность. Это такие свойства, как: цвет поверхности, глянцевитость или матовость, наличие или отсутствие рельефа, отражение, прозрачность, свечение и т.п.
Материалов существует огромное количество и каждый из них обладает своими, присущими только ему, наборами свойств (параметров). Для каждой трехмерной модели создаются свои материалы. Например, для модели стеклянного фужера нужен всего лишь один материал со свойствами цвета, прозрачности и отражения. А для трехмерной модели человека, нужно несколько материалов. Один для кожи со свойствами цвета, глянцевитости и рельеф, другой для волос, со свойствами цвета, глянцевитости, рельефа и прозрачности, а третий для глаз, со свойствами цвета, отражения и прозрачности.
Материалы создают художники по текстурам (texture artist), а так же могут создавать моделеры или же специалисты по настройке рендера (lighting/shading artist). В крупных компаниях процесс создания геометрической формы трехмерной модели и создание материалов для нее могут выполнять разные специалисты. В небольших компания всю работу по полному циклу производства модели, чаще всего, выполняет моделер.
Пример внешнего вида различных материалов, которые используются для назначения трехмерным моделям.
Источник: http://www.vray-materials.de
А вот создают и настраивают материалы обычно в тех же программах, в которых и создается геометрическая форма трехмерной модели. Это такие пакеты, как: Maya, Softimage, 3dsMax, LightWave 3D, Cinema 4D, Blender, Houdini, Modo и многие другие. Как правило все эти программы предоставляют удобный интерфейс для работы с материалами. А сам процесс работы сводится к тому, что художнику нужно подобрать правильное значение того или иного параметра в конкретном материале для того, чтобы он точнее соответствовал нужной поверхности.
Значения параметров материала художник может менять несколькими способами. Первый способ — это цвет. Например, красный плащ, выглядит красным из-за того, что параметр цвета в материале, который назначен геометрии плаща, задан именно красным цветом. Второй способ изменить или задать параметр материала — это цифровое значение. Например, свойство прозрачности в материале может задаваться числом в диапазоне от 0 до 100, где 0 — означает что модель полностью прозрачна, а 100 — означает, что модель не прозрачна. В то же самое время, значение 68 — сделает модель частично прозрачной. И третий способ — это использование текстур. Например, просто присвоив текстуру с изображением ландшафта трехмерной геометрии ландшафта, мы сразу заставим нашу трехмерную модель выглядеть как ландшафт. Именно третий способ настройки материала используется чаше всего при создании сложных типов материалов.
Пример настройки материалав ПО Autodesk Maya.
Источник: http://www.polycount.com/forum/showthread.php?t=94077
Использование текстур
Текстуры во всех пакетах занимающихся работой с трехмерной графикой делятся на два типа:
Растровые текстуры — это обычные растровые изображения, которые можно получить любы способом: фото, видео технику, сканирования изображений, самостоятельное создание в редакторах растровой графики, таких как Adobe Photoshop, Gimp и др.
Процедурные текстуры — это текстуры, рисунок которых получается благодаря определенному алгоритму (математической формуле). Как правило, такие текстуры бывают не очень детализированными, но очень удобны при получении сложных материалов, где их используют для смешивания между собой растровых текстур.
Чаще художники по текстурам используют именно растровые изображения для создания материалов трехмерных моделей. И тут очень важно помнить об одной особенности растра. Она заключается в том, что качество растрового файла ограничено его размером. Чем больше ширина и высота картинки (изображения), тем выше вероятность того, что материал будет отображаться в качестве при любой степени приближения камеры к поверхности модели. Поэтому современные модели обычно используют текстуры размером минимум 2k (2048 пикселя), а в идеале, хотя бы 4k (4096 пикселя) и даже больше.
При использовании текстур, как составной части материала модели, обязательным является создание текстурной развертки трехмерной модели. Если для материалов, которые созданы без использования текстур, и даже в некоторых случаях при использовании процедурных текстур, создание текстурной развертки не является обязательным требованием, то для растровых текстур это необходимое требование. Поэтому до того, как для трехмерной модели создадут текстуры, ей должны сделать развертку текстурных координат.
Развертка текстурных координат
Для создания трехмерных моделей существует огромное количество инструментов и каждый пакет для моделирования обладает своим инструментарием для выполнения этой задачи. Есть моделирования на базе сплайнов, моделирование с помощью NURBS-кривых, полигональное моделирование, моделирование Sub-D поверхностями, но обычно в самом конце, модель преображают в полигональную сетку. И одна из причин такого конвертирования кроется в том, что для полигонального каркаса не так сложно можно создать развертку текстурных координат.
Под термином развертка (unwrap) — подразумевается процесс создания для каждого полигона трехмерной модели его отображения (проекции) на плоскости координат. Модели, которые создают, являются геометрическими формами расположенными в трехмерном пространстве, а текстуры — это плоские изображения. Развертка позволяет решить вопрос с тем, как на трехмерную геометрию нанести плоское (двумерное) изображение.
Для создания разверток можно использовать как программы, занимающиеся моделированием объектов, так и специализированные программы, которые выполняют исключительно создание разверток. Примерами программ второго типа являются программы: headus UVLayout, Ultimate Unwrap 3D, UVMapper, Unfold 3D.
Есть несколько требований к развертке текстурных координат:
После того, как развертка модели готова, художник по текстурам может заняться созданием набора текстур.
Пример развертки текстурных координат (справа) для трехмерной модели пистолета (слева).
Источник: http://www.polycount.com/forum/showthread.php?t=80947
Создание текстур для трехмерной модели
В данный момент существует два основных способа создания текстур для материала, который в будущем будет назначен трехмерной модели.
Способ первый — это создание текстур в редакторах растровой графики (Adobe Photoshop, Gimp, Painter и т.п.) с нуля или же используя готовые растровые изображения (фотографии, рисунки и т.п.).
Способ второй — создание текстур в специализированных программа для рисования текстур сразу на поверхности трехмерной модели.
Оба способа сейчас активно используются. И у одного, и у второго, есть свои сторонники и противники. И одним, и вторым способом, можно получать качественные текстуры для моделей.
До появления специализированных программ, текстуры рисовали только в редакторах растровой графики по шаблону текстурной раскладки. Этот процесс и сейчас применяют для различных моделей. Единственным недостатком такого способа является то, что в случае наличия шва на модели (места, где разделяются текстурные координаты), художнику нужно его идеально проработать, чтобы он был не заметен на поверхности трехмерной модели. Хотя если швы сделаны правильно, их можно даже и не заметить.
Пример трехмерной модели «дрона» (слева) и набора текстур (справа) созданного в Adobe Photoshop.
Источник: http://nickolasjjackson.com/?p=107
С выходом специализированного программного обеспечения, которое позволяет создавать текстуры прямо на поверхности трехмерных моделей, многие художники по текстурам, особенно те, кто занимается разработкой персонажей, т.е. созданием органических моделей, отказались от использования растровых редакторов и предпочитают создавать текстуры именно в этих программах. Конечно, они тоже используют растровые редакторы для выполнения дополнительных корректировок, но все же основную работу делают в специальном ПО.
Примером таких программных решений являются пакеты: MARI, Mudbox, Zbrush, 3DCoat, BodyPaint 3D. Главная особенность этих программ заключается в том, что они сами решают проблему швов и дают возможность художнику полностью сосредоточиться на творческой стороне процесса. Немаловажным является и тот момент, что эти программы не только позволяют создавать текстуры разных типов, но и мгновенно видеть как та или иная текстура оказывает влияние на модель.
Процесс текстурирования (создания текстур) трехмерной модели в Autodesk Mudbox.
Источник: http://pencilandcomputer.blogspot.com/
Типы текстур
Еще одним немаловажным моментом при создании текстур является создание текстур различных типов. Как было сказано выше, в материале, который будет присвоен модели, есть различные параметры и каждый из них по своему влияет на внешний вид материала. Есть параметры цвета, бликов, отражения, рельефа и многие другие. И для каждого из этих параметров должна быть создана своя текстура. Некоторые параметры материала понимают и работают с цветом, поэтому им требуется текстура цветная. А вот некоторые не понимают цвета пикселя и им нужна текстура в градации серого цвета. Поэтому, как правило, для трехмерной модели создается целый набор текстур. Обычным стандартным набором текстур являются текстуры:
В тех или иных случаях этот список может быть расширен дополнительными текстурами. И только после того, как все текстуры будут созданы можно настроить материал и присвоить его трехмерной модели. Именно после этого этапа, серая и безликая трехмерная геометрия оживает. После этого всем ясно, что представляет из себя та или иная часть модели, из чего она сделана и как выглядит.
Пример набора текстур для трехмерной модели. Diffuse map — текстура цвета. Specular color map — текстура глянцевости. Normal map — текстура рельефа. Mask map — текстура прозрачности.
Источник: http://fanxuart.wordpress.com/3d-art/character-texture/
Теперь модель может быть передана дальше по производственной цепочке аниматору, который еще больше «оживит» ее, создав для нее наборы анимационных циклов и фаз движений. А этап текстурирования на этом можно считать завершенным.
Расскажите о своем проекте:
Подумайте дважды, прежде чем обращаться к нам. Если хотите работать с нами, то будьте готовы к нашему независимому мнению, высоким бюджетам и требовательному подходу к работе.
Гайд по текстурированию: последовательность построения материалов
Итак, мы разобрались с проверкой запеченных карт в прошлых статьях, и теперь — самое время перейти к текстурированию.
С чего начать? Правильнее будет так: с чего точно не стоит начинать. Первым делом не стоит стремится сразу же отобразить какие-то частные детали, интересные элементы, следы износа, грязь и так далее. Как и в моделировании, развертке или запекании, нужно двигаться от общего к частному.
От блокаута к детализации, от единичных швов до упаковывания всей UV, от базовых цветов до детализированных материалов.
Некоторые художники могут работать по другому пайплайну и строить целые миры вокруг одной интересной детали, но мы говорим о самом простом и понятном способе.
Итак, в текстурировании важна последовательность. Сначала нужно проанализировать референсы, найти основные материалы на объекте (металл, пластик, кожа, ткань, стекло) и распределить их в соответствующие слои и папки.
На этом этапе имена папок/слоев лучше назначать максимально адекватно, а не «FillLayer03», «Plastic02», «BaseMetal02». Называй их так, чтобы сразу понимать что находится в папке. Чуть позже, когда материалы усложнятся и слоев станет больше, будет намного проще ориентироваться.
Можно использовать что-то вроде «green_paint_metal» для базового слоя окрашенного металла, а при добавлении слоев с разнообразием, называть их «green_p_metal_c_var», где c — color.
Так же и с другими каналами: «green_p_plastic_r,h_var», где r — roughness, а h — height. Тогда, при желании убрать/добавить какой-то конкретный элемент в конкретном слое, тебе не придется искать его по папкам 20 минут и включать/выключать каждый слой.
Когда материалы созданы, можно приступать к рисованию масок. Один из самых простых вариантов — создать маску на уровне папки и в дальнейшем работать и видоизменять материал внутри неё не боясь, что какие-то изменения перенесутся на соседние UV шеллы.
Как видно на примере, маска для black_plastic назначена на конкретные элементы. Теперь нет необходимости думать о том, что мы делаем в слоях, которые лежат под маской — это никак не повлияет на слои выше или ниже папки. Бывают исключения, но о них мы отдельно расскажем в другой статье.
Маски распределены — теперь у нас есть объект, разбитый на базовые материалы. Пора финально оценить выбранные цвета и оттенки перед началом детализации.
Посмотри критическим взглядом, не выбиваются ли какие-то элементы из общей картины, достаточно ли контраста между материалами, нет ли ощущения монотонности или каких-то «лишних» цветов. В будущем можно будет внести изменения, но помни, что чем дальше ты уходишь в детализацию и балансирование слоев, тем сложнее будет что-то менять в основе.
Также рекомендуем использовать PBR validator. Он поможет определить, не выходят ли значения в каналах созданных слоев за границы PBR.
К примеру, если ты окрасишь какой-то элемент в абсолютно черный цвет — валидатор пометит его как проблемную зону. Это позволит в самом начале избавится от будущих проблем.
Всё, база готова! Теперь можно начинать углубляться в детали. В следующей статье мы разберем дальнейшие шаги в текстурировании. Stay tuned.
Стилизация 3D-персонажа: модель, текстура, детали
Потрясающий 3D-художник Луана Буэно (Luana Bueno) подробно рассказала о создании своей низкополигональной фан-версии Элой из Horizon Zero Dawn.
Введение
Меня зовут Луана, я художник 3D-персонажей из Сан-Паулу. Я переехала сюда шесть лет назад, потому что выиграла обучение геймдизайну в колледже Anhembi Morumbi.
Впервые я встретилась с 3D в колледже, но в то время я уже занималась концепциями и иллюстрациями в своей группе, тогда у меня не было возможности глубоко изучить эту область.
Когда я впервые увидела разрисованную от руки модель, то поняла, что нашла себе работу, которой хочу заниматься.
Долгое время я работала в рекламе, а по вечерам изучала 3D. После этого я работала какое-то время моделлером для VR-игры RoVr.
Сейчас я занимаюсь фрилансом и работаю над своим портфолио.
Могу с уверенностью сказать, что изучать 3D приятнее, когда у тебя есть компания друзей, которая может помочь и сделать путешествие интереснее. Они как зелья маны, восстанавливающие мою энергию, когда я преодолеваю каждое препятствие.
Продакшен
Я начала проект со сбора множества референсов: самой Элой, актрис или моделей, которые, как я считала, помогут мне набросать отдельные части лица Элой или создать текстуру. Об этом важно было сказать, потому что я вижу, что многие люди начинают проект, не пользуясь референсами. Могу с уверенностью сказать, что если собрать хорошие референсы, то вероятность успеха проекта становится на 50% выше.
Существуют разные программы для упорядочивания референсов. Я пользуюсь Pure Ref.
Вот моя доска референсов. В начале она была более упорядоченной, но в процессе работы над проектом я перемещала изображения.
Я начала с создания заготовки в ZBrush. Эта заготовка очень черновая и нужна только как основа для ретопологии в будущем.
Заметьте, что я не вдавалась в подробности, потому что знала, что эти детали будут реализованы в текстуре.
Пропорции
Перед началом проекта я импортировала референс в Photoshop и создала необходимые линейные направляющие, которые должны были помочь мне при моделировании.
Это важный процесс изучения концепта. Я анализирую пропорции и количество надетых на персонажа аксессуаров.
На самом деле все детали отрисовывались на текстуре. Модель — это созданный в Maya простой меш с силуэтом и формой, которая была мне необходима для создания хорошего рисунка текстуры.
Текстурирование
Начинаем с UV: хотя модель является бюстом, я решила разделить её на две UV, одна для лица и одежды, а другая для волос, меха и других частей, требовавших прозрачности. Я сделала такой выбор, потому что мне требовалось высокое разрешение текстуры.
Благодаря друзьям я научилась быть очень придирчивой к тому, как организованы мои UV; они очень требовательны и заставили меня критически относиться к своей работе.
Создание чётких и упорядоченных UV уже стало неотъемлемой частью моего рабочего процесса, к тому же это делается очень просто. От художника требуется только не растягивать текстуру в некоторых областях.
Перейдём к текстурам. В рисуемых от руки текстурах мне нравится то, что в них важно не техническое понимание, а наблюдательность и упорство. Мы должны работать со множеством инструментов, но когда дело доходит до текстуры, остаёмся только я и полностью серая модель, ожидающая, когда в неё вдохнут жизнь.
Целью этого проекта с самого начала было усовершенствование моего навыка рисования текстур от руки. Я не запекала никаких карт, которые могли бы помочь мне в рисовании.
Я начала с нанесения на всю модель базовых цветов, а затем улучшала её часть за частью. Первой частью, на которую я обратила внимание, стало лицо.
В качестве референса я использовала работы художника по имени Pug.
Вот ссылка на блог его школы, на котором есть несколько работ, созданных им и его студентами. Надеюсь, эти модели станут источником вдохновения и для других художников, рисующих от руки.
Примечание: я не знаю китайского, поэтому чтобы понять блог, мне тоже пришлось пользоваться переводчиком. Но оно того стоило!
Что касается головы, то я рисовала каждый волос отдельно. Это похоже на безумную работу, но она стоила усилий — рисуя и перерисовывая многие области, я многому научилась.
Когда работаешь с текстурой, нет никаких секретов или волшебных кистей, с помощью которых можно получить идеальную текстуру. Приходится просто делать и переделывать, пока со временем ты неизбежно достигнешь хорошего результата.
Работа с 3D-Coat
Практически вся Элой была разрисована в 3D-Coat. Это идеальный инструмент для текстурирования рисуемых вручную моделей. Я использую плоский вид (flat view) (горячая клавиша «2» в 3dCoat), который даёт мне полный контроль над рисунком.
Для создания плетёного украшения на шее я воспользовалась Photoshop. Я пыталась нарисовать его вручную, но мне не удавалось сделать его однородным, поэтому я нашла изображение плетения, похожего на украшение Элой и в Photoshop наложила его непосредственно на UV, а потом использовала его как образец для рисования в 3DCoat.
После отрисовки текстур я задала в Photoshop карту непрозрачности (opacity map) и подправила цвет волос.
Сложности
До этого проекта в моём портфолио не было персонажей-людей, и я понимала, что мне неизбежно придётся изучать анатомию и рисование от руки. Я всё равно вынуждена была бы это сделать, и для этого как раз настало подходящее время.
Я очень хотела сделать бюст женского персонажа с другой причёской и несколькими деталями.
Я начала искать концепты, которые бы могли мне понравиться, но не находила их. Однажды в разговоре мой друг Алекс упомянул игру Horizon и тогда я поняла, что буду моделировать Элой.
Я знала, что начинать с бюста такого сложного персонажа будет непросто, но меня не очень волновала сложность, я просто взялась и сделала.
Больше всего меня беспокоили шейные украшения и волосы. Проблему с украшениями я решила гораздо быстрее, чем могла представить, и сделанный моделью прогресс дал мне больше уверенности, чтобы продолжать работу.
С волосами всё оказалось немного сложнее — когда я начала рисовать текстуру, то увидела, что меш вёл себя не очень хорошо, поэтому вернулась в Maya и переделала заготовку, после чего снова открыла UV-развёртки. И даже после этих изменений пришлось несколько раз перерисовывать волосы, пока не получился приемлемый для моего глаза результат.
Что делает эту модель интересной? Чтобы завершить каждую её часть, мне приходилось преодолевать себя как художника. Я знаю, что это не только моя работа — каждый отзыв, который я получала от друзей, помогал мне завершить Элой и шаг за шагом делать её ещё более настоящей Элой.