Unity灯光烘焙

1、Unity计算的光照效果简称GI,全称:全局光照。
全局光照是用来模拟,光的互动和反弹…等复杂行为的算法。要精确的仿真,付出的代价也高,所以现代游戏会预先处理(预处理)这些计算,并不是游戏执行时实时计算。
realtime(实时) GI
bake(烘焙) GI

2、直接光、间接光
直接光:方向光、点光、聚光(spotlight)、区域光等,简单理解就是:从光源发出的直接影响物体的光。
间接光:光子在物体表面之间的反弹。

3、混合光源、烘焙lightmap
混合烘焙模式:会将已标记为静态的Obj受到来自混合光源的光照信息保存为lightmap,同时,也会为场景中的非静态Obj提供实时的直接光照。

4、Emission的间接光:只有静态物体可以产生,动态物体如果想接收需要LightProbe
动态物体想接收Baked的间接光或者阴影都得需要LightProbe

5、灯光设置为Bake,烘焙完成之后灯光就可以删掉了,已经将光照贴图赋给了游戏物体,灯光的作用就消失了。
但是如果场景中新增了一个动态物体,就应该使用混合型的灯光。

6、
将光照面板(Lighting)下场景(Scene)标签中的环境反射(Environment Reflections)的反弹次数改为5,这个值越大,光线会充分传递到阴暗区,亮度越亮,但亮度不会超过照亮区。
在这里插入图片描述

7、UV展平相关
7.1 强烈建议不要使用Unity3d自带的Lightmap UVs展平功能,也就是不要勾选: 选中模型源文件—在Inspector检查面板中的Model界面—Generate Lightmap UVs
7.2 *系统会利用建模软件中拆分(展平)的通道2中的UV坐标。这个数据保存在FBX文件中,U3d是可以识别的。
在这里插入图片描述

二、Window-Lighting-Lightmapping Setting

1、Lightingmap:分为Enlighten和Progressive两种,视频中介绍是差距不大,不过Progressive的烘焙速度会快一些。
2、Indirect Resolution:间接光照的精度,间接光即物体之间反射形成的光照。
3、Lightmap Resolution:一个单位烘多少个像素点,会影响灯光贴图的大小。例如默认40时贴图大小是8M,如果改成20,仅为2M.值越小,烘焙速度越快,但烘焙效果也会越低。
4、Ambient Occlusion:环境光遮蔽,开启时场景中的边角处会更贴近实际。

ps:在物体的Inspector面板之中的Lightmap Setting之中,我们可以修改Scale in Lighting的值,范围是0~1之间,值越小,对于这个物体的烘焙速度也越快,相对应地,会减小烘焙的效果。


三、探针使用、后处理及批处理

1、探针
灯光探针:(适用于运动物体)运动物体在覆盖的场景中进行移动时,能实时改变运动物体的颜色信息。
反射探针:(适用于室内场景)可以看到反射探针有一个区域,只有区域内的物体能影响探针。

2、后处理(Post-Processing)
预处理技术,给摄像机价格效果。

给camera 添加 Component -> Rendering -> Post-process Layer 组件

3、批处理
只是拥有相同材质的物体才可以进行批处理,分别动态批处理和静态批处理。
动态批处理:仅支持小于900顶点的网格物体
静态批处理:可对任意大小的几个物体进行批处理(只要这些物体不移动,并且拥有相同的材质)。
想要完成这一步,需要勾选Static


猜你喜欢

转载自blog.csdn.net/qq_22975451/article/details/121651647