纹理与材质
纹理尺寸和mipmap多级渐进式纹理
输出指定尺寸的图片:ps-图像–图像大小
Mip-map 的生成在纹理导入时发生,将创建纹理的 mip-map 链。Mip-map 链由相同图像的多个等级组成,每个等级的分辨率是上个等级的一半。该数据使显卡在使用更低的 mip 时更快地执行渲染(显存带宽更少),并降低精细纹理在特定距离出现的纹理失真(闪烁)。设置在运行时不存在性能影响,因为它只对 mip-map 生成产生影响(在导入中或变更设置时)
也就是mipmap会在导入纹理时增加存储,在 Mip Gen Settings 下拉框中可以关闭这个。但是对于性能来说很值得,不建议关闭。
纹理文件格式和纹理压缩
因为分辨率相同的图片在虚幻里面都是相同的压缩方法,不论源文件是多大,导入引擎后都是一样大,所以尽量要使用不压缩的图像或者是压缩率小的,比如psd格式和tga格式。
对于法线贴图,灰度图,置换贴图都有相应的压缩选项
纹理通道和sRGB
图像由RGBA通道混合而成,一般情况注意不要开A通道,存储会增加很多。
白色为1黑色为0
- 可以通过ps将粗糙度贴图,金属度贴图,ao贴图合成一张,在虚幻的材质结点中从通道连接到主面板。
- substance painter 也可以导出这样的图
伽马矫正:因为人眼对亮度的感知不是线性的,对暗部的感知比实际更亮一点而且也分不清较暗的灰度区别。而摄像机和一些图像处理程序是线性感感光,所以它们最终都会对图像进行gamma矫正,也就是把图像暗部变的更亮,还原人眼效果。
UE4中默认勾选sRGB,也就是反伽马矫正,但是我们的灰度图并没有被伽马矫正过,这样执行后整体会变得更暗,即更光滑更没有金属质感。
所以当我们使用灰度图信息时,应该取消sRGB选项或者压缩模式改为Mask,相应的sampler type 取样器类型 要改为线性颜色等
前向渲染和延迟渲染
具体想了解清楚还需要看底层原理,这里简单说一下
-
前向渲染
-
延迟渲染
遮蔽剔除和半透明
计算遮蔽关系
-
剔除完全不可见或完全被遮挡的物体:
距离剔除:相机的渲染距离不是无限远的,所以超出一定距离的物体可以被剔除掉,不进行渲染
视锥剔除:相机的视野范围是一个锥形,超出渲染范围的物体可以被剔除掉,不进行渲染
遮蔽剔除:检测每一个模型的可见性,剔除掉不可见的模型 -
对于半个被遮挡的物体:
深度测试剔除几何体上一部分像素
半透明材质
- 半透明材质创建
为什么要选择这个
选择前向渲染时,根据物体的坐标位置来进行深度测试,对于两个位置相同的半透明材质球无法判定哪个在前哪个在后渲染
可以自动设定渲染顺序
但是有时候会因为视角的关系穿帮,所以使用要尽量注意穿帮镜头