为移动物体使用光照探测器

35 篇文章 0 订阅

原文链接:为移动物体使用光照探测器
光照贴图将真实的反射光烘培到静态物体表面的问题上,极大增加了场景的写实感。但是由于光照贴图的特征,它只能被应用到被标记为Lightmap Static的不移动物体上。
实时光和混合光能向移动物体投射直接光,但是不能从静态环境获得反射光,除非使用光照探测器。光照探测器存储光照在场景周围如何反射的信息。这样物体穿过游戏环境的空间时,它们可以使用存储在光照探测器中的信息,显示当前物体位置的近似反射光。
alt text
一个显示静态景物反射光的例子
在上面的场景中,定向光照射到红色和绿色建筑这些静态景物上,反射光被投射到场景中。反射光分别将每个建筑物正前方的地面染成了红色和绿色。因为所有模型都是静态的,所有这些光照都被存储到了光照贴图中。
当场景中引入移动物体时,它们不会自动接收反射光。在下面的图片中,救护车(一个移动的动态物体)没有被红色建筑的反射光影响。它的侧面是平坦的灰色。这是因为救护车是可以在游戏中移动的动态物体,不能使用静态的光照贴图。这个场景需要光照探测器让移动的救护车获取反射光。
alt text
救护车的侧面是平坦的灰色,尽管它应该从建筑物的前方获取一些红色反射光
为了使用光照探测器向移动的动态物体投射反射光,必须在场景中放置光照探测器,覆盖场景中移动物体可能到达的空间区域。
在场景中放置的探测器形成一个3D区块。移动物体在区块中任意位置的光照信息,会使用最近的探测器烘焙信息进行插值来近似。
alt text
一个在静态景物周围放置光照探测器的简单例子。光照探测器显示为黄色的点。它们使用品红色的线链接,显示它们定义的区块。
添加探测器并烘焙场景中的光照后,移动的物体会从场景中最近的光照探测器获取反射光。在于上面相同的例子中,移动的物体(救护车)现在可以从静态景物获取反射光,汽车的一侧因为红色的建筑反射光而染成红色。
alt text
通过场景中的光照探测器,救护车的一侧获取建筑物正前方反射的红色光照而染成红色
选中一个动态物体时,场景视图会显示当前插值的反射光使用的最近的探测器。距离移动物体最近的探测器形成一个四面体区块,移动物体的光照使用四面体的四个顶点进行插值。
alt text
物体被选中时,照亮物体的光照光照探测器会在场景中显示出来,用黄线连接成四面体区块
当一个物体穿过场景时,经过一个个四面体区块,根据当前在四面体中的位置计算它的光照。
alt text
一个动态物体穿过有光照探测器的场景,物体连续穿过光照探测器形成的四面体区块。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值