【个人Unity笔记】烘焙光照贴图后保留法线和光探头

来源:互联网 发布:回忆专用小马甲知乎 编辑:程序博客网 时间:2024/05/24 01:40

使用的5.34f1版本的unity
有时候为了节省开销,烘焙光照贴图是一种很好的办法,在手机上开发经常会使用到,配合光探头还可以让静态光和非静态物体产生互动。

首先,把要烘焙的物体全部勾选为静态(Static)。
右边的Static

然后,把需要烘焙的光的Baking由默认的Realtime切换为Baked,AreaLight(区域光)除外,区域光是只能用于烘焙的,不用修改。

再打开Window-Lighting,然后在LightMaps选项栏中点击下方的Build就可以了,或者勾选旁边的Auto,勾选Auto会自动烘焙,适合反复调试,但是场景比较大会很卡。
这里写图片描述

Project中会多出来一个LightingData,这个就是保存你的光照贴图的文件。

烘焙后会发现,勾选了Static的物体确实是烘焙出来了,但是非静态物体并不受静态光的影响,感觉不太好。
如下图,立方体和地面是静态,球体是非静态,红蓝光是静态光,可以看到,球体不受红蓝光的影响。
这里写图片描述
放置光探头可以使静态光和非静态物体互动。而且基本上没有什么开销。
GameObject-Light-Light Probe Group,创建一组光探头,用光探头把静态光包裹起来,然后再复制一组光探头,把之前的光探头再包裹起来,这样效果比较好。如下图
这里写图片描述
把每一个静态光都这样包裹一下,然后再烘焙一次。
然后就会发现非静态物体也接受静态光的影响了。
这里写图片描述
配合一些特殊的Shader也没什么问题
这里写图片描述

需要注意的是烘焙光照贴图后法线就没有了,保留法线需要修改Lighting面板中的Directional Mode为Directional,然而下面的提示也说明的这个选项不支持比较老的硬件,如果不支持他会自动回滚到Non_Directional。所以不用担心。
这里写图片描述

0 0
原创粉丝点击