Unity3D教程之反射探头(REFLECTION PROBES)
unity3d入门天空盒的信息不可能包含所有的场景对象,在许多情况下,对象从天空搜集反射信息时可能会被遮蔽,像是室内对象或是在类似桥或是隧道等建筑物里的对象,为了要准确反射这些对象,必须用反射探头针对这些对象取样,这种探头从他们的位置对周围取样并把结果写到方体贴图,可以让周围经过的物体得到环境的反射影像。可以透过
GameObject->Light->Reflection Probe来新增一个反射探头,反射探头的位置会决定方体贴图取样的内容,以及反射所看起来的样子,基于效能考虑反射探头越少越好,反射探头并非用来让物理得到精确结果,而是让游戏世界有更好的反射,大多数情况下几个安排妥当的反射探头就很足够了。
左图:场景只有预设的反射设定右图:场景加入了反射探头后的结果
在反射探头的属性面板可以设定Type为实时(Realtime),烘焙(Baked)或自定义(Custom),需要明白的是,实时反射的设定对效能极为不利,每多一个实时反射探头就会多出额外六次的著运算,因此摆设实时的反射探头应该要有明确的需求,例如反射会闪动的霓虹灯,否
则一般来说建议设成烘焙的就够了,效能也会好很多。需要注意的是,只有标记为”ReflectionProbe Static”的对象才会被反射探头取样,从属性接口上静态对象(Static)的下拉选单打勾即可,相反的,实时的反射探头会对所有可见的物体取样,除非在屏蔽(Mask)选单指定剔除它。
下面呢我们就去亲手操作一下。
首先我们在场景中添加两个游戏对象,一个Sphere,一个Cube。然后再创建两个材质球。第一个命名为Green_Metalic。
第二个命名为Mirror。Green_Metalic给Sphere游戏对象,Mirror给Cube游戏对象。
然后我们对cube进行缩放操作。我们可以把cube拉大一下。然后把Sphere放在cube 的前面。
我们需要再Light目录下面添加Reflection Probe这个反射探头针。
这是我们并没有看到任何的反射的效果。
我们注意到Reflection Probe默认是Bake。我们先调成Realtime。
我们在Cube上面看到了一个绿的影子。我们在之前使用Bake的时候,通常要对一个静态的游戏对象,我们把Sphere设置为Static同时设置Reflection Probe为Bake,然后烘焙结束后,那么我们就可以看到绿的Sphere了。这就是一个简单的反射探针的例子。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论