全局光照

了解可用的预计算和动态全局光照选项。

Windows
MacOS
Linux

全局光照(也称间接照明和间接光照)模拟与几何体和材质表面的照明交互,为场景和项目添加真实的照明效果。此模拟还考虑到与之相互作用的材质的光线吸收性和反射性。

有两种方法可以在3D世界中模拟光的活动:一是使用实时光照法,这种方法支持动态光源的光源移动和交互;二是使用预计算(或已烘焙)的光照信息,这类信息存储在几何体表面应用的纹理中。虚幻引擎提供这两种场景照明方法,它们彼此互不排斥,可以无缝地混合使用。

以下是每个系统的一些亮点,可帮助你了解各自的用途和功能:

  • 非常适合无需变更光照的场景。

  • 性能成本与加载和存储光照贴图纹理所需的内存有关。

  • 结果的质量和精确度是由被烘焙和应用到几何体的光照贴图纹理的纹理分辨率所决定的。

  • 默认支持静态网格体和BSP几何体。

  • 静态网格体需要设置光照贴图UV来存储光照数据。

  • 可与动态光照结合使用。

  • 非常适合需要变更光照的场景,如开灯或关灯,或昼夜变换系统。

  • 大型的开放世界环境对烘焙光照提出了不切实际的要求(即使没有昼夜变换系统)。烘焙时间、内存使用率、纹理存储和播放是使用动态GI时需要考量的重要因素。

  • 实时计算的性能成本可能要昂贵得多,具体取决于所使用的方法。

  • 经常需要在质量和精确度以及性能之间寻找平衡。一些动态GI方法受实时使用情况的限制。

  • 默认支持所有几何体类型。

  • 可与预计算的光照结合使用。

预计算的全局光照

虚幻引擎中的光照烘焙系统提供了两种方式使用Lightmass计算光照数据:在CPU上,或在GPU上。预计算的光照用于获得高质量结果,不受实时限制因素的影响。然而,由于光照是在几何体应用的纹理中生成和存储的,无法动态地改变。

了解下方可用的预计算光照工作流程。

基于CPU的Lightmass系统

基于CPU的Lightmass 系统使用名为Unreal Swarm的独立进程来计算和生成光照数据。Unreal Swarm也用于将光照分配到构建场,在构建场中可以将复杂的关卡分解以完成构建流程。由于这是在CPU上处理的,所以在生成最终的光照贴图结果时,构建可以分配到的可用线程或机器的数量变得极为重要。对于一台机器来说,复杂的场景可能需要大量的处理时间、功率和RAM来完成。

要详细了解此选项,请参阅Lightmass全局光照

基于GPU的Lightmass系统

学习使用此 测试版 功能,但请谨慎用它发行。

测试版状态下可用的功能让你有机会了解这些功能的运作方式,规划你的管线,创建测试内容。在生产中应谨慎使用这些功能,因为目前这些功能的性能、稳定性、平台支持还达不到能发行的质量。我们支持资产的向后兼容性,这些功能的API很稳定。

基于GPU的Lightmass (GPULM)系统使用计算机的GPU与最新的DirectX 12 (DX12)和光线追踪能力计算和生成光照数据。它使用单个编辑器内进程来完成光照构建,不支持使用Unreal Swarm的分布式构建。但它通过SLI支持多个GPU。

要进一步了解此系统,请参阅GPULightmass全局光照

动态全局光照

虚幻引擎中的动态光照方法提供了实时全局光照解决方案,可以用动态光源的反射光照为场景提供照明。你可以使用这些解决方案更改光照并自动更新到场景中的对象,使它能够模拟昼夜变换过渡或一些简单的事情,如在在室内开关灯。这些光照系统是实时计算的,因此几乎不需要设置便可工作。

屏幕空间全局光照

屏幕空间全局光照 (SSGI)使用后期处理屏幕空间效果生成动态间接照明。该方法仅限于摄像机视图中的对象和光照,用于生成光照数据。如果明亮的光源在视野之外或被场景内的物体阻挡,可能会导致不和谐的结果。

此动态GI方法非常适合与现有的动态或预计算GI方法结合使用,可以作为附加效果来获取美观的结果。

无SSGI时仅使用烘焙光照

有SSGI时

光线追踪全局光照

虚幻引擎的光线追踪功能包括动态全局光照方法,利用微软的DXR框架和NVIDIA的光线追踪GPU来渲染非常准确的光照结果。

支持两种光线追踪全局光照(RTGI)方法:

  • Brute Force 方法模拟路径追踪器的地面真实参考状况,并且在实时渲染时的执行过程中最相似。此方法最消耗帧性能,同时也提供最精确的动态全局光照方法。

  • Final Gather 方法使用两次扫描算法,采用分布式着色点和每像素固定数量样本,用精确度换取性能。对于需要实时性能的项目,Brute Force方法在精确度上的权衡意味着你的帧预算可以支持动态全局光照。

仅场景光照

光线追踪全局光照 | 使用Brute Force方法

要进一步了解这些功能,请参阅实时光线追踪

光传播体积

自虚幻引擎4.26起,此功能已废弃,不再使用。未来的引擎版本中会删除此功能。

光传播体积 (LPV)使用放置的体积来采样和存储光照数据,这些数据可以被引用和用于动态全局光照。基于体素的方法使用体积内的网格来控制间接光照的细节和精确度,这有助于减少漏光现象和其他瑕疵。它非常适用于中小型区域。

LPV_scene.png

要进一步了解此系统,请参阅光传播体积

Select Skin
Light
Dark
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见