Главная страница » Как загрузить материал в блендер

Как загрузить материал в блендер

  • автор:

1.3. Материалы и текстуры

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

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

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

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

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

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

Модель Ламберта хорошо подходит только для сравнительно гладких поверхностей. Для моделирования шероховатой, бархатистой или запыленной поверхности часто используют диффузную модель Орена-Найара (Oren-Nayar), которая основана на предположении, что поверхность состоит из множества бесконечно малых микрограней, освещение каждой из которых описывается моделью Ламберта. Модель Орена-Найара имеет параметр для контроля шероховатости поверхности (Roughness). Этот параметр определяет, сколько света отразится назад в направлении источника света.

В Blender чаще всего используются именно эти две диффузные модели. Помимо диффузной, используется также бликовая составляющая освещенности. Бликовая составляющая (specular term) – это количество света, зеркально отраженного поверхностью. Блик – это прямое отражение источника света на поверхности объекта. Если учесть, что в компьютерной графике используются идеализированные объекты, возникает закономерный вопрос: почему точечный источник света, не имеющий объема и невидимый сам по себе, отражается как относительно крупный размытый световой блик? Этот феномен также объясняется наличием микрограней: они имеют собственные вектора нормалей, отклонение которых от основной нормали поверхности меняют интенсивность зеркально отраженного света.

Цвет блика может не совпадать с цветом материала. Это справедливо для некоторых многослойных материалов – например, пластик представляет собой «слоеный пирог» из пигмента и прозрачного полимера: блик дают прозрачные слои, а диффузное рассеивание – цветные. Однородные материалы такого эффекта не производят, и блики на них имеют тот же цвет, что и сами материалы. Яркий пример – металл.

Для сравнительно гладких материалов (таких, как пластик или металл) обычно пользуются эмпирической моделью Фонга (Phong). Она не соответствует точному физическому описанию отражения света, но в большинстве случаев позволяет достичь приемлемых реалистичных результатов. Формула Фонга основана на простом наблюдении: блестящие поверхности дают маленькие и резкие блики, в то время как матовые – большие и размытые. Более согласованная с физикой модель, которая поддерживается в Blender – модель Кука-Торренса (Cook-Torrance). Она основана на допущении, что поверхность состоит из микрограней, каждая из которых является идеальным зеркалом.

Зная, где и как правильно применять эти модели, можно моделировать объекты, по внешнему виду максимально приближенные к реальным.

Так, для матовых поверхностей вроде камня, бетона или бумаги лучше всего подходит модель Ламберта. Блики на пластике, фарфоре, металле, матовом стекле имитируются моделью Фонга. Бархат, вельвет, ковры и некоторые другие виды тканей лучше всего воссоздаются моделями Орена-Найара и Кука-Торренса. В Blender материал объекту можно добавить в редакторе свойств, который по умолчанию находится в правой части окна программы. Переключите панель со значками на Material, добавьте объекту новый материал (если его нет) при помощи кнопки New.

Рассмотрим основные параметры материала.

Diffuse. Цвет и модель диффузной (рассеянной) компоненты освещенности. Вы можете указать цвет, нажав по нему левой кнопкой мыши – появится RGB-палитра с возможностью точного подбора каналов цвета.

Specular. Цвет и модель бликовой (зеркальной) компоненты освещенности. Форма блика зависит от выбранной модели и специфичных для нее параметров – это может быть как маленькая резкая точка, так и большое размытое пятно.

Transparency. Если поставить галочку напротив этого параметра, можно сделать объект прозрачным. Степень прозрачности контролируется параметром Alpha. Существует несколько типов прозрачности, в том числе с поддержкой преломления световых лучей, как и в реальных материалах – мы еще рассмотрим их подробнее в следующей главе.

Mirror. Если поставить галочку напротив этого параметра, поверхность объекта будет зеркально отражать окружающие предметы. Степень отражаемости контролируется параметром Reflectivity.

Текстура

Текстура – это изображение, которое определяет цвет (или какую-либо другую характеристику) материала в каждой точке поверхности. Говорят, что текстура накладывается на поверхность: иными словами, создается особая «карта», сопоставляющая поверхность с плоским изображением. Эту карту называют UV-разверткой или просто разверткой. В Blender вы можете создавать развертки вручную, но в случае использования базовых примитивов за вас это автоматически сделает сама программа.

Текстуру можно добавить в материал, переключившись на Texture на панели со значками свойств. У материала может быть более чем одна текстура – это часто бывает необходимо для создания сложных эффектов. Добавьте первую текстуру, нажав кнопку New. По умолчанию создается процедурная (то есть, автоматически сгенерированная программой) текстура типа «облака» (Clouds). Есть также несколько других типов процедурных текстур: «дерево», «мрамор», диаграмма Вороного, шум и т.д. Естественно, Blender позволяет в качестве текстуры выбрать произвольное растровое изображение: для этого переключите тип текстуры (Type) на Image or Movie («Изображение или фильм») и на вкладке Image нажмите Open. Если ваш объект – куб (или параллелепипед), то можно указать тип автоматической развертки на вкладке «Mapping»: Projection → Cube.

На вкладке Influence («Влияние») можно управлять характеристиками материала, на которые влияет данная текстура. По умолчанию стоит цвет (Color) – текстура влияет на диффузный цвет материала. Она также может влиять на бликовую составляющую, прозрачность, отражаемость и геометрию поверхности.

Blender 2.76 Урок «Добавление материала»

После запуска Blender 2.76 на экране появится следующее окно:

hello_html_7a16de48.png

Для того, чтобы исчезла заставка, надо нажать ESC . На экране появиться следующее окно:

hello_html_83e583c.png

Одной из важнейших частей 3D-моделирования является применение к моделям материалов и их настройка.

Для добавления материала и настройки его свойств существует в правом меню вкладка «материал» ( material )

hello_html_6235a350.png

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

По умолчанию материал имеет серый цвет. Изменить цвет можно следующим образом.

Фигура должна находится в режиме «объекта». Надо щелкнуть по кнопке «материал», обведенной красным цветом на предыдущем рисунке. Появится содержание вкладки «материал».

hello_html_m788d8022.png

Щелкнуть по полю, выделенному красным. Появится вкладка выбора цвета. Щелкнуть по нужному цвету, получится следующее.

hello_html_me741cb.png

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

Для демонстрации зеркальности создадим следующую сцену.

Куб превратим в параллелепипед.

hello_html_m51cbd204.png

Затем добавим плоскость, раскрасим ее в зеленый цвет, расширим побольше, добавим конус, раскрасим его в красный цвет.

Должна получиться следующая сцена.

hello_html_m6f6c2f5b.png

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

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

hello_html_251b0160.png

Получиться следующая картина

hello_html_4244d855.png

Меню, которое посредине рабочей области, можно сжать до минимума.

Правая часть рабочей области сделаем окном для визуализации.

Для этого (см. следующий рисунок) щелкаем по значку (сфера) в нижнем меню.

hello_html_m3db3a831.png

Появится всплывающее меню, на котором нужно выбрать «с визуализацией».

hello_html_m17983f55.png

В результате получим следующее:

hello_html_7a5de0f4.png

Теперь начинаем создавать зеркальность параллелепипеда.

В левом окне (окне моделирования) щелкаем правой кнопкой по параллелепипеду, затем в правом меню находим опцию «отражение», делаем ее активной, устанавливаем галочку и необходимую величину отражения (от 0,000 до 1,000)

hello_html_m4ac9cbf5.png

На этом рисунке зеркальность 0,500:

hello_html_77b35416.png

На этом рисунке зеркальность 1,000:

hello_html_633da9c.png

На этом рисунке зеркальность 0,000

hello_html_61b7e794.png

Практическая работа

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

Библиотека материалов¶

Библиотека материалов – это библиотека, где пользователь может найти базовые и наиболее часто используемые материалы для использования в своих проектах или для создания на их базе своих собственных материалов.

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

_images/material_library_use.png

Для этого при создании нового проекта при помощи менеджера проектов надо выставить галочку Use Material Library . Тогда вся библиотека материалов будет автоматически скопирована в папку /assets/material_library/ в каталоге нового проекта.

Библиотека материалов может использоваться и в уже существующем проекте. Для этого достаточно скопировать файлы из папки /blender/material_library/ в каталоге SDK в папку /assets/ в каталоге проекта. После этого файлы материалов можно подключить к файлу сцены и использовать материалы в сцене.

Как и любые объекты, материалы можно добавлять к сцене с помощью команд Link и Append . Разница между ними описана здесь .

Структура библиотеки¶

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

_images/material_library_main.png

Структура материала¶

Нода Material , в которую подается вся нужная информация из ядра материала.

Карта нормалей, которую при необходимости можно подключить к любому ядру материала.

Текстура с необходимыми дополнительными масками для задания корректного поведения материала на поверхности объекта. В большинстве материалов использованы следующие маски:

  • Карта затенения

  • Карта загрязнения

  • Карта потёртостей

  • Карта патины

Нода Mapping , регулирующая параметры UV-развертки.

Ноды RGB Curve , позволяющие корректировать те или иные маски прежде чем они будут поданы в ядро материала.

Специфическая настройка карты спекуляра после ноды Material , для создания разной степени размытости блеска с использованием масок.

Запеченная карта затенения добавляется к шейдеру перед нодой Output .

Ядро материала¶

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

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

_images/material_library_example.png

Здесь вы можете видеть пример настройки материала пластика на специальном демонстрационном объекте без использования текстур, подключаемых в ядро материала.

Базовый цвет задан простой нодой RGB Color и подан на вход в ядро материала.

В данной реализации материала не используется никаких карт нормалей и во вход Normal поданы данные нормалей с геометрии.

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

Также в материале используется запеченная маска затенения.

Теперь рассмотрим использование того же материала на другом объекте — пластиковом джойстике.

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

Для геометрии джойстика была запечена карта нормалей, которая подана во вход Normal ядра материала.

Уровень глянца объекта настроен на меньшее значение.

Вместо масок демонстрационной модели используются маски (загрязнения и затемнения), запеченные специально для модели джойстика.

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

Добавление материала в сцену¶

Добавление целого материала¶

_images/material_library_append.png

Выберете в меню File пункт Append или Link , в зависимости от того что вы хотите сделать — добавить объект полностью в ваш проект с возможностью изменять его (в этом случае выберите Append ) или только прилинковать без необходимости изменений (в этом случае выберите Link ).

_images/material_library_select_blend_file.png

Далее выберите интересующий вас .blend-файл с материалом из директории /blend4web/blender/material_library/

_images/material_library_select_material.png

Выберите сам материал в списке материалов и нажмите Append from Library или Link from Library . Теперь материал добавлен в вашу сцену и вы можете применить его к любому из объектов.

Добавление только ядра материала¶

Если вы хотите добавить только ядро материала, а остальную часть настроить самостоятельно, при линковке или добавлении вместо материала выберите NodeTree и, выбрав интересующую вас нодовую группу, нажмите Append from Library или Link from Library .

_images/material_library_add_core.png

Теперь эта нодовая группа находится в списке нодовых групп которые вы можете добавить в свой материал через Add=>Group в окне Node Editor.

_images/material_library_add_group.png

У любого материала есть свои требования не только в отношении определенных масок и текстур, но и вертексных цветов и UV-разверток.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *