Источник: http://abhava.livejournal.com/5033.html
Свет отражается от предметов. Так мы видим мир. Фактически мы видим свет, отраженный от предметов, а не сами предметы. Не отраженный свет либо поглощается, либо преломляется и идёт дальше.
Интенсивность отражений зависит от характера поверхности. В зеркале отражается 100% света, поскольку ни один его грамм не поглощается и не преломляется. Сумма отраженного, поглощенного и преломленного света всегда равна свету, который попадает на поверхность.
Несколько законов для отражений:
- Угол падения светового луча равен углу отражения.
- Отраженный луч лежит в одной плоскости с падающим.
- Чем больше угол падения луча, тем интенсивнее отраженный луч.
Автор последнего закона Френель. В максе например, этот закон реализован вот так
Или фалов мапой
Для тестов возьмем следующую сцену (кубик и сфера внутри светящегося цилиндра)
Обратите внимание как ближе к краям сферы усиливается интесивность отражения. Это и есть закон Френеля в действии. В жизни самые яркие примеры это отражения на машинах, витринах, в лужах.
Диффузное отражение
Отражение чаще всего не глянцевое, а диффузное. Мы не можем, например, увидеть свое отражение в асфальте. Но с легкостью может увидеть его в луже. Это зависит от характера поверхности. Лужа гладкая, следовательно отражает все лучи в одном направлении, а асфальт имеет много неровностей, поэтому лучи начинают отскакивать в разных направлениях.
В 3д это реализовано параметром refl. Glossiness.
Отражения в 3д
Теперь остановимся более подробно на том, как отражения реализованы в 3д. Я рассматриваю на примере врэя, но, думаю, суть одна вне зависимости от системы рендеринга.
Reflect
цвет отвечает за характер отражений. Абсолютно черный цвет отсутствие отражений, белый – максимальное отражение.
Reflection glossiness
глянцевость, 1 глянцевая поверхность, 0 –матовая.
Highlight. Glossiness
привязан к refl.glossiness и отвечает за глянцевость отражений источника света. Отвязав его с помощью кнопки L можно сделать, например, что бы блик от источника света размылся, а отражения окружающего мира — нет.
Subdivs
отвечает за качество отражений и, соответственно, за скорость визуализации.
Галка Fresnel reflections
отвечает, соответственно, за активизацию эффекта Френеля.
Fresnel IOR
по дефолту заблокирован, но ввести значение можно нажав кнопку L, что рядом с галочкой. Когда IOR заблокирован, то vray берет значение из refraction IOR.
IOR это index of refraction. Он участвует в формуле Френеля, по которой рассчитывается количество преломленного и отраженного света. Я её тут не привожу, так как от неё ни холодно ни жарко. По сути она отвечает за величину области, которая поддается эффекту Френеля. Когда IOR равен 1 то отражения вообще отсутствуют. Постепенно добавляя IOR эффект Френеля меняется в сторону его полного отсутствия, то есть равномерного отражения вне зависимости от угла зрения. Если поставить значение равным 100 то эффект будет близким к тому, как если бы мы вообще не включали эффект Френеля.
Выводы
Практически все предметы в нашем мире имеют эффект Френеля. Поэтому советую использовать его для придания своим материалам большей реалистичности. Каждый предмет имеет свой IOR. В сети есть много таблиц со значениями IOR для разных материалов, но нашел на одном форуме следующую информацию, которая более точна в нашем случае, поскольку 3д алгоритмы не просчитывают точно так же как это делают алгоритмы нашего мира. Есть своя специфика. Итак:
Вода 1.333
Стекло 1.33 - 1.5
Алмаз 2.13
Дерево, камень, бетон и им подобные 3-4
Пластик 5-8
Металл 20-100
0 коммент.:
Отправить комментарий