UE4 制作玻璃材质总结

313 阅读2分钟

玻璃材质总结

材质基本项的设置: 混合模式选:半透明 光照模式可选:表面半透明体积(开销较小) 表面前向着色(开销较大,效果更好) 二者计算复杂度相差400

玻璃效果的实现: 粗糙度:一般设为0即可 金属感(或者选高光度,二者效果几乎相同):视情况调整,主要影响材质的反射效果 不透明度:视情况调整 折射:应用在球体上的宏观表现:>1,表现为缩小 <1,表现为放大 fresnel函数:对于曲面形状,如果只应用折射的话,不同角度的缩放效果是一样的,这和实际不符。 为了模仿真实世界的缩放效果,需要使用fresnel函数+lerp调整不同角度的折射率。 可视情况对不透明度和金属感使用fresnel。 计算原理:表面法线与摄像机方向的标量积(即正对为0,垂直为1)

关于性能: 玻璃材质对性能的消耗为中等,这是由其光照模式所决定的。 且光照模式只能选择上述的两种,不然无法添加金属感,实际观感很差,没有光泽。 查看了许多官方demo,玻璃材质的计算复杂度都在300以上。(使用表面半透明体积为300+,表面前向着色为700+) 综上,对于目前的主流方案,玻璃材质的性能消耗为300+。想要再降的话,效果则会大打折扣。

问题:(非光线追踪效果)

1、在非光追模式下,引擎的渲染方式为截图后计算折射。这意味着使用了折射以后总是在某些角度会观察到画面失真的情况(画面截取)

2、透过有折射效果的半透明材质,去观察使用了半透明材质的物体,折射效果并不会起任何作用,即相当于没有折射。 结论:非光追下的折射效果有很大的局限性,应该尽量避免使用。 如果效果需要添加折射,则应控制材质的应用场合。 如根据实际应用场景调整折射率,同时使用多个半透明介质需控制视线重叠的bug等。