- UE4材质概览图
USF虚幻引擎着色器文件中有许多由着色器语言编写的函数,相当于材质节点的模板
1.着色模型决定了材质与场景中投射的光照之间的互动方式
2.混合模式决定材质混合模式,比如透明、半透明、遮罩等
3.材质域决定材质的用途/使用方式
每个材质可以有16个纹理(其中一部分固定用于光照贴图、阴影贴图和其他),如果使用共享取样器可以有128个
分配纹理组很重要,便于预设和管理不同类型的纹理,比如部分纹理尺寸不能超过2048px,或者用于UI
更改多个材质的某项参数值应使用材质参数集
-
纹理格式和压缩
PSD、TGA、PNG格式图片支持透明通道,适合导入虚幻引擎作为纹理使用
导入的纹理尺寸应为2的幂次方
纹理无论大小,导入引擎后均会被压缩成DXTC或者BC格式
纹理的压缩设置大多数情况下使用 默认设置(DXT/BC)和 法线贴图 这两种
其他诸如Grayscale、HDR是未压缩的格式 -
PBR材质
基于物理的材质,通过调整金属(Metallic)、高光(Specular)、粗糙度(Roughness)三个材质属性来控制材质着色。
金属色:布尔值,默认值为0,值为1表示金属,0表示非金属
高光度:浮点数0~1,默认值为0.5,控制反射光、高光范围,值越高,高光越明显
粗糙度:浮点数0~1,默认值为0.5,值越高,表面越不光滑,反射光越少
使用常量向量节点创建不同PBR材质对比如下
-
材质表达式
可在创建材质时用作节点的材质表达式有很多,但常用的只有七个:纹理取样(Texture Sample)、常量(Constant)、常量3向量(Constant3Vector)、纹理坐标(TextureCoordinate)、平移(Panner)、乘法(Multiply)和插值(Lerp)。
TextureCoordinate节点:修改U/V平铺,控制纹理缩放
Panner节点:通过修改参数Speed X/Y控制移动纹理UV坐标移动
Multiply节点:混合纹理、调整明暗
Lerp节点:根据Alpha值混合不同纹理
- 其他材质属性
自发光Emissive Color
材质不受光照的影响,取决于自发光颜色参数,比如聚光灯、电视、火焰
世界位置偏移World Position Offset
飘动的窗帘等
着色模型Shading Modal
无光照适合自发光材质,比如电视屏幕、魔法、火焰
混合模式Blend Mode
半透明Translucent模式比如玻璃
遮罩Masked模式比如植被、栅栏
双面Two Sided
草地、植被、魔法特效