材质编辑器

  • 材质编辑界面主要由几部分组成,分别是材质图标,节点表,材质属性表,和各类操作面板:
  • image.png
  • 类似于Blender的原理化BSDF节点,一开始就会存在的是右侧的输出节点
  • 我们需要通过连线的方式,将节点连接到对应的输出端口上
  • 在操作完成后,我们需要进行保存和应用,这些操作全部在上方的材质编辑器的操作面板上完成

一些常用的材质节点

  • image.png
  • 以上是一些常用的基础材质节点,分别是:
    • 1+左键: 常量节点,用于输入一个常量
    • 2+左键: 一个二维向量节点,用于输入一个二维向量
    • 3+左键:一个三维向量节点,可以看到对应的RGB值,输入一个三维向量
    • M+左键:乘法,接受两个常量输入,输出他们相乘的结果
    • T+左键:输入一个材质,可以选择一个图像,输出RGB或其他选项
  • 还有更多的节点可以通过右键呼出搜索面板来进行搜索,与blender shift+a类似

常用的输出端简介

  • image.png
  • 根据我们选择着色模型的不同,也会有对应的不同的输出端口,但常用的基本一致,比如作为颜色信息的基础颜色,控制粗糙度的粗糙度端口。以下是逐项的介绍

基本颜色

  • 类似于UnityShader中的Color Tint,是作为基本的输出颜色存在的,决定了材质视觉上的呈现,往往直接可以连接一张Texture

金属感

  • 取值为0-1,所有的导电物体都应该具备的属性,可以让视觉上材质呈现出金属质感,类似于哑光质感。

高光度

  • 取值为0-1,类似于UnityShader中的_Gloss属性,用于控制高光的大小

粗糙度

  • 取值为0-1,用于控制物体的粗糙程度,可以接受Texture输入,类似于diffuse与Specular的混合程度,0即为100%Specular,1即为100%diffuse

各向异性

  • 用于控制高光反射的形状,底层逻辑是一张采样的贴图

自发光颜色

  • 用于控制物体自发光强度,数值越大发光强度越高,在UE中可以照亮周围的物体

不透明度

  • 取值为0-1,用于控制物体可见性的数值,本质依然是不透明度混合的结果,这个数值就是可以对其的范围进行调节。可参考UnityShader中不透明效果的代码实现

不透明蒙版

  • 不透明蒙版可以做出类似PS中剪贴蒙版的作用,可以对有A通道的照片素材进行裁切,并且让场景中的面片跟随变化轮廓

法线与切线

  • 经常用作制作物体表面凹凸质感,在UnityShader中,可以在切线空间下计算法线贴图也可以在世界空间计算,美术更喜欢前者,因为可以清晰判别模型的各个视觉方向。

全局位置偏移

  • 移动模型位置,更多用于动态效果的创建

次表面颜色

  • 需要配合次表面着色模型开启,开启后可以实现透光效果

折射与像素深度偏移

  • 前者多为玻璃材质所需,后者则是软化模型交界处质感

渲染模式与着色模型

  • 在UE中一共有六种材质域,数种着色模型:

  • image.png

  • 许多与Unity共同的特点,只不过有更好的封装进而有更便捷的实现。例如混合模式就是UnityShader中的Blend关键字,可以很容易的进行混合模式的开启,从而渲染半透明等材质

  • 同样,着色模型也为我们提供了实现某些渲染效果更轻松的实现,这些都是UE为我们进行的优化。


结语

  • 这一节,我们初步认识了UE的材质编辑界面,简单来说,就是利用可视化节点的方式代替code编辑从而便捷的实现效果,但请记住,本身仍然是一个个函数实现,因此结合Shader代码的学习必不可少!