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

其余的都不是很常用

 

 

灰度调整与伽马矫正

因为人眼对亮度的感知和物理功率不成正比,而是幂函数的关系,这个函数的指数通常为2.2,称为Gamma值。
打个比方,功率为50%的灰色,人眼实际感知亮度为
而人眼认为的50%中灰色,实际功率为
所以RGB中的灰度值,为了考虑到较小的存储范围(0~255)和较平衡的亮暗部比例,所以需要进行Gamma校正,而不是直接对应功率值,因此RGB值RGB颜色值不能简单直接相加,而是必须用2.2次方换算成物理光功率后才能进行下一步计算。
 
修正:

第一种方法,把贴图的sRGB关掉,

 

 然后调整为线性

 

 

第二种方法:

直接改为masks

 

 

 

 

前向渲染和延迟渲染

前向渲染是先进行灯光和光栅化的计算,在进行深度检测   缺点:要求灯光不能太多

延迟渲染是先进行深度检测,再进行灯光和光栅化的计算    缺点:因为需要额外分配一块G内存,所以会更加占用资源

 

一般的渲染过滤:

第一步,距离剔除  忽略掉与摄像机距离超过一定数值的物体

第二步,视锥剔除  忽略掉视锥以外的物体

第三步,遮蔽剔除  检测每个模型的可见性

第四步,深度检测  检测处理部分被遮挡的物体

 

因为延迟渲染是 先做了深度检测,再进行光栅化,所以如果材质半透明的话会出现问题。这也是延迟渲染中半透明实现起来困难的原因。

 

可以在LightingMode里面单独设置前向渲染

 

 

两个半透明物体的排序问题

深度测试测试的是坐标,所以如果一个大球一个小球他们的位置相同,会随机挑一个当前面的。

 

强制渲染排序

手动调整渲染排序,找到Rendering,

 

 把外面的调到1,里面的默认是0,所以不论在哪个视角,都会优先渲染优先级更高的物体。只有当十分确定物体1一定要比物体2渲染的早才能使用该设置。

 

   

 

posted @ 2020-06-26 01:28  vantablack  阅读(1447)  评论(0编辑  收藏  举报