Unity 3D 静态对象 Lightmap
Lightmap 技术的原理是将场景中的灯光与物体产生的光照与阴影信息烘培在一张或者多张Lightmap 贴图中,这些物体将不再参与实时光照计算,从而减少了大量的性能开销。
它的缺点就是参与烘培计算的对象在游戏过程中不能发生移动。
所以游戏中通常会将物体分成两类:一类是可发生位移变化的对象,他们使用实时光照计算;另一类是不可发生位移变化的,他们采取预先烘培Lightmap。
//--设置烘培贴图
首先需要在场景中选中参与烘培计算的游戏对象,可以单独调整某个对象。
打开Window → Rendering → Lighting Settings。
Auto Generate 选择后会自动烘培,如果场景中元素比较多,不建议开启。
//--实时光和烘培光共存
在游戏中少部分物体需要实时光,例如控制主角移动时,需要动态地产生光照和阴影信息。
如图,可以在Mode 中设置灯光的属性:
其中Realtime 表示实时光,Mixed 表示实时光和烘培光的混合模式,Baked 表示仅烘培光。
//--灯光管理
如果场景中灯光很多,如何管理。
打开Window → Rendering → Lighting Explorer。
我们可以快速设置灯光开关状态 灯光类型和模式等,并且点击其中一个光源,即可在Scene视图中找到它。