使用手册

From Bakery GPU Lightmapper: Wiki
Revision as of 22:55, 4 November 2025 by Mr F (talk | contribs)
Jump to navigation Jump to search

系统要求

使用 Bakery 需要:

Windows(7 或更高版本)电脑。

Nvidia 显卡。最低支持型号为 Kepler(GeForce 650 或更新型号,Quadro 显卡请查看规格)。

64 位 Unity 编辑器。Bakery 已在 5.6 到 6 及更高版本上测试过,同时也在 Tuanjie 1.6.7 上通过测试。

Bulbgraph.png系统要求仅适用于开发者的电脑,而非目标平台。使用 Bakery 烘焙的光照贴图可以在任何地方使用。

前提条件

  • 确保你的项目中没有任何脚本编译错误,否则也会导致 Bakery 的脚本无法编译。
  • 确保你的显卡驱动是最新版本,如有需要请更新

请使用 Game-Ready(标准)驱动程序,而不是 “Studio” 驱动。

安装

1. 通过 Asset Store 将 Bakery 导入到你的项目中。

2. Unity 会显示要导入的文件列表。如果这是你第一次使用 Bakery,建议直接 点击 Import(导入)。有经验的用户可以取消选中 examples 文件夹,以进行更轻量的安装。

文件将被导入到 `Assets/Bakery` 和 `Assets/Editor/x64/Bakery` 文件夹中。 这些文件夹之后可以移动。

3. Unity 随后会导入 Bakery 并编译脚本。此时可能会弹出如下窗口:

Goahead.png

此时你应点击 “Go Ahead”(继续)。

现在你应该能在编辑器中看到新增的 Bakery 菜单:

Bmenu.jpg

快速开始

1. 添加一些模型或基础体,并将其标记为静态(Static)。

用于光照贴图的网格必须具有不重叠的 UV2。如果存在 UV2,则会使用 UV2(否则使用 UV1)。如果你的模型没有为光照贴图进行展开,请在资源中勾选 Generate Lightmap UVs(生成光照贴图 UV)。 Unity 的基础体已经具有正确的 UV2。


Staticmarked.jpg


2. 选择方向光(Unity 为你创建的那个),并添加 Bakery Direct Light 组件。

Bulbgraph.pngBakery 和 Unity 使用独立的光源组件。

3. Bakery Direct Light 有许多可调选项,但你可以轻松将其与 Unity 光源匹配。点击 Match lightmapped to real-time。现在 Bakery 光源的颜色应与 Unity 默认的方向光相同,呈黄色调。

Matching.jpg

Bulbgraph.pngDirect Light 组件可能会提示项目未使用线性光强度。问题在于,Unity 默认会对光源颜色应用伽马校正 不正确

可以通过脚本启用正确模式。 这就是 “Fix” 按钮的作用。如果你已经在非线性光强模式下设置了许多光源,并且不想再次更改它们,可以跳过修复。即使你按了 “Fix”,也可以随时撤销此更改。


4. 要获得带阴影的环境光,请创建 Skylight(Bakery->Create->Skylight)。

Menusky.jpg


5. 选择 Skylight,为它设置一些偏蓝的颜色,然后点击 Match scene skybox to this light。 这将使场景的 skybox 与光照完全匹配。

Bulbgraph.png将 Unity 的 skybox 与 Bakery Skylight 匹配是可选的,但对正确性很有用,可以确保可见环境和引擎内的反射探针与烘焙光照一致。目前此选项仅适用于 Standard 渲染管线。


Skycomp.jpg


6. 点击 Bakery->Render Lightmap。默认情况下,Full Lighting 模式是激活的。它会烘焙所有光源的直接和间接光照贡献。如果你想将实时阴影与烘焙全局光照(GI)结合使用,请将模式更改为 Indirect

Bakerywindow.jpg

Bulbgraph.png Bakery 可能会提示你正在使用旧的 gamma mode。如果你在意光照质量,强烈建议使用线性模式。如果你的项目已经在错误的伽马模式下设置好了,并且不想更改,或者是发布到不支持线性模式的移动设备上,也可以忽略此提示。

7. 点击 Render

8. 完成!现在你应该已经得到烘焙的全局光照(GI):

Bakedgi.jpg

渲染设置

所有渲染设置都可以通过 Bakery->Render Lightmap 访问。设置会为每个场景单独保存。Bakery 窗口顶部的选项允许你在 Simple(简单)、Advanced(高级)和 Experimental(实验)设置之间切换,每个后续模式都会显示更多可调选项。对于大多数场景,Simple 模式已经足够,是入门的好方法。


Render mode

定义要烘焙的光照贴图类型。

Full Lighting

烘焙所有 Bakery 光源的完整直接光和间接光。

Bulbgraph.png在 2017.3 之前的 Unity 版本中,如果同一对象上同时有 Unity 和 Bakery 组件,你需要手动禁用 Unity 组件以避免亮度加倍。在较新版本中,实时效果会自动对烘焙光源禁用,就像内置光照烘焙器一样。
Indirect
Unity 支持的不同渲染模式对比

基础混合模式。它会查看每个光源上的 Baked Contribution 选择器:如果设置为 Direct And Indirect,则光源会像在 Full Lighting 模式下一样被烘焙。如果设置为 Indirect Only,则只会烘焙该光源的间接光照(GI)。在后一种情况下,你应保持对象上的 Unity 光源和 Bakery 光源同时存在,一个提供实时直接光照,另一个提供预计算的全局光照(GI)。

Indirectonly.jpg

Shadowmask
左:完全烘焙的光照。中:动态光源 + 烘焙 GI。右:胶囊形阴影、凹凸贴图和高光为动态光照,但立方体阴影和 GI 为烘焙光照。
当相机足够远离场景,或者动态阴影被禁用时,场景将呈现如下效果

更高级的混合模式。它通过生成两种类型的光照贴图来工作——一种包含烘焙颜色(如 Indirect 模式),另一种包含静态物体的阴影。它有几个优点:

  • 实时阴影只需渲染少量动态对象,而不是整个场景。
  • 实时阴影与烘焙阴影可以正确融合。
  • 实时光源可以渲染凹凸贴图、高光和其他表面效果,同时仍会被高质量烘焙阴影遮挡。

更多详情

要启用此行为,你必须在同一对象上同时存在 Unity 光源和 Bakery 光源,并将 Baked Contribution 设置为 Shadowmask and Indirect。未标记的光源将按 Indirect 模式进行烘焙。

Smask22.jpg

Distance Shadowmask

此复选框仅在你选择 Shadowmask 时可见,并且只是切换项目 Quality Settings 中同名的设置。 更多详情

Bulbgraph.png由于缺少对应的脚本 API,该复选框在 Unity 5.6.x 上不可见。你可以在 Window->Lighting->Mixed Lighting->Lighting Mode 中切换该设置。
Bulbgraph.png在 Unity 版本 < 2017.3 中,由于 API 限制,渲染 Shadowmask 光照贴图会清除光照探针。烘焙后需要重新渲染光照探针。在较新版本中不应发生此问题。
Subtractive

启用 Subtractive 光照模式。

此选项对光照贴图本身没有任何特殊作用,实际上它的工作方式与 Full Lighting 相同。

唯一的区别是,它还会将实时 Unity 光源设置为与 Subtractive 模式兼容(因为无法通过 UI 完成此操作)。

你还需要在 Unity Lighting 窗口中额外设置全局减法参数(例如全局阴影颜色)。

Ambient Occlusion Only

仅烘焙环境光遮蔽(AO)。如果你很清楚自己在做什么,这可能会有用。请确保设置 AO 选项