Использование Subsurface Scattering в своих Материалах в Unreal Engine 4

0
4
Использование Subsurface Scattering в своих Материалах в Unreal Engine 4

Subsurface scattering (Подповерхностное рассеяние) – это термин, используемый для описания явления освещения, когда свет рассеивается, когда он проходит через прозрачную / полупрозрачную поверхность. Unreal Engine 4 (UE4) предлагает специальную Модель затенения под названием Subsurface, которая используется специально для материалов, которые нуждаются в этом взаимодействии, таком как кожа или воск. Следующее руководство расскажет вам все, что вам нужно знать о том, как использовать Subsurface scattering в ваших Материалах.

Включение Subsurface Shading Model

Включение Материала для использования модели Subsurface shading можно сделать несколькими шагами.

  1. Сначала создайте новый Материал правым кликом в контент браузере, а затем выберите Материал в списке Create Basic Asset. После создания убедитесь, что вы назвали этот Материал. В этом примере Материал будет называться MAT_Subsurface_00По завершении ваш Content Browser должен выглядеть так.создать новый Материал в контент браузере UE4

2. Затем откройте Материал, дважды щелкнув по нему левой кнопкой мышки.Открыть материал UE4

3. Теперь, когда Материал открыт, нам нужно изменить модель затенения Shading Model Материала с Default Lit на Subsurface.

4. Теперь Материал готов к использованию в качестве подповерхностного Материала.

Создание подповерхностного материала

Продолжая работу над нашим Материалом выше, который включил Subsurface Scattering, давайте настроим базовый Материал, чтобы мы могли видеть Subsurface Scattering в действии на уровне.

  1. Нам нужно разместить некоторые узлы Material Expression, чтобы у нас было с чем работать. В этом примере мы собираемся добавить следующие узлы.
  • Vector Parameter x 2
  • Scalar Parameter x 2

узлы Выражения Материала UE4

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

2. Прежде чем мы начнем соединять узлы, сначала нужно назвать их, а также установить для них значения по умолчанию. Имена и значения по умолчанию для узлов следующие:назвать узлы материала UE4

Имя свойстваЗначение
Base_Colorr:1.0, g:1.0, b:1.0
Roughness0.35
Subsurface _Amount0.5
Subsurface_Colorr:1.0, b:0, g:0

3. После того, как узлы материалов были названы и заполнены с правильными данными, настало время подключить узлы материала к узлу основного материала. Чтобы подключить узел к основному узлу материала, левым кликом щелкните по Белому Кругу, который находится на правой стороне узла. Когда левая кнопка мышки все еще удерживается, перетащите вправо, появится провод подключения. Продолжайте перетаскивать вправо, пока левая кнопка мышки все еще будет удерживаться до тех пор, пока вы не перейдете на вход, который вы хотите использовать на узле основного материала. После того, как ваша мышка будет находиться над входом, который вы хотите использовать, отпустите Левую кнопку мышки для подключения.

4. Теперь, когда все узлы подключены, убедитесь, что вы скомпилируете материал, нажав кнопку Apply. После компиляции вы должны иметь что-то похожее на это.Готовый материал UE4

5. После того, как Материал был скомпилирован, вы можете закрыть окно Материала. Затем внутри контент браузера выберите материал, щелкните правой кнопкой мышки по нему, а затем выберите в меню пункт Create Material Instance.

Применение Subsurface Material

  1. Теперь, когда экземпляр материала был создан, настало время проверить наш новый материал. Для этого сначала нужно создать новый пустой уровень для работы, перейдя в главное меню, и в разделе File выбрать New Level. Когда будет предложено выбрать тип уровня, выберите Empty Level.

2. Создав новый уровень, нам нужно добавить некоторый свет, чтобы мы могли проверить, как будет выглядеть наш Subsurface Material. Первый свет, который мы собираемся добавить, – это Point Light. Чтобы добавить Point Point в сцену, сначала нужно найти Point Light, который находится в меню Modes под опцией Lights. Как только найдете Point Light, вы можете добавить его на экран, сначала выбрав его с помощью левой кнопки мышки, а затем нажатой левой кнопкой мышки перетащить Point Light в сцену и отпустить левую кнопку мышки, чтобы его добавить. После добавления в сцену выберите свет, щелкнув по нему левой кнопкой мышки. Затем введите следующие значения.

Имя свойстваЗначение
Location:X:230, Y: -67, Z:79
Intensity:128

Затем мы добавим Spotlight. Он расположен прямо под точечным светом Point Light в разделе Lights на панели Modes. Вы можете добавить Spotlight на экран так же, как и Point Light. После добавления Spotlight введите следующие значения.

Имя свойстваЗначение
Location:X:-320, Y: 100, Z:-270
Rotation:X:0, Y:50, Z:0
Intensity:39764

По завершении вы должны иметь нечто похожее на следующее.

Применение Subsurface Material UE43. Со всеми добавленными огнями теперь можно добавить Статик Меш для тестирования. В этом примере мы будем использовать следующую меш.

StaticMesh’/Game/StarterContent/Props/SM_Chair.SM_Chair’

Если вы не можете найти меш SM_Chair, это, вероятно, связано с тем, что вы не включили Starter Content в свой проект. Чтобы узнать больше о нем, просмотрите страницу Starter Content.

После того, как вы разместили меш, перетащите ее из контент браузера на уровень. Как только она разместится на уровне, установите ее местоположение на 0,0,0 в мире. Когда это будет завершено, ваш вьюпорт уровня должен выглядеть так.  

вьюпорт уровня UE44. Теперь, когда Статик Меш была помещена на уровень, теперь мы можем применить к ней наш Subsurface Material. Для этого сначала найдите Subsurface Material в контент браузере. Когда найдете материал, перетащите его из контент браузера в меш, чтобы применить его.

Работа с Subsurface Material

Теперь, когда применяется Subsurface Material, пришло время настроить экземпляр материала. В следующих разделах мы рассмотрим, как мы можем контролировать, как будет выглядеть наш Subsurface Material, и как настраивать различные параметры в экземпляре материала, чтобы получить желаемые результаты.

Элементы управления Opacity

В текущей настройке нашего Subsurface Material вход Opacity управляет количеством света, с которым мы хотим, чтобы наш объект рассеивался. Установка на значение 0 позволяет рассеивать весь свет, где настройка значения на 1 не допускает рассеяния света. В следующем примере показана задняя часть меши стула со значением Opacity (непрозрачности), установленным на 0 в изображении слева, 0,5 в среднем изображении и 1.0 на изображении справа. Обратите внимание, что цифры идут от 0 до 1 – количество света, которое мы видим, проходит через объект и становится все меньше и меньше.Использование Subsurface Scattering в своих Материалах в Unreal Engine 4

В то время как Opacity помогает избавиться от большого количества рассеянного света, вы можете заметить, что все еще происходит Subsurface scattering. Чтобы полностью избавиться от данного эффекта, вам также придется отрегулировать значение Subsurface Color (подробнее об этом в разделе Значение Subsurface Color ниже).

Значение Subsurface Color

Хотя вы можете отрегулировать количество Subsurface scattering, которое происходит через ввод Opacity, вы также можете настроить его с помощью ползунка Value в Color Picker. Например, установив Opacity на значение 1.0 и установив значение Subsurface Colors Value от белого к черному, вы будете эффективно отключать Subsurface scattering, как в приведенном ниже примере.Значение Subsurface Color UE4

Если вы сделаете противоположное этому, настроив ползунок Value в Color Picker так, чтобы он теперь находился в белом цвете, вы снова включите Subsurface scattering, как в приведенном ниже примере.

включить Subsurface scattering UE4Ниже приведен пример настройки значения в реальном времени. Обратите внимание, как при изменении значения цвета от Красного к Черному меняется влияние от Subsurface scattering.

Использование Текстуры в качестве Subsurface Influence Mask

Вы можете использовать текстуру как маску, чтобы иметь больший контроль над тем, какие области получают или не получают Subsurface scattering.Чтобы сделать это, все, что вам нужно, это подключить текстуру, которую вы хотите использовать в качестве маски, в канал Opacity вашего материала. В следующем примере мы используем не только текстуру Маски, но также используем значение Scalar для управления интенсивности Маски, чтобы мы могли больше контролировать количество Subsurface scattering.

Текстура в качестве Subsurface Influence Mask UE4

Текстуры Mask работают на основе значений, идущих от Черного к Белому. Значения, которые ближе к Черному, позволят получить эффект Subsurface, а значения, которые ближе к Белому, не позволят получить такой же эффект.

Вот представлено то, как Материал выше, используя текстуру Mask Texture, выглядит на уровне. Обратите внимание на черные пятна на стуле. Эти черные пятна являются результатом использования чисто-белого значения в Mask Texture.Masked Texture на уровне UE4