实时渲染入门:反射

实时反射很难实现,这也许是除了光照以外最难实现的技术。反射总共有三种

反射捕获

首先执行的就是反射捕获,同时也是优先级最低的。它就是在一个特定的位置捕获一张静态立方体贴图 。
它具有以下特点:
1,非常快速
2,预先计算
3,不太准确
4,作用于局部

所谓的预先计算,就是打开关卡的一刻重新捕获。效果等同于Play->Update Reflection Captures。
在这里插入图片描述
如果运行游戏或者应用,它也会在加载时更新。如果打包游戏或者应用,它会将纹理烘焙进游戏,而不再在加载时捕获了。它实际会将捕获的图片保存,作为游戏或者应用的一部分,并在需要时读取。

它作用于局部,会随着范围扩大而逐渐消退,并不是突然消失。
在这里插入图片描述
基本上,这个范围内的所有像素,都会检查附近是否有反射捕获的Actor,如果有,它就向反射捕获Actor查询立方体贴图,读取立方体贴图,然后融合到场景当中去。

平面反射

类似于反射捕获,从给定位置获取捕获内容,但是平面反射只作用于平面,应用场景主要在需要精确的反射。反射捕获的Actor也是预先计算的。

SSR(屏幕空间反射)

是UE4唯一的默认的反射系统,它的优点是:
1,能反射所有对象,
2,实时
3,精确
它的缺点是:
1,噪点很大
2,开销很大
3,渲染只能在屏幕上出现的内容

实时这一点跟以上两点不同,在UE4中移动对象时,反射也会跟着变化。
而只能渲染在屏幕上出现的内容的意思就是:只有在屏幕中出现的内容,它的反射才会被渲染出来。如果想通过反射来观察屏幕以外的物体,就做不到。

反射性能:
1,SSR拥有最高的优先级,如果不能用的话,就使用平面反射,如果还不行,就使用反射捕获。在关卡中加入过多反射捕获,可能会导致加载变慢。
2,当许多反射捕获重叠时,由于像素着色器会一遍一遍的运算,因此开销会非常大。
3,反射捕获可以在“项目设置”中设置。
4,天空光照能够给整个游戏世界提供低成本的备用反射捕获
5,平面反射只有在绝对需要的时候才确定开启
6,如果硬件性能有限,就关闭SSR
7,如果硬件允许,同时SSR也可以提升性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值