Стеклянные материалы

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

Немного теории

Когда свет попадает на поверхность, часть света проходит сквозь поверхность, а другая часть отражается.

Сколько света отражается, зависит от уровня отражения поверхности. Например, у зеркала уровень отражения 100%, поэтому ничего не проходит сквозь него. Полностью прозрачный материал имеет нулевой уровень отражения, поэтому весь свет проходит насквозь.

Свет, который проходит через поверхность, может менять направление. Это изменение зависит от соотношения показателей преломления двух сред. У каждой среды (например, воздух, стекло, пластик) есть свой показатель преломления (IOR), и при работе с прозрачными материалами важно использовать правильные значения. В интернете есть множество таблиц показателей преломления, так что подобрать нужное значение обычно несложно.

Если поверхность гладкая, свет отражается в одном направлении. Если нет — лучи отражаются случайным образом, и вы видите эффект “матового стекла” или “ряби”. То же самое относится и к свету, который проходит насквозь: направление преломленного света тоже зависит от поверхности.

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

Этой информации достаточно, чтобы работать с прозрачными материалами в Boxshot.

Начнем

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

Шахматная плоскость и стеклянный флакон сверху, отрендеренные в Boxshot

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

Отражение

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

Раздел отражения стеклянного материала в Boxshot

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

Хотя этот режим идеально подходит для симуляции стекла, давайте на секунду выключим его, чтобы сначала протестировать отражение. Включите Металлическое отражение и обратите внимание: у слота Отражательная способность появится настройка уровня. Установите ее в 100% и посмотрите, что произойдет:

Очень отражающий материал в Boxshot

Теперь флакон полностью отражает окружение и вообще не преломляет. Теперь уменьшите уровень отражения до 30% и посмотрите на разницу:

Флакон с материалом, отражающим на 30%

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

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

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

Преломление

Преломление управляется двумя разделами: Поверхность и Прозрачность.

Разделы поверхности и прозрачности материалов Boxshot

Эти параметры задают, как свет проходит через материал и что с ним происходит.

Один из параметров уже упоминался выше — показатель преломления (его также называют N). Для него в разделе поверхности есть отдельный слайдер. Этот параметр влияет и на отражение, и на преломление, поэтому он находится в разделе Поверхность, где собраны общие свойства.

Давайте изменим показатель преломления на 1:

Материал флакона с показателем преломления 1

Теперь установите его в 2. Видите разницу?

Материал флакона с показателем преломления 2

В целом показатель преломления управляет тем, насколько искажается фон и насколько поверхность отражает окружение.

Когда показатель преломления равен 1, он совпадает с показателем преломления воздуха, поэтому преломления не происходит. Так как само стекло прозрачно и преломления нет, свет проходит строго прямо — и флакон становится невидимым.

Однако когда показатель преломления установлен в 2, свет преломляется гораздо сильнее, и фон выглядит заметно более искаженным.

Следующий слайдер, который мы проверим, — Непрозрачность. Когда Boxshot трассирует свет до поверхности, он проверяет свойства отражения материала, вычисляет долю света, которую нужно отразить, и отражает ее. Затем он проверяет слайдер Непрозрачность, чтобы понять, сколько света пропустить внутрь. После этого он пропускает эту часть света и использует остаток, чтобы показать обычное (диффузное) изображение.

Сделаем флакон полупрозрачным, установив Непрозрачность на 30%. Затем измените цвет тонирования (диффузного) изображения в верхней части панели материала, сделав его зеленым:

Флакон с 30% непрозрачности и зеленым диффузным цветом

Похоже, мы сделали зеленый флакон, да? Нет. У настоящего стекла цвет зависит от толщины среды, а не от окраски поверхности.

Мы разберем это ниже, а пока верните тонирование изображения обратно в белый и установите Непрозрачность в 0%.

Поглощение и цвет среды

Прокрутите панель материалов вниз до раздела Прозрачность. Здесь мы и сделаем магию: установите цвет параметра Пропускание в темно-зеленый и задайте Ослабление равным 0.2 см:

Флакон с зеленым цветом среды

Вот так выглядит настоящее стекло. Вы видите, что более толстые части темнее, а тонкие — прозрачнее.

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

Вот более сложная сцена с двумя пивными бутылками:

Две пивные бутылки, демонстрирующие эффект цвета среды

Бутылка справа использует диффузное тонирование, а левая сделана через цвет среды. Слева толщину стекла легко читать, а справа — нет. Так работает поглощение: чем дольше свет идет через среду, тем сильнее он меняется.

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

Несколько флаконов с разными уровнями ослабления

Все флаконы одинаковые, кроме уровня ослабления. Слева направо значения такие: 0.05 см, 0.2 см, 1 см и 10 см.

Левый флакон выглядит непрозрачным, потому что его стенки толще 0.05 см — свет быстро затухает внутри и становится коричневым, фактически скрывая сцену за флаконом. Напротив, самый правый флакон почти прозрачный: ослабление 10 см слишком велико по сравнению с толщиной стенок, поэтому цвет среды там почти не заметен.

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

Несколько моментов, которые стоит учитывать:

Шероховатость

Boxshot позволяет настроить шероховатость поверхности в разделе Поверхность материала, и она влияет и на отражение, и на преломление света этим материалом.

Так как флакон отражает не слишком сильно, мы протестируем шероховатость на преломленном свете. Вернитесь к сцене с одним фармацевтическим флаконом (можно использовать команду Отменить, чтобы вернуться) и увеличьте ослабление, чтобы фон читался лучше:

Мы вернулись к одному флакону и увеличили уровень ослабления

Теперь найдите параметр Шероховатость в разделе Поверхность и установите его на 10%:

Создание матового стекла с помощью шероховатости поверхности в Boxshot

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

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

Создание матового стекла с помощью шероховатости поверхности в Boxshot

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

Вот и все

Отлично! Теперь вы знаете, как создавать полупрозрачные материалы в Boxshot. Вы познакомились с отражением, преломлением и поглощением и готовы делать еще более впечатляющие вещи :)

Дополнительная Информация

Рендеринг

Материалы

Возможности

Объекты