Unity3D:在多个场景中烘焙数据
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
在多个场景中烘焙数据
如果将数据烘焙到多个场景中,则可以减少烘焙数据所需的时间和生成的数据的大小。
烘焙具有多个场景的光照贴图
要预先确定场景中表面的亮度,可以烘焙光照贴图。有两种方法可以同时烘焙多个场景的光照贴图:
- 要自动构建光照贴图,请使用光照贴图.烘焙多个场景函数。
- 要在多个场景中手动烘焙光照贴图,请使用 Unity 编辑器并执行以下步骤:
- 打开要烘焙的场景。
- 打开“照明”窗口并禁用“自动生成”选项。
- 选择生成照明。
阴影和 GI 光线反射适用于所有场景,但光照贴图和实时 GI 数据会分别为每个场景加载和卸载。这意味着场景不会共享,您可以使用光照贴图安全地卸载场景。场景确实共享光照探针数据,因此一起烘焙的场景的所有光照探针会同时加载。
烘焙具有多个场景的导航网格数据
有两种方法可以一次烘焙多个场景的 NavMesh 数据,这显示了场景中可步行表面的近似值:
- 使用 NavMeshBuilder.BuildNavMeshForMultipleScenes 函数自动构建 NavMesh 数据。
- 使用 Unity 编辑器手动烘焙多个场景的导航网格数据。
- 打开要烘焙的场景。
- 转到“导航”窗口,然后选择“烘焙”按钮。
- 使用导航网格保存场景,使场景到导航网格引用持久化。
这会将 NavMesh 数据烘焙到由加载的场景共享的单个资产中。数据保存在与当前活动场景名称匹配的文件夹中。
烘焙具有多个场景的遮挡剔除数据
您可以一次烘焙多个场景的遮挡剔除数据,以确定渲染哪些游戏对象: 1. 打开要烘焙的场景。 2. 转到遮挡剔除窗口(>渲染窗口>遮挡剔除)。 3. 选择“烘焙”按钮。 4. 保存烘焙的场景以使场景到遮挡数据引用持久化。
这会将遮挡剔除数据保存到与当前活动场景名称匹配的文件夹中调用的单个资产中。OcclusionCullingData.asset
如果以累加方式加载场景,并且该场景具有与活动场景相同的遮挡数据引用,则剔除该场景信息的静态渲染器和入口将从遮挡数据初始化。这意味着遮挡系统的性能就像静态渲染器和门户被烘焙到单个场景中一样。
其他资源
- 创建、加载和保存场景
- 设置多个场景
- 使用脚本编辑多个场景
此文由3D建模学习工作室整理翻译,转载请注明出处!