Шейдер многослойного пластика

Материал из Blender3D.

Перейти к: навигация, поиск

Многослойные пластиковые материалы: by Claas Kuhnen

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



Содержание

1. Основа:

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

Sub Surface Scattering пытается симулировать процесс проникновения света в толщу модели, чтобы сделать освещение таких материалов как: мрамор, воск, кожу, и др. по методу, приближенному к реальности.

Однако не все пластиковые материалы одинаковы. Как бы просто ни звучало, реалистичный пластиковый материал получается после кропотливой работы над ним. Настройка материала должна быть схожа с физическими законами.


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

Увеличить

(More here: http://www.flickr.com/photos/optilevers/sets/72057594066404718/show/ )

Как вы видите, на этом примере, у нас есть разные блики, 3 зеркальных отражения, и множество цветов. Для начала проанализируем эту структуру, чтобы понять как преобразовать ее в материал.


Если мы разобьем эти визуальные элементы, мы увидим следующую иерархию:

  • Финальный слой:

Полупрозрачный, хорошо отполированный, с очень сильными яркими отражениями/бликами и зеркальный эффект с небольшим коэффициент увлечения Френеля

  • Второй слой:

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

  • Третий слой

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

  • Базовый слой

Непрозрачный, с основным цветом объекта.


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

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

Итак, как же мы переведем их в цифровой материал? Давайте использовать объединение материалов. Технологически нам не надо будет нарушать послойную структуру.в основном слое мы можем например объединять вместе зеркальные отражения и яркие местные блики. Еще одна причина по которой я хочу выбрать объединение материалов - это проще, из-за легкости создания индивидуальных материалов и и объединения только рассеянного цвета объекта и бликов.

В блендере эта иерархия может выглядеть так: In Blender this material hierarchy could look like the following:

  • Главный базовый материал:
Diffuse color value - Базовый рассеянный цвет.
Specular reflection - Сильные, грубые отражения 
Mirror reflection value - Зеркальные отражения очень низкий коэффициент Фернеля (Fresnel)
Specular light model - модель бликов:  WardIso
  • Первый отражающий материал
нет базового цвета
Specular reflection - Сфокусированные блики
Color Specular - Цвет отражений установлен на 0.02
Specular texture is scaled down:  Масштаб текстуры у отражений уменьшен до 0.01
Specular light model - Модель бликов: Blinn
  • Second specular shader:
нет базового цвета
Specular reflection - Мягкие большие блики 
Color Specular - Цвет отражений установлен на 0.02
Specular texture is scaled down to: Масштаб текстуры у отражений уменьшен до 0.02
Specular light model - Модель бликов: Blinn

Но как же мы создадим текстуру для бликов? Если мы поставим текстуру на Отражаемость (CS) , то можно использовать тип текстуры Voronoi. Эта текстура может еще использоваться для карты рельефа так же как и для карты отражаемости. Карта нормалей (NO) сделает зернистый вид, а карта отражений даст отражения такого же цвета. Поскольку мы не будем использовать основной рассеянный цвет (diffuse) отражения распространяться пропорционально размеру текстуры и величине нормали (normal value).

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

Используя настройку Spec внутри панели с кнопками материалов, установим какой нибудь другой цвет. Мы так же можем выбрать цвет, который больше подходит. Как вы можете видеть, эти 2 слоя имеют 2 различных цвета.

Внутри редактора нодов материала мы соединим эти 3 материала вместе.

Два материала с бликами были объединены методом add и их результат цвета объединен с главным материалом тем же методом.

Методы Add and Mix делают разные вещи. Add объединяет интенсивность цвета, получая результат ярче исходных. Mix делает среднее из двух исходных. Еще мы дезактивировали Diffuse у двух материалов с текстурой, чтбы отключить основной цвет.

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


Image:BA_Blender_First_Specular_Layer_Material.png


Image:BA_Blender_First_Specular_Layer_Texture.png

2. Тонкая настройка параметров

Теперь время подогнать параметры компонентов материала под наиболее точные для нас значения. Используя Миксер мы всегда можем легко включать/выключать установленные связи, определять вывод цвета, или назначать пропорции смешения. Глядя на наш образец можно определить, что первый блестящий слой очень тонкий и расположен очень близко к основному блестящему покрытию и в то же время производит более мягкий блеск. Это говорит нам о том, что первый блестящий слой должен быть тонким и его влияние не должно распространяться в широких пределах. Правильным будет начать визуальное смешивание с основным блеском и определить небольшое влияние на весь материал. Еще одна причина - то, что частицы второго слоя кажутся более плотно расположенными, и соответственно сильнее реагирующими на поступающий свет. А также, что направление света важно и должно приниматься во внимание.

В моём примере я установил значения Spec=1.17, Hard=20 и Refr=8.27. Это выявляет желаемую форму и покрытие. Значением Nor мы можем варьировать форму индивидуальных отражений материала в том плане, что можем заставить его выделяться или быть более смешанным. Я предпочёл смешать их слегка, установив значение Nor=0,1.

Следующий блестящий слой, первый слой, нанесенный на основу имеет более грубую структуру и оказывает большее влияние на материал, но имеет меньшую интенсивность блеска. Для него устанавливает значение Spec=0.52, Refr=3.47 и для большей мягкости Hard=10.

Image:BA_Material_Mixing.png

3. Сопоставление:

Идем далее. В зависимости от масштаба и расстояния до камеры мы должны добавить текстурные показатели. Однако, сравнивая виртуальный и реальный об]ем, мы замечаем существенное отличие. Текстура на цифровой модели слишком крупная. Возможно проще бы делать текстуры в чём-либо похожем на Фотошоп, вместо использования процедурных текстур.

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

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

Из-за отсутствия свечения искрящегося пигмента мы видим края темнее с цветом близким к базовому цвету объекта. Также важно помнить, что когда мы используем объект с фотоснимка, то видимые нами эффекты отражения воспроизводят окружающую среду на момент съёмки объекта и могут быть трудновоспроизводимы.

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

4. Приемы непрямого освещения

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

Например, можно воспроизвести цветной отсвет поверхности-основы, на которой расположен объект, просто разместив лампу того же цвета, ниже неё и направить её свечение вверх.

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

Наиболее удобным представляется использование источника света типа Area (плоскостной). Он генерирует хорошую общую освещённость и кроме того имеет контроль пределов затухания. Используем очень низкое значение дистанции (Dist=0,3) и размещаем лампу слегка ниже поверхности-основы. Далее его можно перемещать ниже делая освещённость ещё более слабой. Тут важно помнить, что если вам необходимо уменьшить размер лампы типа Area, то следует пользоваться движками Size на панели настройки, а НЕ просто масштабировать лампу, как любой другой объект, ибо масштабирование размеров приведёт к соответствующему увеличению/уменьшению пределов затухания.

В случае, если Вы изменяете значение Size, Вы увеличиваете/уменьшаете поверхность, от которой будет испускаться свет и, таким образом, интенсивность общего освещения будет различна. Например уменьшая размер Size (площадь светильника) источник световых лучей будет сжат и получится более резкое освещение. Используем значение дистанции Dist в качестве отправного значения для масштабирования (см. Рис. 5).

Image:BA_Area_Light.png

Сперва устанавливаем значение дистанции Dist, затем задаем размеры лампы Size, обеспечивающие преемлемые пределы затухания. И задаём интенсивность свечения Energy, чтобы получить желаемую интенсивность освещённости нужной области.

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

Кроме того нужно воспроизвести отблеск цвета объекта на пол. Для этого можно использовать лампу типа спот с очень мягкими краями светового пятна, направленную вниз на пол.

Нужно понизить значение интенсивности и задать этому источнику цвет равный или более тёмный, чем основной цвет объекта, лежащего на поверхности.

Также необходимо ограничить пределы распространения света лампы, чтобы освещать только основание и не влиять на другие предметы. Для этого сампу и основание помещяем в один отдельный слой и активируем в настройках лампы кнопку Layer (см. Рис. 6)

Image:BA_Spot_Light_Layer.png

Взаимное влияние обьекта и основания должно иметь очень слабый эффект и быть еле видимым.

Image:BA_Spot_Light_Intensity_Variations1.png None Energy: 0.00


Image:BA_Spot_Light_Intensity_Variations2.png Too much Energy: 1.00


Image:BA_Spot_Light_Intensity_Variations3.png Just right Energy: 0.50

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

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


Image:BA_Spot_Light.png


Image:BA_Finale_Rendering_with_slide_Fresnel_reflection_value.png


Image:BA_Finale_Rendering_with_slide_and_even_reflection_value.png


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

Личные инструменты