码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-06-25 20:41:54      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:blog   http   tar   com   get   使用   

引言:
烘焙出来的light map并不能作用于动态物体。如果场景里有动态物体的话,会显得与烘焙好的场景脱离。
需要两个部分的效果:
影子:
(1)使用勾选阴影的实时光。
(注意:Dual+deferred Dual+forward Single+forward都有影子
   只有Single+deferred,即使光勾选了阴影,也不会有影子。)

明暗变化:
(1)使用实时光
(2)使用Light Probes
(3)使用脚本控制
物体处于阴影区域的颜色:(1)(2)都默认是黑色,除非自己在阴影区域再加光源(3)自己写。可以实现Temple Run 2中 在阴影区域里的特殊颜色。

                           Light Probes



light probe仅用于烘焙。

使用Light Probes
(1)创建一个GameObject,然后Component->Rendering->light probe group。界面如下。
bubuko.com,布布扣
(2)Add probe添加probe.
(未被选中的probe为黄色,选中的probe为蓝色)
bubuko.com,布布扣
(3)在选中该物体的情况下。在scene窗口中选择probe,按ctrl+d,复制该probe.排列成一排。
bubuko.com,布布扣
(4)点击Insprector面板里的Select all 选择整排的probe.然后点击Duplicate selected或者直接按ctrl+d,然后拖拽新创建的一排probe。重复此过程,直到成一个阵列。
bubuko.com,布布扣

bubuko.com,布布扣
(5)复制整个probe阵列,并向上拖拽。如下图所示的红线就出来了,表明已经形成了一个体积(form a volume)。
(注意:如果不形成一个体积,即出现红线的话,创建的light probes是不会有任何效果的)
bubuko.com,布布扣
(6)在这个体积内随便建几个例如cube,sphere之类的简单多边形,然后把这些物体勾选static。然后创建一个directional light,并勾上soft shadow。
(7)打开light mapping界面,然后bake scene.
(8)烘焙好后,在显示light mapping界面的前提下,scene界面如下
bubuko.com,布布扣
(9)之后你可以创建任意一个Skinned Mesh Renderer的模型,或者任意模型或多边形。不勾选static,在Mesh Renderer或者Skinned Mesh Renderer里勾选 Use Light Probes。
(10)点击运行,发现随该人物或者物体移动,明暗会发生一个整体的变化,尤其是在光照区域和阴影区域间切换的过程。
bubuko.com,布布扣bubuko.com,布布扣


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


烘焙好后,在Lightmap Display界面里
勾选Show probes:能看见烘焙好的light probes,由于是已经烘焙好的了,即使移动Light probes group里的点也无法改变烘焙好的点。
勾选show cells:能看见烘焙好的light probes所形成的一个个空间。
bubuko.com,布布扣

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



Light Probes的优点:
(1)性能佳,对比实时阴影性能高很多,适合移动平台。
(2)配合烘焙,配合烘焙效果很好。
(3)可视化,可以可视化编辑Light Probes的分布,不需要代码。
Light Probes的缺点:
(1)烘焙后才能有效果,不能实时改变.
(2)只能整体进行明暗变化。

Unity3D教程宝典之光影烘焙:第三讲Light probes,布布扣,bubuko.com

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

标签:blog   http   tar   com   get   使用   

原文地址:http://www.cnblogs.com/chenxiaojian13/p/3805476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!