Unity 场景渲染之混合光照模式Mixed Lighting(六)

     当场景中有动态的物体时,光的Mode模式可能会设置Mixed

 

     灯光的Mode如果为Baked模式,只会对静态物体有影响,如果想让动态的物体也受灯光的影响,   灯光的Mode 就要设置为Mixed模式。

    场景烘焙Lighting 面板和Direction Light设置:

 

 

 

### Unity 中的区域光照烘焙与光照贴图设置 #### 1. 区域光照烘焙概述 在 Unity 中,区域光照烘焙是一种通过预先计算并存储光照数据的方式优化性能的技术。这种技术主要用于静态场景对象,能够显著减少实时渲染的压力。烘焙过程中生成的数据会被保存为 **光照贴图 (Lightmaps)**,这些贴图会在运行时被加载以提供高质量的间接光照效果[^1]。 #### 2. 开始烘焙前的准备 为了确保烘焙过程顺利进行,在开始之前需要完成一些必要的准备工作: - 将光源组件的 `Light Mode` 设置为 `Baked` 或者 `Mixed`,这取决于是否希望光源参与动态交互[^3]。 - 去除不必要的全局环境光影响(如天空盒),可以通过路径 `Window -> Rendering -> Lighting Settings` 进入光照窗口,并调整 Environment 配置项[^4]。 #### 3. 场景对象配置 对于需要参与烘焙的对象,需将其标记为 Static(静态)。具体操作如下: - 在 Hierarchy 窗口中选择目标 GameObject; - 切换至 Inspector 界面,找到顶部的 Static 复选框勾选上它; 此步骤告知引擎哪些物体应该纳入光照贴图计算范围之内。 #### 4. 调整光照贴图参数 进入 Lighting 窗口后,可进一步细化光照贴图的各项属性: - **Resolution**: 控制每单位面积内的 texels 数量,较高的分辨率意味着更清晰的效果但也占用更多资源。 - 使用 Scale In Lightmap 参数调节单个模型占据整个 lightmap 的比例大小,从而平衡细节表现力与整体效率之间的关系。 #### 5. 执行光照烘焙 当所有前期工作完成后,按下 Generate Lighting 按钮启动实际的光照烘焙流程。如果遇到任何异常情况比如程序崩溃等问题,则可能是某些高级选项未合理设定所致——例如 RealtimeGI 启用状态下可能导致复杂度激增进而引发内存溢出错误[^5]。 ```csharp // 示例脚本用于批量修改多个GameObject的状态为Static using UnityEngine; public class BatchSetStatic : MonoBehaviour { public void SetObjectsToStatic(GameObject[] objects){ foreach(var obj in objects){ obj.isStatic = true; } } } ``` #### 6. 结果验证与调试技巧 最后一步是对最终成果加以检验确认无误后再投入正式项目当中去。可以利用不同的视图模式查看当前状态下的光照分布状况,像 Baked Lightmap 视图可以帮助直观理解各个部分接受光线的情况。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值