Choose your operating system:
Windows
macOS
Linux
虚幻引擎4(UE4)支持在关卡中使用不同的 预计算光照情景(Precomputed Lighting Scenarios)。这使得单个关卡可以保存并显示多种光照设置,让你既能获得灵活的动态光照,又能以固定开销预计算光照。 对用高性能方式进行高精度渲染的虚拟现实(VR)或建筑可视化项目而言,在不同预计算光照情景之间切换更显重要。 通读此文后,你便能了解如何在UE4项目中使用预计算光照。
功能限制
虽然预计算光照情景拥有诸多优点,但使用时也需要注意其缺陷与限制。在下文中,我们将介绍其中的一些限制,并告诉你如何回避(或解决)它们。
在游戏中只显示一个可见光照情景关卡。
光照情景关卡出现后,来自所有子关卡的光照图数据均会被放置在其中,因此白天时只加载"白天情景"光照图。因此,光照图将不再由子关卡进行流送。
子关卡光照贴图数据保存在光照情景的构建数据(BuiltData)包中。注册来自其他子关卡的反射捕获会修改当前光照情景的构建数据。假如加载子关卡两次,并且只加载光照情景构建数据一次,就会产生如下错误:
错误: 反射捕获 /Game/Environments/Levels/Your_Level_Name.level_name:PersistentLevel.SphereReflectionCapture_1.NewReflectionComponent 上传了两次,且未重新加载其光照情景关卡。 反射捕获上传时,光照情景关卡必须加载一次。
使用计算光照情景
执行以下步骤即可在UE4项目中使用光照情景:
首先前往 窗口(Window) > 关卡(Levels) 打开 关卡管理器(Levels Manager)。
关卡管理器 打开后,在 关卡(Levels) 菜单中右键点击一个子关卡,前往 光照情景(Lighting Scenario),并选择 变更至光照情景(Change to Lighting Scenario) 选项将关卡设为 光照情景(Lighting Scenario) 关卡。
光照情景 关卡显示时,其光照图将被应用到世界场景。
右键点击子关卡,前往 修改流送方法(Change Streaming Method),并选择 蓝图(Blueprint)(如其未选中),将关卡流送方法设为蓝图。
现在将项目所需的任意光照或静态网格体放入任意光照关卡,然后以常规方法构建每个关卡的光照。
光照构建完成后,打开 持久化关卡(Persistent Level's) 蓝图并添加一个 加载流送关卡(Load Stream Level) 节点,将其连接到 事件开始运行(Event Begin Play) 节点。
将 事件开始运行(Event Begin Play) 节点连接到 加载流送关卡(Load Stream Level) 节点,然后输入需要加载的关卡名。同时须勾选 加载后可见(Make Visible After Load) 和 加载时应阻止(Should Block on Load),以便看到新加载的关卡。
按下 运行(Play) 键运行项目,首个关卡加载完成后,它现在便会使用白天(Day)关卡光照。如需使用夜晚(Night)关卡光照,可使用相同的设置,但需要将关卡名改为晚间关卡的命名(而非白天关卡的命名)。
虽然有一些明显的限制,但UE4中的预计算光照情景仍能为你带来许多好处,如增强性能,便于更改为烘焙光照(以满足项目的需求)。