您的位置:首页 > 移动开发 > Unity3D

Unity3D教程宝典之光影烘焙:第三讲Light probes

2013-04-16 10:11 330 查看


转载自风宇冲Unity3D教程学院

light probe仅用于烘焙。

使用Light Probes

(1)创建一个GameObject,然后Component->Rendering->light probe group。界面如下。




(2)Add probe添加probe.

(未被选中的probe为黄色,选中的probe为蓝色)




(3)在选中该物体的情况下。在scene窗口中选择probe,按ctrl+d,复制该probe.排列成一排。




(4)点击Insprector面板里的Select all 选择整排的probe.然后点击Duplicate selected或者直接按ctrl+d,然后拖拽新创建的一排probe。重复此过程,直到成一个阵列。








(5)复制整个probe阵列,并向上拖拽。如下图所示的红线就出来了,表明已经形成了一个体积(form a volume)。

(注意:如果不形成一个体积,即出现红线的话,创建的light probes是不会有任何效果的)




(6)在这个体积内随便建几个例如cube,sphere之类的简单多边形,然后把这些物体勾选static。然后创建一个directional light,并勾上soft shadow。

(7)打开light mapping界面,然后bake scene.

(8)烘焙好后,在显示light mapping界面的前提下,scene界面如下




(9)之后你可以创建任意一个Skinned Mesh Renderer的模型,或者任意模型或多边形。不勾选static,在Mesh Renderer或者Skinned Mesh Renderer里勾选 Use Light Probes。

(10)点击运行,发现随该人物或者物体移动,明暗会发生一个整体的变化,尤其是在光照区域和阴影区域间切换的过程。






总结:

创建好Light Probes后,在烘焙的过程中,light probes会记录各个probe探针点记录的光照强度信息。然后运动的物体,通常是其mesh的中心点为物体的探测点(the centre of the mesh's bounding box)会参与运算。如果该点位于Light Probes的体积内的话,则取包裹该点的最小空间,取形成该空间的light probe点(通常是4个点),根据距离进行插值,最终取得物体对应点的光照强度,并和烘焙时的光颜色共同作用于renderer。物体点所在的位置反应了插值时各点比例。




如果是物体点 位于Light probes所形成的体积外的话,则取最近的probes面,即形成该面的三个点进行插值。会有条线从物体指向该面,该线与面的交点反应了插值时三个点比例。




烘焙好后,在Lightmap Display界面里

勾选Show probes:能看见烘焙好的light probes,由于是已经烘焙好的了,即使移动Light probes group里的点也无法改变烘焙好的点。

勾选show cells:能看见烘焙好的light probes所形成的一个个空间。



在与场景同名的文件夹下,不仅能看见lightmap,也能看见LightProbes.asset这个文件,它就是烘焙好的light probes了。在Inspector面板下,能看见probe的数量和cell空间的数量。




Light Probes的优点:

(1)性能佳,对比实时阴影性能高很多,适合移动平台。

(2)配合烘焙,配合烘焙效果很好。

(3)可视化,可以可视化编辑Light Probes的分布,不需要代码。

Light Probes的缺点:

(1)烘焙后才能有效果,不能实时改变.

(2)只能整体进行明暗变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Lightmap