UE4_材质/纹理
PBR材质基本上是以下几张纹理的“融合”
1.基本颜色
2.Normal 法线信息,体现凹凸感
3.AO 环境光遮蔽 表面光线的遮蔽效果
4.Roughness 粗糙度
5.Metal 金属度
关于尺寸,一般都是1:1,且是2的n次幂。
注意:可以不是1:1,但长宽一定要是2的n次幂。
原因: 因为UE4使用Mipmap(多级渐进式纹理)进行优化,为纹理生成多张缩小两倍的纹理,优化性能和远距离视觉表现(如512*512、256*256、128*128).
可以把下面这个调成NoMipmaps关掉这个功能
纹理压缩格式
导入贴图的时候,不管源文件什么格式,是否压缩,在UE4里都会被默认的压缩(或扩容)成同样的大小。
压缩的设置如下:
比较常用的,第一个默认
第二个法线
第三个Mask,只保留灰度图可用
偶尔用到HDR
其余的都不是很常用
灰度调整与伽马矫正
第一种方法,把贴图的sRGB关掉,
然后调整为线性
第二种方法:
直接改为masks
前向渲染和延迟渲染
前向渲染是先进行灯光和光栅化的计算,在进行深度检测 缺点:要求灯光不能太多
延迟渲染是先进行深度检测,再进行灯光和光栅化的计算 缺点:因为需要额外分配一块G内存,所以会更加占用资源
一般的渲染过滤:
第一步,距离剔除 忽略掉与摄像机距离超过一定数值的物体
第二步,视锥剔除 忽略掉视锥以外的物体
第三步,遮蔽剔除 检测每个模型的可见性
第四步,深度检测 检测处理部分被遮挡的物体
因为延迟渲染是 先做了深度检测,再进行光栅化,所以如果材质半透明的话会出现问题。这也是延迟渲染中半透明实现起来困难的原因。
可以在LightingMode里面单独设置前向渲染
两个半透明物体的排序问题
深度测试测试的是坐标,所以如果一个大球一个小球他们的位置相同,会随机挑一个当前面的。
强制渲染排序
手动调整渲染排序,找到Rendering,
把外面的调到1,里面的默认是0,所以不论在哪个视角,都会优先渲染优先级更高的物体。只有当十分确定物体1一定要比物体2渲染的早才能使用该设置。