为移动物体使用光照探测器
2018-02-17 21:44
197 查看
原文链接:为移动物体使用光照探测器
光照贴图将真实的反射光烘培到静态物体表面的问题上,极大增加了场景的写实感。但是由于光照贴图的特征,它只能被应用到被标记为Lightmap Static的不移动物体上。
实时光和混合光能向移动物体投射直接光,但是不能从静态环境获得反射光,除非使用光照探测器。光照探测器存储光照在场景周围如何反射的信息。这样物体穿过游戏环境的空间时,它们可以使用存储在光照探测器中的信息,显示当前物体位置的近似反射光。
一个显示静态景物反射光的例子
在上面的场景中,定向光照射到红色和绿色建筑这些静态景物上,反射光被投射到场景中。反射光分别将每个建筑物正前方的地面染成了红色和绿色。因为所有模型都是静态的,所有这些光照都被存储到了光照贴图中。
当场景中引入移动物体时,它们不会自动接收反射光。在下面的图片中,救护车(一个移动的动态物体)没有被红色建筑的反射光影响。它的侧面是平坦的灰色。这是因为救护车是可以在游戏中移动的动态物体,不能使用静态的光照贴图。这个场景需要光照探测器让移动的救护车获取反射光。
救护车的侧面是平坦的灰色,尽管它应该从建筑物的前方获取一些红色反射光
为了使用光照探测器向移动的动态物体投射反射光,必须在场景中放置光照探测器,覆盖场景中移动物体可能到达的空间区域。
在场景中放置的探测器形成一个3D区块。移动物体在区块中任意位置的光照信息,会使用最近的探测器烘焙信息进行插值来近似。
一个在静态景物周围放置光照探测器的简单例子。光照探测器显示为黄色的点。它们使用品红色的线链接,显示它们定义的区块。
添加探测器并烘焙场景中的光照后,移动的物体会从场景中最近的光照探测器获取反射光。在于上面相同的例子中,移动的物体(救护车)现在可以从静态景物获取反射光,汽车的一侧因为红色的建筑反射光而染成红色。
通过场景中的光照探测器,救护车的一侧获取建筑物正前方反射的红色光照而染成红色
选中一个动态物体时,场景视图会显示当前插值的反射光使用的最近的探测器。距离移动物体最近的探测器形成一个四面体区块,移动物体的光照使用四面体的四个顶点进行插值。
物体被选中时,照亮物体的光照光照探测器会在场景中显示出来,用黄线连接成四面体区块
当一个物体穿过场景时,经过一个个四面体区块,根据当前在四面体中的位置计算它的光照。
一个动态物体穿过有光照探测器的场景,物体连续穿过光照探测器形成的四面体区块。
2017-06-08发布,没有编辑审查
在5.6种光更新了光照探测器
光照贴图将真实的反射光烘培到静态物体表面的问题上,极大增加了场景的写实感。但是由于光照贴图的特征,它只能被应用到被标记为Lightmap Static的不移动物体上。
实时光和混合光能向移动物体投射直接光,但是不能从静态环境获得反射光,除非使用光照探测器。光照探测器存储光照在场景周围如何反射的信息。这样物体穿过游戏环境的空间时,它们可以使用存储在光照探测器中的信息,显示当前物体位置的近似反射光。
一个显示静态景物反射光的例子
在上面的场景中,定向光照射到红色和绿色建筑这些静态景物上,反射光被投射到场景中。反射光分别将每个建筑物正前方的地面染成了红色和绿色。因为所有模型都是静态的,所有这些光照都被存储到了光照贴图中。
当场景中引入移动物体时,它们不会自动接收反射光。在下面的图片中,救护车(一个移动的动态物体)没有被红色建筑的反射光影响。它的侧面是平坦的灰色。这是因为救护车是可以在游戏中移动的动态物体,不能使用静态的光照贴图。这个场景需要光照探测器让移动的救护车获取反射光。
救护车的侧面是平坦的灰色,尽管它应该从建筑物的前方获取一些红色反射光
为了使用光照探测器向移动的动态物体投射反射光,必须在场景中放置光照探测器,覆盖场景中移动物体可能到达的空间区域。
在场景中放置的探测器形成一个3D区块。移动物体在区块中任意位置的光照信息,会使用最近的探测器烘焙信息进行插值来近似。
一个在静态景物周围放置光照探测器的简单例子。光照探测器显示为黄色的点。它们使用品红色的线链接,显示它们定义的区块。
添加探测器并烘焙场景中的光照后,移动的物体会从场景中最近的光照探测器获取反射光。在于上面相同的例子中,移动的物体(救护车)现在可以从静态景物获取反射光,汽车的一侧因为红色的建筑反射光而染成红色。
通过场景中的光照探测器,救护车的一侧获取建筑物正前方反射的红色光照而染成红色
选中一个动态物体时,场景视图会显示当前插值的反射光使用的最近的探测器。距离移动物体最近的探测器形成一个四面体区块,移动物体的光照使用四面体的四个顶点进行插值。
物体被选中时,照亮物体的光照光照探测器会在场景中显示出来,用黄线连接成四面体区块
当一个物体穿过场景时,经过一个个四面体区块,根据当前在四面体中的位置计算它的光照。
一个动态物体穿过有光照探测器的场景,物体连续穿过光照探测器形成的四面体区块。
2017-06-08发布,没有编辑审查
在5.6种光更新了光照探测器
相关文章推荐
- Unity2D中使用鼠标拖动物体移动
- 实现射线检测鼠标拖动物体移动和使用滑轮缩放物体
- Unity 3D使用GameObject创建一个简单的可移动物体
- Unity3d中使用鼠标拖动物体移动
- 模拟物体(汽车)任意方向和速度移动平面动画__(使用Qt 实现)
- 关于Unity3d 使用rigidbody.velocity代替Transform.Translate()来使物体向前移动
- 使用OpenCV实现简单的移动物体检测和追踪
- 【ulua入门】(2) 动态实例化GameObject,然后更改UGUI元素的值,使用案件移动物体
- 基于python使用opencv监测视频指定区域是否有物体移动
- Direct3D开启光照和使用材质绘制物体
- 3D+OpenGL里的光照平面镜面反射以及漫游移动物体位置等的具体实现
- unity3d移动平台优化专题(2):不要使用实时光照
- unity3D中使用鼠标控制物体移动的方法
- Unity中使用Rigdbody来给物体添加真是的移动旋转效果
- unity3d和下OrtHello的使用教程 (二) 移动物体,碰撞等
- 移动web页面使用字体的思考
- 使用asmcmdcp命令把datafile从文件系统移动(move)到asm磁盘组中 针对11gR2
- 取出视频中有移动物体的帧
- Android 实现物体在屏幕中的移动
- 每个移动设备平台使用的图标尺寸