В этом видеоуроке мы рассмотрим генератор Light на практическом примере.
Видеоверсия этого руководства в настоящее время недоступна на этом языке. Ниже вы можете посмотреть английскую версию с субтитрами; под видео вы найдете перевод расшифровки на русский язык.
Текстовая расшифровка видео
Всем привет! В этом видеоуроке мы рассмотрим генератор Light на практическом примере.
Я буду исходить из того, что вы уже знакомы с такими темами, как Generators и запекание карт (Baking), поскольку я рассматривал их в предыдущих видеоуроках.
Генератор Light позволяет создавать маску слоя, моделируя проекцию световых лучей из некоторой точки виртуального мира на объекты, присутствующие в сцене, подобно Солнцу, размещённому в виртуальном окружении. Благодаря этому его можно использовать для создания направленных масок, то есть масок, которые имеют белый цвет на поверхностях, непосредственно обращённых к лучам, и постепенно темнеют на поверхностях, получающих меньше прямого воздействия. Однако не позволяйте названию генератора, Light, ввести себя в заблуждение: эти лучи используются только для создания маски слоя и никак не влияют ни на цвет объектов, ни на освещение сцены. Это совершенно разные эффекты.
Сразу покажу базовый результат работы маски, созданной с помощью Light, на практическом примере.
Я импортировал объект, традиционный японский фонарь, и назначил ему материал "Concrete Plain Brushed".

Теперь я добавлю материал "Iceland Snow" в верхнюю часть стека Layers этого материала. Идея состоит в том, чтобы применить материал снега только к определённым участкам объекта, а именно к тем, которые были бы наиболее подвержены выпадению снега. Однако сейчас новый материал полностью перекрывает исходный, поэтому нам понадобится маска.

Поэтому я добавлю чёрную маску слоя к материалу "Snow", затем щёлкну по маске правой кнопкой мыши и добавлю генератор Light.

Что-то пошло не так: созданная маска полностью белая, и новый материал перекрывает материал под ней. С первого взгляда видно, что в панели Properties генератора отсутствует пара карт, поэтому я нажму "Bake Mesh Maps" в разделе "Texture Set Settings" и позволю Substance создать как минимум две необходимые карты, в данном случае "World Space Normal" и "Position".


Карта "World Space Normal" хранит информацию об ориентации различных граней объекта в виртуальном мире, а карта "Position" содержит информацию об их координатах, в частности об их высоте.

Эти две карты используются генератором Light для определения степени воздействия на грани объекта в зависимости от их ориентации в сцене и их высоты. Что касается ориентации, направление лучей Light можно изменять с помощью параметров "Horizontal Angle" и "Vertical Angle" в панели Properties генератора. Информация о координатах, содержащаяся в карте "Position", полезна для настройки параметра "Light Attenuation", который позволяет уменьшить влияние эффекта на нижние части геометрии.
Хотя влияние генератора на маску, а следовательно и на применение материала, хорошо заметно в режиме просмотра Material в окне 3D View, особенно если включать и отключать материал "Iceland Snow" для сравнения результатов, я рекомендую после выбора маски слоя переключиться в режим просмотра "Mask". На мой взгляд, так гораздо проще понять, куда именно попадают лучи генератора Light и с какой интенсивностью, когда вы изменяете два параметра углов и коэффициент затухания света.

Режим просмотра Mask также позволяет напрямую наблюдать влияние параметров "Highlight Glossiness" и "Highlight Level". Эти настройки позволяют увеличивать или уменьшать интенсивность освещения и, соответственно, уровни серого в создаваемой маске. В результате связанный материал будет применяться сильнее или слабее даже на тех гранях, которые не освещаются лучами напрямую.

Таким образом, генератор Light имеет всего несколько параметров, однако они обеспечивают достаточно хорошую гибкость при использовании этого эффекта. Предлагаю вам самостоятельно подумать о других возможных вариантах применения этого генератора.
К сожалению, есть и недостаток: генератор Light не учитывает самоокклюзию. В результате мы можем увидеть, что поверхности внутри фонаря также подвергаются воздействию его лучей. Это происходит потому, что Light основывается на ориентации граней геометрии, а грани внутри фонаря по-прежнему ориентированы вверх.
Чтобы вручную исключить эти грани, можно воспользоваться несколькими способами. Например, можно поместить материал снега внутрь группы, изначально назначив группе белую маску слоя, а затем вручную исключить нежелательные области с помощью кисти или инструмента полигонального выделения. В моём случае я воспользуюсь инструментом "UV Chunk Fill", установленным в значение 0, чтобы UV-острова маски становились чёрными при щелчке по ним.

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

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