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中的预计算光照情景仍能为你带来许多好处,如增强性能,便于更改为烘焙光照(以满足项目的需求)。