
Свойства и каналы
Прозрачные материалы в целом и стекло в частности имеют ряд характерных им свойств, каждое из которых настраивается в отдельном канале материала.
Альфа

Cyberpunk 2077 (2020), CD Projekt RED, Virtuos

Начиная с одного из самых заметных свойств: непрозрачные несовершенства на поверхности. В CGI такого эффекта можно добиться, используя альфы в создании текстур. Таким образом, можно добавить на стекло трещины, грязь, пыль, графику и подобные элементы иной прозрачности.
Нормали
Portal (2007), Valve
Mirror’s Edge (2008), EA DICE
В приведенных в пример выше играх Portal и Mirror’s Edge можно встретить окна, искажающие пространство при помощи карты нормалей. В реальных стеклах такой эффект создается из-за разницы в толщине материала, а в компьютерной графике используется информация о направлении поверхности текстуры.
Отражения
Cyberpunk 2077 Phantom Liberty (2023), CD Projekt RED, Virtuos
Зеркальность (Specularity) является одним из самых ресурсоемких свойств отражающих поверхностей, потому что требует использования технологии Ray Tracing, просчитывающей каждый пиксель на экране. Тем не менее, все больше современных игр поддерживают такую функцию.
Каустика
The Glass, DrawWithNightBuzzer, UE5
Каустика — эффект, являющийся результатом прохождения пучка лучей через прозрачные и полупрозрачные объекты под определенным углом. Очень ресурсоемкая задача, для рендера требуется Path Tracing.
Френель
Френель (Эффект Френеля) — явление, характеризующееся искажением отражения по краям видимой поверхности прозрачного объекта. Зависит от соотношения угла обзора и поверхности объекта. Встречается на скругленных и плавных формах.
IOR
Glass, AI Cinematic (UE5)
IOR (Index of Refraction) — индекс преломления, влияющий на призматические эффекты прозрачного объекта. Зависит от толщины предмета и прозрачности стекла. В компьютерной графике довольно ресурсоемкий, однако может быть посчитан на Ray Tracing.
SSS
Material by Adithya Sathyanarayanan
Subsurface Scattering (подпространственное рассеивание) — явление, характерное для рассеивающих материалов. Лучше всего заметно, когда яркий свет проходит через наиболее тонкие части объекта.
Практическая часть
Для того, чтобы создать прозрачный материал в Unreal Engine, нужно нажать правой кнопкой мыши в поле Content Browser и выбрать Material.
Далее необходимо правильно назвать созданный шаблон материала (один из вариантов в нейминге материалов начинается с M_) и открыть его, два раза кликнув по иконке.
В поле Details задаются изначальные параметры материала. Для не очень требовательного базового стекла следует выбрать translucent blend mode (для поддержки прозрачности), two sided, если планируется рендер объектов на односторонних плейнах (к примеру, окон), lighting mode: surface translucency volume (так как этот режим ограничен в расстоянии просчета и не считает освещение для каждого пикселя, он будет менее ресурсоемким для рендера), и последним стоит выбрать index of refraction как метод преломления, так как стекло имеет свойства искажения отражений при переходе в другую среду.
Затем нужно выбрать основной цвет материала. На данном этапе подойдет черный. Для удобства дальнейшего использования лучше перевести его в параметр.
Далее идет параметр зеркальности. Для базового материала можно выставить 1.
Хоть шероховатость (roughness), как и металлик, обычно не бывает нулевой, для полустилизованного материала их можно оставить, как и анизотропию и emissive color, потому что данное стекло не излучает свет.
Opacity отвечает а прозрачность поверхности материала. В стекле можно выбирать из значений от 0 до 1. Так как материал простой, карты нормалей не использованы. В последнюю очередь подключается refraction (метод преломления) индексом 1 (просчет преломлений влияет на ресурсоемкость просчетов, поэтому здесь значение выставлено ниже, чем у настоящего стекла — 1.52)
Вот так выглядит полностью собранный мастер материал. Для дальнейшей донастройки необходимо создать его инстанс.
Самый базовый прозрачный материал в среде
Вот так выглядит этот же материал с поднятым до 2 в инстансе индексом преломления.
У этого материала акцент на свойствах преломления. Для него задан параметр IOR, как у физически корректного стекла, но добавлен блюр и эффект Френеля.
Одной из задач, которая требовала решения для ВКР, было создание дуохромного и иридесцентного стекла. В этом шейдере такой эффект достигается за счет наложения масок и контрастных цветов на разные каналы, влияющие на преломление, отражение и свойство Френеля.
Второй вариант создания иридесцентного стекла. В отличие от предыдущего шейдера, в этом эффект смены цвета больше влияет на прозрачность и основан на UV развертке.
Как и у предыдущих материалов, свойства этого отрабатывают с помощью нормалей. Отличиями являются возможность кастомизации карты нормалей и то, что само преломление зависит от силы смещения по RGB каналам. Такой материал выигрышнее смотрится на one-sided объектах, потому что в обратном случае нормали с другой стороны рендерятся наизнанку, что может испортить результат.
Этот материал существенно отличается от всех предыдущих тем, что для его визуализации в Post Process Volume необходимо отключать translucency. Также у него отсутствует IOR, а Lighting mode в настройках Details — Volumetric Nondirectional (он является самым менее ресурсоемким). Для имитации блюра (размытия) этот материал использует текстуру. Таким образом, фактически не имея физических свойств настоящих прозрачных материалов, этот материал успешно подделывает их видимость, становясь наименее ресурсоемким вариантом.