Нод Light Path

13 ноября 2015 22 комментария Артем Слаква Материалы и текстуры

Несколько дней назад вы познакомились с основными принципами работы трассировщика пути в Cycles. Вполне вероятно, что у вас мог возникнуть логичный вопрос:«Как мне это поможет создавать материалы?». В сегодняшнем уроке (еще один отрывок из книги «Руководство по Cycles») я покажу вам, что можно делать с материалом, зная о том, как лучи путешествуют по сцене и какой тип имеют в тот или иной момент времени на примере нода Light Path.


Лучи, путешествующие по сцене, имеют различные типы. Все они исходят из камеры и именно там берут свое начало. При попадании на поверхность, они разделяются на различные типы. Всего существует 4 типа лучей:

  • Camera ray (лучи, исходящие из камеры)
  • Reflection ray (лучи, отраженные от поверхности)
  • Transmission ray (лучи, проходящие сквозь поверхность)
  • Shadow ray (лучи, попадающие на источник света и создающие тени)

В свою очередь, Reflection ray и Transmission ray могут разделяться на:

  • Diffuse ray (лучи, созданные диффузными поверхностями)
  • Glossy ray (лучи, созданные глянцевыми поверхностями)
  • Singular ray (лучи, созданные идеально гладкими поверхностями)

light-paths
Рис 4.10) Четыре основных типа луча.

С помощью данного нода мы можем получить доступ ко всем типам лучей. Приставка “Is” означает, что на выходе вы получите 0 или 1 (черное или белое) и ничего более.

Is Camera Ray
Пожалуй, наиболее часто используемый выход данного нода. Он позволяет получить доступ к тем лучам, которые вышли из камеры и еще не попали на поверхность. С помощью данного выхода вы можете сделать объект светящимся (emission), но никак не влияющим на остальную сцену (то есть не освещающим ее). Или сохранить время рендеринга, делая объем (bump) видимым лишь для камеры и не влияющим на остальные предметы. Сокращение времени происходит за счет того, что движку не приходится вычислять огромное количество отскоков света от неровной поверхности.
camera-ray
Рис 4.11) При первом попадании на объект, выбирается шейдер Diffuse (1), для всех остальных типов лучей используется шейдер Emission (0).

Is Shadow Ray
Лучи, которые попали бы на лампу, но не могут этого сделать, так как на их пути есть непрозрачный объект. Стоит отметить, что это работает непосредственно для ламп, а не для поверхностей с шейдером Emission до тех пор, пока не будет включена опция MIS (включена по умолчанию). С помощью этого выхода вы можете изменить цвет тени объекта.
shadow-ray
Рис 4.12) С помощью данной связки нодов вы можете изменить цвет тени. Обратите внимание на то, что тень окрашивается в синий цвет лишь в нижней части объекта. Вверху сфера не синяя, потому что на нее не попадпет свет, а не потому что на нее падает тень. В данном случае тень падает на пол.

Is Diffuse Ray
Лучи, которые попали на диффузную поверхность. Также используется в качестве оптимизации, делая глянцевые поверхности диффузными для окружающих объектов, чтобы избежать каустики.
diffuse-ray
Рис 4.13) Позади сферы расположена плоскость (шейдер Diffuse). Присмотревшись, вы можете увидеть, что она немного окрашена в зеленый цвет. С точки зрения физики, подобное должно было произойти, если бы сфера была зеленой, а не синей, но с помощью данного нода мы можем это изменить.

Is Glossy Ray
Лучи, которые попали на глянцевую поверхность. С помощью данного выхода можно изменить внешний вид объекта в отражениях.
glossy-ray
Рис 4.14) Позади сферы расположена плоскость (шейдер Glossy). С помощью данного типа лучей мы можем менять вид объектов в отражениях.

Is Singular Ray
Это те лучи, которые имеют лишь один возможный путь. Все лучи, исходящие из камеры являются Singular до тех пор, пока не попадут на поверхность, за исключением, если тип поверхности не использует метод Sharp. В таком случае луч и дальше будет Singular. Данный тип вы можете установить для шейдеров Glossy, Glass и Refraction. При использовании других методов (Beckmann, GGX или Ashikmin-Shirley) с уровнем шероховатости равным 0, луч не будет Singular. Только при использовании типа Sharp.
singular-ray
Рис 4.15) Позади сферы расположена плоскость (шейдер Glossy (тип Sharp)). С помощью данного типа лучей мы можем менять вид объектов на поверхностях с типом Sharp.

Is Reflection Ray
Практически все поверхности отражают свет. Попадая хоть на диффузную, хоть на глянцевую поверхность, луч отражается и становится Reflection. Таким образом, мы можем получить доступ ко всем отраженным лучам.
reflection-ray
Рис 4.16) Позади сферы расположена плоскость (шейдер Glossy). С помощью лучей отражения мы изменили материал не только в зеркале, но и во всех остальных участках диффузной сферы.

Is Transmission Ray
Когда лучи проходят сквозь объект, они становятся Transmission. Это могут быть такие шейдеры, как: Glass, Refraction или Translucent. Таким образом, с помощью данного выхода мы можем получить доступ к лучам, прошедшим сквозь объект. Стоит отметить, что при прохождении через шейдер Transparent, луч не становится Transmission. Данный шейдер производит лучи с типом Shadow.

transmission-ray
Рис 4.17) Перед сферой расположена плоскость (шейдер Glass с IOR равным 1). Все лучи, изменившие свой тип на Transmission (прошедшие сквозь плоскость), при попадании на сферу окрашивают ее в зеленый цвет.

Ray Length
После того, как луч попал на прозрачный объект, его длина может быть измерена. С использованием данного выхода вы можете указать, как должен вести себя луч на определенной глубине. Например, вы можете создать эффект подповерхностного рассеивания, делая тонкие части объекта более светлыми. Работает со следующими шейдерами: Translucent, Glass и Refraction.
ray-length
Рис 4.18) На тонких участках сферы преобладает синий цвет.

Ray Depth
Данный параметр отвечает за количество отскоков луча света. Изначально все лучи, исходящие из камеры, имеют число отскоков равное 0. Далее, с каждым отскоком данное значение увеличивается на единицу. Таким образом, вы можете изменить поведение луча при определенном количестве отскоков. Например, вместо того, чтобы увеличивать до бесконечности количество отскоков света, вы можете сделать объекты в вашей сцене прозрачными после двух отскоков. Это не только сэкономит время рендеринга, но и поможет избавиться от черных пятен на стекле.
ray-depth
Рис 4.19) После 4-х отскоков луча сфера становится прозрачной.

Transparent Depth
Данный параметр отвечает за количество прозрачных поверхностей, через которые прошел луч. Как и в предыдущем случае, изначально он равен 0. Работает он лишь в качестве фактора смешивания для нода Mix с шейдером Transparent. Таким образом, вы можете заменить материал на другой после определенного количества прохождений через прозрачный объект. Это очень полезно при создании растительности. Вы не можете видеть листок дерева, если перед ним находятся еще 2-3 таких же. В таком случае нет смысла рендерить его с прозрачностью, и можно просто сделать ваш материал непрозрачным,сохранив тем самым память без видимых визуальных потерь.
transparent-depth
Рис 4.20) До первого прохождения луча сквозь поверхность сфера является прозрачной. Далее используется диффузный шейдер.

P.S. Предзаказ книги «Руководство по Cycles» стартует 16 ноября! В этот же день будет опубликовано полное ее содержание и прочая информация о книге.

comments powered by HyperComments

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.