在 2022.1 版本中,我们添加了光源的单独烘焙、烘焙渲染选项调试模式,以及用于显示阴影材质上的烘焙灯光、加载基础和单独纹理以及预览基础和单独照明光照贴图的选项。我们还添加了新的 BakePresets
文件,用于存储顶点和纹理烘焙阴影。
在 2022.1 版之前,如果要烘焙灯光,需要使用灯光和阴影,但这会将整个照明(阴影和照明)烘焙到光照贴图中。这会添加来自环境的灯光(基础照明),因此无法切换环境或更改曝光。它们已烘焙到该光照贴图中。
在 2022.1 版中,我们的新方法可以灵活地分别烘焙光源(甚至几何体光源)和阴影。随后您可以切换环境或更改曝光,并提供环境光遮挡。现在,您可以实时从 HDR 获得来自 IBL 的照明,并指定要分离的光源。
“烘焙为单独照明”已添加到“灯光编辑器”的“灯光设置”选项卡的“属性”部分和“材质编辑器”的“白炽度”部分。使用它可定义应分离的光源。可以将环境光遮挡或阴影与各个光源或几何体源照明白炽材质的烘焙照明分离。结合使用此选项与“启用单独照明”,然后计算光照贴图。
使用“烘焙为单独照明”,可以切换、旋转或更改环境和/或其曝光,而不影响门板的环境光等内容,因为它已烘焙到单独光照贴图中。使用脚本可以更改单独烘焙光照贴图的强度,以 打开/关闭门板的环境光,还可以实时更改颜色。
仅适用于已启用“启用单独照明”的“灯光和阴影”直接照明。
“仅用于单独照明”已添加到“烘焙灯光和阴影”模块的“间接照明”部分。它仅为单独照明提供间接照明,并忽略烘焙中的基础照明,从而增加场景的亮度。如果不需要增加亮度,请禁用此选项。
“启用单独照明”已添加到“烘焙灯光和阴影”模块。VRED 将来自指定光源的灯光烘焙到单独光照贴图中。可以烘焙特定照明设置或环境中的许多间接照明以照亮场景,以及之后可以打开和关闭的其他单独灯光。
例如,使用指定了白炽材质的几何体在汽车内创建环境光。在选定材质后,从“材质编辑器”的“白炽度”部分启用烘焙为单独照明。在“烘焙灯光和阴影”模块中,选择“阴影烘焙”和“启用单独照明”以生成并烘焙灯光和阴影。
在“高级”选项卡中加载光照贴图,使用新的“基础纹理”和“单独纹理”选项分别加载这些纹理。要预览烘焙纹理的光照贴图,请选择新选项卡:基础照明和单独照明。
使用已添加到“可视化”菜单的“烘焙渲染选项”调试模式,可选择在三维渲染中看到的烘焙灯光类型并检查显示的内容。模拟打开和关闭烘焙的灯光。查看运行时环境的贡献以及环境材质控件(例如“曝光”)如何改变场景的照明。
在预计算的照明渲染模式下,如果启用了以下选项,则会看到场景中的所有照明。
阴影 - 显示烘焙了阴影的光照贴图。
对于旧版场景(不是在 2022.1 版中创建的场景),阴影材质上不会显示任何烘焙的灯光。
单独照明 - 显示使用“启用单独照明”和“烘焙单独照明”单独烘焙的所有对象的照明。禁用此选项将显示来自环境的基础照明贴图和来自几何体的某些间接照明。
单独照明选项 - 打开“烘焙渲染选项”对话框,其中包含用于更改所有单独光照贴图的强度和颜色以及打开和关闭 OpenGL 的纹理压缩的控件。
GPU 纹理压缩(OpenGL) - 用于 OpenGL 渲染的单独照明光照贴图。
在上传纹理时,“启用压缩”由显卡驱动程序在运行时完成,并且默认情况下处于启用状态。如果 OpenGL 渲染中出现任何压缩瑕疵,则禁用此选项。
请注意,使用可视化 > 预计算的照明渲染查看原始纹理数据时,瑕疵可能更明显,但在真实渲染中不太明显,具体取决于光照贴图数据与其他实时灯光(例如,来自环境)的组合方式。
对于 Python 用户,请尝试以下脚本:setLightmapGPUTextureCompression(on)
以下是用于变量集的脚本:
要启用这些控件,请执行以下操作:
setBakeRenderOptions(VR_BAKED_BASE_ILLUMINATION, True)
setBakeRenderOptions(VR_BAKED_SEPARATE_ILLUMINATION, True)
setBakeRenderOptions(VR_BAKED_SHADOWS, True)
要禁用这些控件,请执行以下操作:
setBakeRenderOptions(VR_BAKED_BASE_ILLUMINATION,False)
setBakeRenderOptions(VR_BAKED_SEPARATE_ILLUMINATION,False)
setBakeRenderOptions(VR_BAKED_SHADOWS,False)
将生成 XML 文件 BakePresets
,用于存储顶点和纹理烘焙阴影预设。这有助于避免在添加或删除预设时出现问题。
如果删除 BakePresets
文件,则在下次启动时会从预设列表中移除所有非默认预设。
如果 C:\Users\User\AppData\Roaming\VREDPro
中不存在 BakePresets
文件,VRED 将生成一个。
如果创建了 BakePresets
的副本,然后使用此副本来覆盖文件夹中的原始文件,则 VRED 将使用副本中的预设并替换预设列表中的预设。
自 2022.1 版起,我们添加了对照亮阴影材质的光源的 OpenGL 支持。
要实现此目的,请在“灯光编辑器”的“属性”部分中,为灯光启用“照亮阴影材质”。在“材质编辑器”的“反射”部分中,在选定阴影材质后,将“反射模式”设置为“仅漫反射”或“漫反射和光泽”。
通过执行此操作,可以实时更改环境和/或其曝光,并查看实时照明中的更改。
在“烘焙灯光和阴影”模块 >“烘焙设置”>“直接照明”部分中,启用“环境光遮挡”和“启用单独照明”。
定义应分离的光源。
在“场景图形”中选择对象。
在“烘焙灯光和阴影”模块中,单击“全部计算”按钮。
使用“可视化”>“环境光遮挡渲染”检查环境光遮挡贴图。使用“预计算的照明渲染”检查来自几何体源光源的照明。
几何体灯光是指定了白炽材质的几何体,它会发光并添加到场景的照明中。使用“烘焙渲染选项”可启用和禁用几何体源照明。在“烘焙渲染选项”中,启用或禁用“单独照明”。禁用此选项后,您只会看到环境光遮挡。
也可以通过“变量集”模块中的脚本完成此操作。在“脚本”选项卡中,可以构建一个开关,用于打开和关闭灯光。
setBakeRenderOption(VR_BAKED_SEPARATE_ILLUMINATION, not
getBakeRenderOption(VR_BAKED_SEPARATE_ILLUMINATION))
将白色灯光(如门板的环境光)烘焙到场景中并实时更改强度。
为环境光创建单独照明光照贴图:
选择“可视化”菜单 >“烘焙渲染选项”>“单独照明选项”以访问“强度”。
使用“强度”滑块更改所有单独照明光照贴图的亮度。
在“变量集”模块 >“脚本”选项卡中,使用 setSeparateBakeInsensity(1,0)
通过 Python 更改单独照明光照贴图的强度,并使用它构建变量。
将白色灯光(例如门板的环境光)烘焙到场景中,并使用倍增实时更改颜色。
目前,无法构建灯光类来单独更改单独灯光的强度或颜色倍增,例如,独立于“蓝色”灯光控制“红色”灯光。
为环境光创建单独照明光照贴图:
选择“可视化”菜单 >“烘焙渲染选项”>“单独照明选项”以访问“颜色”。
单击色样或移动滑块以将灯光与颜色相乘,以更改颜色。
在“变量集”模块 >“脚本”选项卡中,使用 setSeparateBakeColor(Color3f(0.0, 0.1, 0.1))
通过 Python 更改单独照明光照贴图的颜色,并使用它构建变量。