Большое влияние на внешний вид материала оказывает модель тонирования, определяемая в свитке ShaderBasicParameters. По умолчанию устанавливается модель Blinn, именно она была нами задействована во всех предыдущих примерах. Данная модель, равно как и модель Oren-Nayar-Blinn, отлично подходит для визуализации самых разных типов материалов, например дерева, штукатурки, камня, керамической плитки, матового стекла, резины. Часто применяется модель Phong, используемая для визуализации любых типов пластиков и ряда блестящих поверхностей, а также модели Metal и Strauss, которые подходят для создания полированных поверхностей, таких как металл или прозрачное стекло.
Попробуем воспользоваться моделью Phong для создания пластика. Сформируйте объект типа TorusKnot, в окне редактора материалов активируйте свободный слот, установите модель Phong, а затем настройте параметры в свитке PhongBasicParameters в соответствии с рис. 40 и присвойте объекту данный материал (рис. 41). Сохраните материал в библиотеке.
Рис. 40. Настройка параметров в свитке PhongBasicParameters
Рис. 41. Красный пластик
Теперь применим модель тонирования Metal для создания металлической поверхности. Установите для свободного слота данную модель, в открывшемся свитке MetalBasicParameters снимите блокировку между цветами Ambient и Diffuse, щелкнув по соответствующей кнопке, — это позволит устанавливать разные оттенки для данных параметров. Настройте прочие параметры свитка (рис. 42) и присвойте созданный материал объекту, поверхность которого станет напоминать бронзу. Сохраните материал в библиотеке.
Рис. 42. Настройка параметров в свитке PhongBasicParameters
Рис. 43. Бронза
Попробуем использовать модель Metal для получения материала, имитирующего кожуру апельсина. Создайте шар, выделите его, в редакторе материалов для свободного слота установите модель Metal. В свитке MetalBasicParameters установите для параметров Ambient и Diffuse один и тот же оранжевый цвет, присвойте материал объекту (рис. 44). Для имитации шершавости в свитке Maps выберите текстурную карту Bump и установите текстуру Noise — увы, использование данной текстурной карты с параметрами по умолчанию нужного эффекта пока не дало (рис. 45) по причине слишком большого размера фрагментов шума. Поэтому откройте свиток NoiseParameters и уменьшите значение параметра Size (размер) до 1 (рис. 46) — результат рендеринга показан на рис. 47. Теперь осталось лишь избавиться от слишком темного оттенка материала, для чего достаточно подобрать числовое значение для спиннера параметра Self-Illumination (рис. 48). Окончательный вариант визуализированного объекта показан на рис. 49. Сохраните материал в библиотеке.
Рис. 44. Вид объекта после присвоения ему материала
Помимо моделей тонирования на способ тонирования объекта регулируется рядом дополнительных флажков, включаемых/выключаемых в том же свитке ShaderBasicParameters:
Wire (каркасный) — визуализация только каркаса объекта. Используется для имитации проволочных моделей, плетеных корзинок и т.п.;
FaceMap (граневая карта) — приложение материала с применением текстурных карт к каждой грани объекта. Бывает актуально при применении текстурных карт;
2-Sided (двусторонний) — визуализация не только лицевых, но и обратных граней объекта, что необходимо при создании полупрозрачных материалов;
Faceted (Граневый) — выключение сглаживания ребер и придание объектам ограненного вида. Актуально, например, при моделировании кристаллов.
Перейдем к более сложной задаче и попробуем создать тонированное стекло, для чего вновь обратимся к модели тонирования Blinn, но уже при включенном флажке 2-Sided (Двусторонний) — установите данные параметры для свободного слота (рис. 50). Настройте основные цветовые составляющие создаваемого материала, определив цвета для параметров Ambient, Diffuse и Specular — в данном случае были взяты темно-синий, синий и голубой, так как по замыслу мы создаем тонированное стекло синего цвета. Уменьшите значение параметра Opacity до 10-15 единиц и настройте параметры зеркального блика: SpecularLevel и Glossiness (рис. 51).
Рис. 50. Настройка параметров в свитке ShaderBasicParameters
Рис. 51. Настройка параметров в свитке BlinnBasicParameters
При создании полупрозрачных материалов помимо основных параметров, настраиваемых в свитке BlinnBasicParameters, может потребоваться корректировка расширенных параметров Falloff (спад) и Туре (тип прозрачности) из группы AdvancedTransparency (дополнительная регулировка прозрачности) в свитке ExtendedParameters. Первый используется для создания материалов с неоднородной прозрачностью, второй позволяет задать способ отображения прозрачных материалов через канал цвета. Учитывая, что речь идет о тонированном стекле, для параметра Falloff нужно выбрать вариант In (внутренняя), что означает внутреннюю неоднородную прозрачность, а для параметра Туре установить вариант Filter (фильтр) и выбрать цвет — в данном случае опять темно-синий (рис. 52). По окончании действий присвойте материал объекту и проведите рендеринг (рис. 53). Сохраните материал в библиотеке.
Рис. 52. Настройка параметров в свитке ExtendedParameters
Рис. 53. Стекло
Попробуем создать каркасный объект, напоминающий проволочную сетку. Для нового слота установите модель тонирования Phong и включите флажки Wire и 2-Sided (рис. 54). В свитке PhongBasicParameters определите цветовой тон объекта (параметр Diffuse) и цветовой тон блика (параметр Specular) и определите параметры зеркального блика (рис. 55). Наложите материал на объект и проведите рендеринг — каркасный объект будет получен, однако сетка, лежащая в его основе, окажется достаточно редкой (рис. 56). При желании плотность сетки можно увеличить. Добавьте к объекту модификатор MeshSmooth (сгладить сетку), выбрав его из списка ModifierList, и увеличьте число итераций в свитке SubdivisionAmount (рис. 57) — металлический каркасный объект преобразится (рис. 58). Сохраните материал в библиотеке.
Рис. 54. Настройка параметров в свитке ShaderBasicParameters
Рис. 55. Настройка параметров в свитке PhongBasicParameters
Рис. 56. Начальный вид каркасного металлического объекта
Усложним задачу и создадим материал, наложение которого создавало бы иллюзию того, что объект покрыт перламутром. Это означает, что материал должен обеспечивать внешнее и внутреннее свечение объекта, причем с эффектом преломления отражающихся от его поверхности лучей. Вначале просто добьемся эффекта внешнего и внутреннего свечения. Установите модель тонирования Blinn. В свитке BlinnBasicParameters определите цветовые составляющие материала, установив цвета для параметров Ambient, Diffuse и Specular, например в зеленых тонах. Для внешнего свечения укажите достаточно большие значения параметров SpecularLevel и Glossiness, а для внутреннего — в группе Self-Illumination установите в спиннере значение 60 (рис. 59). Результат присвоения созданного материала спирали и рендеринга показан на рис. 60 — пока спираль только стала иметь блестящую поверхность, но без всякого отражения. Для создания эффекта отражения раскройте свиток Maps и на канале Reflection (Отражение) добавьте текстурную карту Raytrace (рис. 61), затем в свитке RaytracerParameters смените фоновый цвет с черного на серый (рис. 62). Это приведет к появлению своеобразного варианта преломления, что и создаст иллюзию перламутровой поверхности, причем поверхность по-прежнему будет иметь зеленый оттенок (рис. 63). Сохраните материал в библиотеке.
Рис. 59. Настройка параметров в свитке BlinnBasicParameters
Рис. 60. Блестящая спираль
Рис. 61. Добавление текстурной карты на канале Reflection
Рис. 62. Настройка параметров в свитке RaytracerParameters
Рис. 63. Зеленый перламутр
Напоследок попробуем воспользоваться некоторыми из полученных результатов, внедрив материалы в простую сцену с реальными объектами: обычной вазой и вазой для фруктов с тремя апельсинами, находящимися на столе. Для упрощения задачи вместо стола ограничимся его столешницей в виде обычной плоскости (примитив Plane), апельсины заменят обычные шары, а обе вазы получим лофтингом с последующей деформацией лофтинг-модели.
За основу обеих ваз возьмем два 16-угольника и линию — отличие будет лишь в том, что для вазы с фруктами длина линии должна быть значительно меньше. Линию создайте обычным образом, затем инструментом NGon сформируйте первый 16-угольник, сделайте его копию и немного уменьшите радиус последней. Превратите 16-угольник в редактируемый сплайн и перейдите в режим редактирования сплайнов, щелкните на кнопке Attach (присоединить) и в качестве добавляемого укажите второй 16-угольник — оба многоугольника станут составными частями одного и того же сплайна, и теперь их можно будет использовать как сечение (рис. 64). Создайте лофт-объект, указав комбинацию многоугольников в качестве сечения и линию как путь — получится что-то наподобие многогранной трубы (рис. 65). Выделите лофт-объект и вызовите окно ScaleDeformation из свитка Deformation (деформация). Преобразуйте кривую деформации в соответствии с рис. 66. Затем дополнительно создайте линию (предполагаемый путь), для вазы с фруктами и смоделируйте ее точно таким же способом — особенности деформации данного лофт-объекта показаны на рис. 67. Дополните сцену плоскостью и тремя апельсинами и тщательно разместите все объекты (рис. 68 и 69).
Рис. 64. Исходные элементы для первого лофт-объекта
Рис. 65. Труба с гранями
Рис. 66. Окно ScaleDeformation для первого лофт-объекта
Рис. 67. Окно ScaleDeformation для второго лофт-объекта
Рис. 68. Окна проекций сцены
Рис. 69. Вид визуализированной сцены до присвоения объектам материалов
Откройте окно материалов, активируйте первый слот и щелкните на кнопке GetMaterial. В разделе BrowseFrom подсветите переключатель MtlLibrary (Из библиотеки) — откроется список созданных и сохраненных ранее в библиотеку материалов (рис. 70). Дважды щелкните, например, на материале для имитации кожуры апельсина, в результате чего данный материал загрузится в выделенный слот, затем последовательно присвойте материал всем трем апельсинам. Аналогичным образом откройте материал, имитирующий стекло и установите его для вазы с фруктами. Один из вариантов материалов, имитирующих каменную поверхность, выберите для цветочной вазы, а имитирующих дерево — для столешницы. Возможный результат экспериментов представлен на рис. 71.
Рис. 70. Окно Material/MapBrowser со списком сохраненных в библиотеке материалов
Рис. 71. Вид визуализированной сцены после присвоения объектам материалов