С радостью приветствую всех на нашем первом занятии, посвящённом текстурированию! (До этого были первые занятия по общим принципам и моделированию.)
Сегодня мы познакомимся с основами работы в редакторе материалов, а также узнаем, как назначать текстурные координаты.
Ведь мало создать хорошую модель - надо ещё сделать так, чтобы она смотрелась реалистично. Без хороших материалов и текстур даже самое гениальное творение при рендеринге будет казаться в лучшем случае пластиковым.
НЕМНОГО ТЕОРИИ
Работа со слотами материалов.
Операции с материалами выполняются в окне Material Editor, которое по умолчанию вызывается/убирается нажатием клавиши M на клавиатуре.
Как мы видим, в верхней части окна расположены слоты с образцами материалов, под ними и справа - куча разных кнопочек, а в нижней части - свитки со свойствами конкретного выбранного материала или карты.
Назначить объекту выбранный материал можно двумя способами:
1. Курсором перетащить нужный материал из слота на объект (удерживая левую кнопку мыши).
2. Если вы боитесь промахнуться, можно поступить иначе: сначала выделить объект или группу объектов, а затем в Material Editor'е нажать кнопочку Assign Material to Selection (третья слева под слотами).
После назначения материал в слоте будет выделен белыми треугольничками по углам. Это признак того, что в сцене присутствуют объекты, которым назначен данный материал. (И значит, меняя свойства материала, можно управлять отображением этих объектов при визуализации.) Когда треугольники полностью заполнены белым, это вдобавок означает, что в данный момент выделен один из таких объектов.
Количество одновременно отображаемых слотов можно менять. Кликните по кнопке Options (седьмая сверху), чтобы вызвать настройки редактора материалов. Внизу диалогового окна, в группе Slots, можно будет выбрать один из трёх вариантов отображения (3x2, 5x3 или 6x4).
Внимание! Помните, что количество материалов в сцене может быть любым, оно НЕ ограничено количеством слотов. Слоты служат лишь для редактирования.
Предположим, у вас закончились все свободные слоты, а надо создать ещё один материал.
Выберите тогда какой-нибудь из материалов с белыми уголками, а затем кликните по кнопке Reset Map/Mtl to Default Settings (четвёртая слева).
Возникнет диалоговое окно, где вас спросят, удалить материал вообще из сцены, или только из слота. Выберите "Affect only mtl/map in the editor slot" и нажмите ОК, чтобы удалить материал из слота, оставив его при этом в сцене.
Слот материала вернётся к базовым настройкам, и вы сможете создать какой-нибудь другой материал.
Если же вы передумали, и хотите вернуть обратно прежний материал, просто выделите нужный слот, кликните Pick Material from Object (пипетка рядом с названием материала), а затем выберите объект сцены, с которого вы хотите взять образец материала.
Имейте в виду, что материал, который НЕ назначен ни одному объекту сцены (НЕ имеет белых уголков), будет удалён навсегда, если вы примените к его слоту Reset Map/Mtl to Default Settings или Pick Material from Object.
Если вы хотите сохранить удаляемый/заменяемый вами материал, то создайте хотя бы какую-нибудь сферу где-нибудь в сторонке, и назначьте ваш материал этой сфере, чтобы затем можно было взять его пипеткой, когда он понадобится.
Также можно поместить материал в специальную библиотеку при помощи кнопки Put to Library, но на этом мы пока останавливаться не будем.
Пока достаточно информации по этой теме. Напоследок упомянем, что материалы, помимо всего прочего, можно копировать из одного слота в другой. Для этого достаточно перетащить материал в другой слот, удерживая нажатой левую кнопку мыши.
Типы материалов.
Материалы бывают самых разных типов. Изначально материалы во всех слотах имеют тип Standard. Вы можете поменять тип материала, кликнув по одноимённой кнопке (справа под слотами). При этом откроется окно Material/Map Browser, где вам предложат выбрать один из предложенных базовых типов или взять готовый материал из библиотеки.
Скажем, материал Ink 'n Paint позволяет имитировать "рисованный" комиксовый стиль при рендеринге объекта. Материал Blend даёт возможность смешивать два разных материала при помощи маски прозрачности, а материал Composite - объединять несколько материалов в одном, назначая каждому свой канал ID. (Более подробно мы рассмотрим их в будущих уроках.)
Для каждого типа материалов характерен свой набор параметров. К примеру, настройки материала Ink 'n Paint значительно отличаются от набора свойств материала Blend. Пока мы вкратце поговорим только о материале Standard.
В нижней части Material Editor'а вы можете видеть свитки, содержащие настройки материала.
В свойствах материала Standard особое внимание следует обратить на:
- Свиток Shader Basic Parameters (базовые настройки шейдера). Позволяет выбрать в выпадающем списке подходящий тонировщик (к примеру, для имитации металла больше подойдёт метод тонировки Metal). Кроме того, там можно настроить некоторые другие свойства отображения материала.
- Свиток Blinn Basic Parameters. Содержит настройки для выбранного тонировщика. По умолчанию это Blinn, но если вы выберете, к примеру, Metal, то название свитка поменяется на Metal Basic Parameters.
Скажем, у Blinn основными параметрами являются Specular Level, Glossiness и Soften, они влияют на отображение бликов света. Что, в свою очередь, позволяет создать эффект глянцевой или, скажем, матовой поверхности.
А вот у Metal параметр Soften отсутствует, потому что металлические поверхности, как правило, имеют довольно резко очерченные блики.
...Однако и тот, и другой тонировщики содержат настройки непрозрачности (свойство Opacity), так что вы сможете насладиться видом полупрозрачного металла, если уменьшите значение этого параметра до, скажем, 50 единиц. Чтобы прозрачность была лучше заметна, можно включить фон для образца материала кнопкой Background (рядом со слотами, третья сверху).
По сути дела, название "Metal" достаточно условно.
- Свиток Maps. Содержит карты материала, влияющие на его цвет, прозрачность, фактуру и т.д. Более подробно поговорим об этом ниже.
Работа с текстурными картами.
Помимо основной текстуры, материалу можно назначать массу "вспомогательных" текстур или, иначе говоря, карт (maps), управляющих такими его свойствами, как шероховатость поверхности, прозрачность, отражающие свойства, и т.д.
В отличие от основной карты Diffuse, большая часть вспомогательных текстур, как правило, не нуждается в цветовой составляющей. (К примеру, для карты Bump, позволяющей имитировать неровности, вполне достаточно чёрно-белой текстуры. С цветными текстурами эта карта тоже работает, но цветовые оттенки не оказывают на неё никакого влияния, важна только яркость пиксела.)
Назначить текстурную карту, скажем, для канала Bump, проще простого.
Кликните по кнопке с надписью None напротив строки Bump, и в появившемся окне Material/Map Browser'а укажите, к примеру, процедурную карту Noise (шум).
Как вы можете заметить, поверхность материала в слоте теперь выглядит неровной. (Дважды щёлкните по образцу материала, чтобы посмотреть увеличенный образец.)
Кроме того, теперь в нижней части окна отображаются не настройки материала, а настройки одной из его текстур, конкретно - Noise для Bump'а. Чтобы вернуться на предыдущий уровень редактирования, нажмите кнопку Go to Parent (вторая слева, под слотами материалов).
Рассмотрим наиболее важные каналы материала Standard:
Diffuse Color (диффузный цвет) - сюда кидаем собственно текстуру объекта.
Glossiness (глянцевость) - позволяет более тонко управлять глянцевостью объекта (делать разные значения для разных областей его поверхности).
Self-Illumination (самосвечение) - с помощью этого канала можно сделать так, чтобы объект местами светился.
Opacity (непрозрачность) - можно местами делать объект прозрачным или полупрозрачным.
Bump (выпуклость) - позволяет при рендеринге имитировать неровную поверхность, НЕ добавляя при этом дополнительных полигонов. Всем хорош, вот только на контуры объекта он не влияет, только на текстуру... Так что края объекта остаются идеально гладкими. Тем не менее, Bump очень полезен, когда требуется создать какую-то мелкую фактуру.
Reflection (отражение) - назначив этому каналу соответствующую карту, можно сделать так, чтобы, скажем, на шахматной доске белые клетки были зеркальными, а чёрные ничего не отражали (и наоборот).
Refraction (преломление) - можно управлять прозрачностью объекта и преломлением в нём лучей.
Displacement (смещение) - аналогичен Bump'у, но в отличие от него действительно делает поверхность объекта неровной, создавая дополнительную геометрию в процессе рендеринга. Соответственно, контуры объекта получаются не гладкими, а шероховатыми, что добавляет реалистичности. Вот только Displacement очень требователен к системным ресурсам, поэтому использовать его следует лишь в тех случаях, когда нельзя обойтись одним лишь Bump'ом.
Типы текстурных карт.
С каналами материала Standard мы разобрались, посмотрим теперь, какие им можно назначить текстурные карты.
Как уже говорилось выше, для всех остальных карт, кроме Diffuse, вполне сгодится и чёрно-белое изображение, оттенки серого. (Для Diffuse тоже сгодится, но зрителям будет не очень интересно смотреть чёрно-белое кино. )
В общем случае, текстурные карты бывают двух видов: растровые (обычная картинка из пикселов) и процедурные (картинка вычисляется математически, её вид зависит от ряда параметров текстуры).
Процедурные карты хороши тем, что у них не существует понятия "разрешение". (Тогда как растровые карты всегда имеют "столько-то на столько-то точек", и при маленькой текстуре, натянутой на большой объект, пикселы сильно бросаются в глаза.)
С другой стороны, процедурные карты дольше считаются при визуализации, и к тому же, их возможности ограничены по сравнению с растровыми изображениями.
Растровая карта назначается выбором карты Bitmap в Material/Map Browser'е (окно которого появляется после клика по кнопке напротив названия соответствующего канала, к примеру Diffuse). Вам предложат указать путь к файлу изображения.
Примером же процедурной карты может служить пресловутый Noise (шум).
Для каждого типа процедурных карт, опять-таки, характерен свой набор параметров. Однако кое-что общее у большинства из них есть: свиток Coordinates, позволяющий управлять проецированием карты на поверхность объекта. Можно настраивать смещение текстуры (Offset) и количество повторений (Tiling), а также угол поворота и некоторые другие параметры.
Подробнее обо всём этом будет рассказано позднее.
Навигация по структуре
Одни материалы могут содержать в себе набор других материалов, каждый из которых, в свою очередь, содержит набор текстурных карт (причём большинство процедурных карт могут включать в себя набор других карт, регулирующих определённые их параметры).
Как разобраться во всём этом нагромождении и не свихнуться? Для этого существует удобный инструмент Material/Map Navigator (не путать с Material/Map Browser'ом!). Вызывается он кликом по одноимённой кнопке Material/Map Navigator (рядом со слотами, самая нижняя из вертикального ряда).
Как видите, в окне Material/Map Navigator'а изображено дерево структуры материала. По умолчанию оно отображается в режиме "View List", но лично я предпочитаю "View List + Icons", так нагляднее. Чтобы переключиться в этот режим, кликните по одноимённой кнопке в верхней части окошка.
Чтобы перейти к редактированию какой-нибудь текстуры, достаточно кликнуть по соответствующей строчке.
Назначение текстурных координат
Отвлечёмся теперь от Material Editor'а.
Чтобы раскрасить объект как следует, мало создать хорошие материалы и текстуры. Надо ещё настроить способ проецирования текстур на этот объект, указать, как они будут на нём располагаться. Иными словами, выполнить маппинг.
Делается это при помощи специальных модификаторов, применяемых к объекту - таких как UVW Map и Unvrap UVW.
...Но я не буду сейчас подробно распространяться на эту тему, поскольку уже до меня написаны хорошие уроки. (См. ниже.)
ПРАКТИКА (ДОМАШНЕЕ ЗАДАНИЕ)
Внимательно прочитайте теорию и постарайтесь выполнить практическую часть следующих уроков:
Простое текстурирование
Здесь подробно освещаются азы работы с текстурными координатами.
Сложное текстурирование
Текстурирование объектов сложной формы, использование Unwrap UVW. Модель для этого урока следует скачать отсюда.
Работы принимаются до понедельника.
Готовые изображения выкладываем в этой теме.
Файлы сцен присылаем мне на e-mail: denis_russkih@mail.ru
ВНИМАНИЕ!!! Файлы текстур НЕ сохраняются в файле сцены, сохраняются только пути к ним. Поэтому, пожалуйста, не забудьте вложить в архив все текстуры, которые вы использовали.
Удачи и успехов!
P.S. Оценки за предыдущее домашнее задание будут выложены чуть позже.