Применение Ввода Эмиссионного Материала в Unreal Engine 4

0
3
Применение Ввода Эмиссионного Материала в Unreal Engine 4

В ходе разработки проекта может возникнуть потребность в Самосветящемся или ярко светящемся Материале. Внутри Unreal Engine 4 (UE4) самосветящиеся Материалы известны как Эмиссионные Материалы. В следующем руководстве по использованию мы расскажем, как вам нужно настроить свои Материалы для использования инпута Emissive, а также как можно использовать вкладку Emissive, чтобы фактически осветить мир, который вы создаете.

Эмиссионное Освещение

Emissive Lighting, или в UE4 – Emissive Materials, дают художникам очень дешевый и эффективный способ дать иллюзию того, что Материал излучает свет, когда это действительно не так. Эмиссионные Материалы делают это, позволяя художнику подталкивать значения инпута/ввода Emissive выше 1.0, которые будут подталкивать Материал в диапазон HDR, выдавая эффект Bloom, который вы можете видеть при взгляде на очень яркий источник света.

Освещенные и Неосвещенные Эмиссионные Материалы

Эмиссионные Материалы являются самосветящимися, что означает, что они могут использоваться как с Освещенными, так и с Неосвещенными Затеняющими Моделями. Однако, когда это возможно, Emissive Materials должны использовать модель Unlit Shading Model (неосвещенная затеняющая модель), так как это приведет к созданию шейдера, который дешевле визуализировать. Кроме того, нет визуальной разницы между двумя различными затененными моделями с точки зрения того, как воспроизводится Emissive. Поэтому, когда это возможно, используйте режим Unlit Shading Mode, так как он будет дешевле.

Модель затенения их UE4

  • Когда использовать Lit Shading Model: вы должны использовать Lit Shading Model, если ваш Emissive Material должен использоваться в сочетании с другими входами шейдера, такими как вход Base Color или вход Normal Map. Примером этого может быть, если вы создавали Материал для пистолета, на котором были огни. Вы по-прежнему захотите использовать Lit Shading Model, чтобы карта Нормали и другие входы шейдера по-прежнему работали с освещением на уровне.
  • Когда использовать Unlit Shading Model: вы должны использовать эту модель, если вашему Эмиссионному Материалу не нужно использовать другие входы шейдера. Примером этого может быть, если вы используете материал Emissive Material строго для имитации источника света, такого как световая карта или площадь поверхности лампочки.

Создание Эмиссионных Материалов

Создание Эмиссионных Материалов ничем не отличается от создания любого другого Материала внутри UE4. В следующем разделе будет рассмотрено все, что необходимо для настройки любого Материала, чтобы использовать вход Emissive.

Весь контент, который используется в следующих разделах, может быть найден, если вы включите Starter Content в свой проект. Хотя методы, показанные здесь, будут работать с любыми Текстурами, но, если вы захотите следовать им, убедитесь, что ваш проект включает в себя Starter Content.

1. Сначала правой кнопкой мышки щелкните по контент браузеру, а затем в разделе Create Basic Asset во всплывающем меню выберите Material. После выбора будет создан новый Material, назовите его Emissive_Material.

2. Как только Материал был создан, откройте его, и левым кликом дважды щелкните по Материалу в контент браузере. После открытия добавьте следующие узлы Выражения Материала и Текстуры.

  • Vector Parameter x 2
  • Scalar Parameter x 2
  • Texture – T_Tech_Panel_M
  • Texture – T_Tech_Panel_N

EM добавление узлов и текстур к материалу UE4

Если вы не можете найти текстуры Tech_Panel, которые используются в этом руководстве, это означает, что вы, возможно, забыли включить Starter Content в свой проект. Чтобы найти этот контент, вы можете создать другой проект, не забудьте включить Start Content, а затем использовать инструмент Migrate Tool для перемещения текстур из этого проекта в ваш проект.

3. Теперь, когда добавлены узлы Выражения Материала, настало время начать установку Материала. Первое, что нужно сделать, это то, что узлы Выражения Материала должны быть названы и заполнены данными. Вот список имен и значений, которые мы будем использовать.

  • Vector Parameter – Base_Color – 1, 1, 1
  • Vector Parameter – Emissive_Color – 1, 0, 0
  • Scalar Parameter – Roughness – 0.5
  • Scalar Parameter – Emissive_Strength – 1.0

В итоге вы должны получить что-то похожее на следующее:

Узлах, называя их UE4

4. Теперь, когда узлы Material Expression помечены и заполнены, настало время соединить все вместе. Самая важная часть, которая должна быть правильно подключена, – это вход Emissive, так как без этого никакой Emissive не будет работать. По завершении ваш Материал должен выглядеть следующим образом.

EM завершенный материал UE45. Теперь, когда Материал подключен, убедитесь, что вы скомпилировали и сохранили Материал, нажав обе кнопки Apply и Save в верхней части редактора Материалов. Как только вы это сделаете, вы сможете закрыть Материал.

Их сохранить и скомпилировать UE4

6. Теперь, когда Материал был скомпилирован и закрыт, найдите Материал в контент браузере, а затем щелкните правой кнопкой мышки по Материалу и выберите вариант Create Material Instance, чтобы создать Экземпляр Материала из Материала Emissive_Material.

Em создать новый экземпляр материала UE4

7. Когда Экземпляр Материала был создан, откройте его двойным кликом левой кнопкой мышки. После его открытия просмотрите раздел Parameter Groups. В этом разделе вы найдете все элементы управления, которые были обнаружены в Родительском Материале, таком как Emisive_Color и Emissive_Strength.

Экземпляр эмиссионного материала UE4

8. Чтобы изменить параметр, вы должны сначала включить этот параметр, Левой кнопкой мышки щелкнув галочку, расположенную рядом с именем параметра, который вы хотите включить. После нажатия флажок должен быть добавлен в поле, и имя и область ввода больше не будут выделены серым цветом. Теперь это всего лишь вопрос ввода значений, которые вы хотите использовать, и сохранения Экземпляра Материала.

Текстура или Скаляр для Emissive Input

Вы можете вводить Текстуры, цифры или их комбинацию в Emissive Input (эмиссионный вход). То, что вы вводите, действительно зависит от потребностей Материала. Если Emissive Material просто имитирует свет, то использовать числовое значение вместо текстуры – это есть способ. Однако, если вы хотите имитировать огни на объекте, использование текстуры в качестве Emissive Mask – это способ, когда вы можете определить в Mask Texture определенно точно, какие части должны быть освещены. В приведенном выше примере мы использовали Emissive Masking, поскольку мы использовали текстуру, чтобы определить, где должны быть Эмиссионные части Материалов.

Создание Тестовой Карты

1. Прежде чем мы пойдем дальше, нам нужно сначала создать небольшую комнату для тестирования, чтобы мы могли видеть Эмиссионный Материал в действии. Для этого создайте новый уровень, перейдя в  File -> New Level и выберите вариант Default из диалогового окна нового уровня.

Создают новый уровень UE4

Вы также можете создать новый уровень, нажав CRTL + N на клавиатуре.

2. Как только уровень будет создан, возьмите существующий пол SM_Template_Map_Floor и продублируйте его 4 раза, сначала выбрав его, а затем четыре раза нажав CRTL + W на клавиатуре. После того, как все этажи дублируются, расположите их так, чтобы они образовали комнату, которая открыта с одной стороны, и у нее есть небольшой промежуток в крыше, чтобы сделать некоторые интересные условия освещения. Когда закончите, ваша комната должна выглядеть примерно так:

Уровень испытания EM UE43. Когда комната будет завершена, обязательно сохраните свою работу, нажав CTRL + S на клавиатуре, чтобы сохранить вашу работу.

Эмиссионные Материалы в действии

1. При настройке комнаты настало время добавить некоторые меши для тестирования. Внутри папки Starter Content есть папка Shapes. Внутри этой папки вы найдете меш с именем Shape_CubeВыберите Shape_Cube с помощью левого клика, а затем перетащите меш из контент браузера на уровень, освобождая левую кнопку мышки, когда меш находится над вьюпортом уровня. Это поместит меш на уровень.

EM добавляя коробку испытания UE4

2. Теперь, когда меш была добавлена ​​на уровень, настало время применить к ней Эмиссионный Материал. Для этого найдите папку Emissive Material в контент браузере. Найдя его, выберите Material Instance с помощью левой кнопки мышки, а затем перетащите Экземпляр Материала из контент браузера в меш Shape_Cube.

Пример применения материала EM UE4

3. Когда Экземпляр Материала назначен меше Shape_Cube, откройте Экземпляр Материала, дважды щелкнув по нему левой кнопкой мышкиПосле открытия мы можем начать корректировать параметры Экземпляра Материала, чтобы повлиять на то, как выглядит наш Emissive. Например, если мы настроим Emissive_Strength, мы можем контролировать влияние Emissive. Вот несколько примеров того, что происходит, когда мы устанавливаем значение Emissive_Strength равным 0 слева, 1 в середине и 25 справа.

Значения EM различные Emissive UE4

4. Вы также можете изменить цвет Emissive, изменив Emissive_Color Vector Parameter (векторного параметра). Вот несколько примеров того, как выглядит изменение цвета Emissive.

Цвет EM Различный Emissive UE4

Использование Эмиссионных Материалов для освещения Мира

Эта функция доступна только в версии Unreal Engine 4.6 и более поздних версиях.

Unreal Engine 4 теперь имеет возможность использовать инпут Emissive в вашем Материале, чтобы освещать мир. Чтобы включить эту функциональность, все, что вам нужно сделать, это убедиться, что у вас есть что-то, входящее в инпут Emissive в Материале, а затем поместите этот Материал на объект в мире. После того, как вы построите свет, вы должны увидеть, что статические объекты в мире теперь выглядят так, как будто они были освещены входом Emissive вашего Материала. Вот пример использования желтого эмиссионного света, чтобы осветить темную часть нашего уровня, тестируемого желтым светом.

EM излучающий материал свет UE4

Управление Эмиссионным Воздействием на Мир

При использовании входа Emissive для освещения мира вы можете обнаружить, что эффект слишком слабый или слишком мощный. Чтобы исправить это, любые созданные Материалы должны иметь способ настроить влияние излучающего света, подаваемого в мир. В шейдере, который мы создали выше, этот параметр назывался Emissive_Strength. Увеличивая параметр Emissive_Strength, вы увеличите количество света, которое подается в мир при построении света. Уменьшая Emissive_Strength, вы уменьшите количество света, поданного в мир. На изображении ниже вы можете увидеть, как увеличение Emissive_Strength увеличивает эффект от Emissive на мир. Слева, значение Emissive_Strength было установлено равным 1.0. В середине уровень Emissive_Strength был установлен в значение 10.0, и, наконец, справа значение Emissive_Strength было равно 100.0.

Мир освещения EM Эмиссивный UE4

Включение или Выключение Эмиссионного Влияние на Мир

В некоторых случаях вы можете хотеть или не хотеть, чтобы освещение Emissive Material попало в мир. Чтобы включить или отключить эту функцию, выполните следующие действия.

1. Для этого сначала выберите меш, с которой вы не хотите подавать свет от Emissive в мире.

2. Затем в панели Details в разделе Lighting установите флажок Use Emissive for Static Lighting с помощью левого клика, нажимая ее.

EM отключить использование sSL UE4

По умолчанию параметр Use Emissive for Static Lighting отключен на всех мешах, которые вы размещаете внутри мира. Если вы хотите использовать его, вам всегда нужно включить его.

3. Ниже приведены результаты меши, в которой функция Use Emissive for Static Lighting отключена слева и включена справа.

Освещение em статическое дальше UE4

Чтобы увидеть эффекты, которые Emissive будет иметь в мире, вам нужно построить свое освещение уровня. Если вы этого не сделаете, ваши изменения не будут видны. Это также означает, что всякий раз, когда вы делаете изменения в Emissive Material, вам также нужно будет перестроить освещение, чтобы увидеть изменения.

Эмиссионное Влияние и Блум

Вы можете заметить, что по мере того, как вы увеличиваете силу ввода Emissive внутри вашего Экземпляра Материала, блум (цветение), который генерируется из разделов Emissive Material, становится все ярче и ярче. Один из способов смягчить эффект Bloom, не уменьшая значения внутри вашего Экземпляра Материала, – это настроить опцию Bloom на Post Process Volume.

Em Bloom на PP UE4

Регулировка этого значения поможет скомпенсировать, когда вы увеличиваете значения Emissive сильнее и сильнее, чтобы получить больше статического света от материала Emissive Material в мире. На изображении ниже с левой стороны вы можете видеть, что происходит, когда значение Emissive выталкивается на очень высокое число, 100, и Bloom не настроен. На изображении с правой стороны настройка Bloom была изменена от 1 до 0,1. Это все равно позволит Emissive вводить много статического света в мир, а также не удалять Bloom.

EM Tweak PP UE4

Несколько скачков Косвенного Освещения

Множественные скачки косвенного света от меши, где включена функция Emissive for Static Lighting, поддерживаются настройкой параметра Num Sky Lighting Bounces в World Settings > Lightmass.

Настройки световой массы UE4

Излучательный Multi Прыжок UE4

Пример сцены с эмиссионным статическим освещением, обеспечивающим несколько скачков косвенного освещения.

Вывод

Добавление Emissive Lighting к любому Материалу – очень дешевый и эффективный способ имитации источника света без добавления нового света. Однако имейте в виду, что при использовании параметра Emissive Lighting он не будет освещать динамические объекты, такие как персонажи, так же, как и огни/свет. Также не забудьте настроить опцию Bloom на объеме Post Process, если ваше свечение слишком интенсивное.