UE5电影级光照实战:PBR照明工作流与Lumen全局光照应用
如果你在虚幻引擎中做项目,特别是UE5,一定遇到过这样的困惑:为什么我的场景看起来总是“假假的”?明明模型精度很高,材质也调了,但整体感觉就是不如那些电影、3A游戏里的画面有“质感”。问题很可能出在光照上。
很多开发者会陷入一个误区:认为“电影级”光照就是堆砌大量光源、疯狂调整后期参数,或者依赖某个神秘的“高级”插件。实际上,真正的差距往往在于工作流。你是否还在用“感觉”来打光?是否每次调整一个光源,都要反复烘焙、等待,然后发现效果不对再推倒重来?这种低效、不可预测的创作过程,正是阻碍画面质量提升的关键瓶颈。
本文要解决的,正是这个核心痛点。我们将深入探讨虚幻引擎(特别是UE5)中基于物理的照明(PBR Lighting)工作流。这不是一个简单的参数教程,而是一套完整的、可复制的工业化思维和操作流程。你将理解PBR光照的底层逻辑,掌握从场景分析、光源规划、到实时/烘焙光照设置、后期调校的全链路方法。更重要的是,你会学会如何建立一个可迭代、可预测的照明工作流,告别盲目试错,让你的场景光照效率和质量产生质的飞跃。
1. 电影级光照的核心:从“感觉”到“物理”的工作流转变
在深入技术细节前,我们必须先厘清一个根本观念:电影级光照追求的不仅是最终效果的“好看”,更是创作过程的“可控”与“高效”。传统凭感觉打光的方式,严重依赖个人经验,且难以在团队中形成统一标准,修改成本极高。
基于物理的照明(Physically Based Lighting, PBL)工作流,正是为了解决这一问题而生。它的核心思想是模拟真实世界中的光线行为。在真实世界里,光线从光源发出,经过物体表面的反射、折射、吸收,最终进入我们的眼睛。PBR(基于物理的渲染)材质定义了物体表面对光线的反应(漫反射、高光、粗糙度等),而PBL则定义了光线本身的行为(强度、衰减、颜色、间接光照等)。当材质和光照都遵循物理规律时,它们就能自然地、正确地相互作用,产生真实、协调的视觉效果。
这种工作流带来的最大好处是可预测性。在物理规则下,一个材质在某种光照环境下看起来如何,是可以被大致预估的。这意味着:
- 资产复用性高:一个调好的PBR材质,在不同场景、不同光照下都能保持视觉正确性,无需为每个场景重新调整。
- 协作标准化:美术和灯光师可以基于同一套物理规则进行沟通,减少理解偏差。
- 迭代速度快:在UE5的Lumen全局光照等实时技术支持下,大部分光照调整可以即时看到近乎最终的效果,无需漫长的烘焙等待。
因此,学习电影级光照,首要任务是建立这套物理化的工作流思维,而不是死记硬背几个HDRi或光源参数。
2. 核心概念解析:PBR光照的基石
要掌握PBL工作流,必须理解以下几个核心概念。它们是你所有灯光操作的“语言”。
2.1 光照单位:从主观到客观
虚幻引擎默认的光源强度单位是“亮度”(Luminance),但为了更贴近物理,我们应使用流明(Lumens)或勒克斯(Lux)。
- 流明(Lm):描述光源发出的总光通量。例如,一个100瓦的白炽灯大约输出1600流明。
- 勒克斯(Lx):描述单位面积上接收到的光通量(照度)。1勒克斯 = 1流明/平方米。它定义了场景中某个点有多“亮”。
在UE中,将点光源、聚光灯的强度单位从“亮度”切换到“流明”,将矩形光、天空光切换到“勒克斯”,能让你的灯光设置具有真实的参考值。例如,一个室内办公桌面的照度通常在300-500勒克斯,而晴朗午后的室外照度可达100,000勒克斯。
2.2 光源类型与物理属性
- 定向光(Directional Light):模拟无限远处的平行光,如太阳。其核心属性是强度和颜色(色温)。太阳的色温随时间变化(清晨偏暖,正午偏冷),强度极高。
- 点光源(Point Light):模拟从一个点向所有方向均匀发射的光源,如灯泡。关键属性包括流明值和衰减半径。真实世界的光线衰减遵循平方反比定律,UE中可以通过设置确保这一点。
- 聚光灯(Spot Light):模拟有方向性的锥形光,如台灯、车灯。除了流明和衰减,还需关注内锥角和外锥角,以实现柔和的光束边缘。
- 矩形光(Rect Light):模拟从矩形表面发出的光,如灯箱、窗户透入的光。这是塑造区域照明和柔和阴影的利器。其属性包括流明/勒克斯强度、尺寸(长宽)和纹理(可用于模拟有图案的灯光)。
- 天空光(Sky Light):捕获场景远处的环境光照(来自天空盒或HDRi图像),并为整个场景提供基础的漫反射和环境反射。它是营造场景氛围和统一色调的基石。
2.3 全局光照(Global Illumination, GI)与反射
这是电影感的关键。GI模拟光线在场景中多次反弹的效果,即间接光照。没有GI,背光面会一片死黑,极不真实。
- Lumen(UE5):实时光线追踪全局光照和反射系统。它动态计算光线反弹,让你在移动光源或物体时能实时看到间接光照的变化,是迭代工作的革命性工具。
- 光照贴图(Lightmass - UE4/UE5烘焙):通过预计算将GI信息烘焙到纹理中。效果质量高、性能消耗低,但无法动态变化,修改后需重新烘焙,耗时较长。
2.4 后期处理体积(Post Process Volume)
电影感离不开后期调色。后期处理体积允许你全局调整场景的色调、对比度、镜头效果等。
- 曝光:使用自动曝光(Eye Adaptation)模拟人眼从暗处到亮处的适应过程,但为获得电影般稳定的画面,常手动设置固定曝光值。
- 颜色分级(Color Grading):调整全局的阴影、中间调、高光的颜色和对比度,是确立影片视觉风格的核心工具。
- 镜头效果:如泛光(Bloom)、镜头光晕(Lens Flares)、色差(Chromatic Aberration)等,谨慎使用可以增加真实感和艺术感。
3. 环境准备:搭建你的PBL工作流测试场景
在开始实战前,我们需要一个合适的“画布”。建议创建一个专门用于测试光照的关卡。
- 创建新关卡:在内容浏览器中右键 ->
基础-> 选择空白关卡。 - 导入测试资产:放置一些具有不同材质属性的基本几何体(球体、立方体、平面),并为其赋予典型的PBR材质(金属、非金属、粗糙、光滑、有颜色、无颜色)。也可以从
Quixel Bridge(已集成到UE5)免费下载一些高质量的Megascans资产,如一套室内家具或岩石、植物。 - 设置项目默认PBR:
- 打开
项目设置(Project Settings)->引擎(Engine)->渲染(Rendering)。 - 确保
默认纹理采样器(Default Texture Sampler)已从Point改为Anisotropic(各向异性过滤),以获得更好的纹理质量。 - 在UE5中,确认
Lumen全局光照(Lumen Global Illumination)和Lumen反射(Lumen Reflections)在项目设置 -> 渲染中已启用。
- 打开
- 创建文件夹结构:在内容浏览器中建立清晰的文件夹,例如
Lighting/Scenes,Lighting/HDRI,Lighting/Blueprints,养成资产管理的习惯。
4. 核心工作流拆解:五步打造电影级光照
我们将照明流程分解为五个逻辑步骤,这是一个从整体到局部、从基础到细节的工业化流程。
4.1 第一步:确立光影基调与参考
在放置任何光源之前,必须明确你想要的气氛。是阴郁的雨夜,还是明媚的午后?收集电影截图、摄影作品作为参考图。分析参考图中的:
- 主光方向与强度:光源从哪里来?有多硬/多软?
- 阴影特性:阴影是锐利还是模糊?有多深?
- 颜色基调:整体是暖调还是冷调?高光和阴影分别偏什么色?
- 对比度:明暗反差大还是小?
在UE中,你可以将参考图导入为纹理,并拖入关卡作为Sprite或放在材质中显示在屏幕上,方便随时对比。
4.2 第二步:搭建基础环境光照
这是照亮场景的“底色”,通常不产生强烈阴影,但决定了场景的整体明暗和色彩倾向。
- 放置天空大气(Sky Atmosphere)和体积云(Volumetric Cloud):如果做室外场景,这是模拟真实天空和大气散射的基础。
- 设置天空光(Sky Light):
- 从场景中拖入一个
Sky Light。 - 在细节面板中,将
源类型(Source Type)设置为SLS 捕捉场景(SLS Captured Scene),这样它会自动捕获天空和周围环境的光照信息。 - 将
强度单位(Intensity Unit)改为勒克斯(Lux),并设置一个基础值(如阴天3-5万Lux,室内靠窗处1千Lux)。 - 勾选
实时捕获(Real Time Capture),这样当你改变天空或环境时,天空光会实时更新。
- 从场景中拖入一个
- 使用HDRI环境贴图(可选但推荐):
- 获取高质量的HDRI贴图(如来自Poly Haven网站)。
- 创建一个
材质(Material),在材质图表中,使用Texture Sample节点载入HDRI,连接到自发光颜色(Emissive Color),并将材质域改为表面(Surface)。 - 在关卡中放置一个
球体反射捕获(Sphere Reflection Capture)或使用天空大气组件,并将HDRI材质赋予一个巨大的球体Mesh包裹住整个场景。这将为场景提供极其真实且一致的环境光和反射。
4.3 第三步:布置关键光(三点布光法的演进)
这是塑造物体体积感和场景戏剧性的核心。我们基于经典的三点布光法,并适应实时引擎的特性进行扩展。
- 主光(Key Light):定义主要光影方向和最强阴影。通常是日光或室内主要灯具。
- 室外:使用
定向光(Directional Light)模拟太阳。调整其旋转以控制太阳高度和方向。将强度单位设为勒克斯(Lux),晴朗日光可设为100,000左右。色温设为5500-6500K(偏白)模拟正午,或3000-4000K(偏黄)模拟黄昏。 - 室内:可能由
矩形光(Rect Light)(模拟窗户光)或聚光灯(Spot Light)(模拟射灯)担任主光。矩形光面积越大,产生的阴影越柔和。
// 示例:在蓝图中动态设置主光属性(非必需,但展示控制逻辑) // 假设你有一个指向DirectionalLight的引用变量 MySunLight void AMyLightController::SetSunLight(float IntensityLux, float TemperatureKelvin, FRotator NewRotation) { if (MySunLight) { MySunLight->SetActorRotation(NewRotation); MySunLight->SetIntensity(IntensityLux); // 单位需在编辑器提前设为Lux // 将色温转换为RGB颜色(简化示例,实际应用可使用更复杂的色温转换函数) FLinearColor LightColor = FLinearColor::MakeFromColorTemperature(TemperatureKelvin); MySunLight->SetLightColor(LightColor); } } - 室外:使用
- 辅光(Fill Light):软化主光产生的阴影,揭示暗部细节,控制对比度。
- 使用强度较低(通常是主光的1/4到1/2)的
点光源或矩形光。 - 放置在与主光大致相对的位置,但角度更低或更分散。
- 关键技巧:勾选光源细节中的
阴影(Cast Shadows)为false,让辅光只提亮而不产生新的阴影,避免光影混乱。
- 使用强度较低(通常是主光的1/4到1/2)的
- 轮廓光/背光(Rim Light/Back Light):将主体从背景中分离出来,在物体边缘产生一条“亮边”,增强立体感。
- 放置在主体后方,指向摄像机方向。
- 通常使用
聚光灯或点光源,范围较小,强度中等。
- 修饰光/特效光(Kicker/Practical Light):模拟场景中的实际发光体(如台灯、屏幕、霓虹灯),并增加视觉兴趣点。
- 严格使用
点光源、聚光灯或矩形光放置在发光体位置。 - 为其添加
光源函数(Light Functions)或投射IES光度学配置文件(IES Profile),可以精确模拟真实世界灯具的光束形状和衰减。
- 严格使用
4.4 第四步:精细调整与全局整合
光源放置后,需要进行精细微调和全局统一。
- 阴影控制:
- 分辨率:在
定向光细节中,提高级联阴影贴图(Cascaded Shadow Maps)的分辨率,以减少阴影锯齿。 - 柔和度:调整
光源半径(Source Radius)(定向光)或源宽度(Source Width)(矩形光)来模拟光源面积,面积越大,阴影越柔和(半影效果)。 - 距离:调整
阴影距离(Shadow Distance)以优化性能和质量。
- 分辨率:在
- 反射优化:
- 对于光滑表面,确保
反射捕获(Reflection Capture)组件覆盖关键区域,或依赖Lumen实时反射。 - 调整反射的
粗糙度(Roughness)影响,让粗糙表面反射更模糊。
- 对于光滑表面,确保
- 体积雾与光轴:
- 添加
指数高度雾(Exponential Height Fog)并启用体积雾(Volumetric Fog)。 - 在关键光源(如从窗户射入的阳光)细节中,启用
体积散射强度(Volumetric Scattering Intensity),可以产生可见的光束(上帝之光)效果,极大增强氛围。
- 添加
- 后期处理调色:
- 拖入一个
后期处理体积(Post Process Volume),勾选无限范围(Unbound)以影响整个关卡。 - 锁定曝光:在
曝光(Exposure)部分,将计量模式(Metering Mode)设为手动(Manual),并设置一个固定的曝光补偿(Exposure Compensation)值,以获得电影般的稳定画面。 - 颜色分级:在
颜色分级(Color Grading)部分,使用全局(Global)、阴影(Shadows)、中间调(Midtones)、高光(Highlights)调整器,为画面注入统一的色调。例如,阴影加一点蓝色,高光加一点暖黄色。 - 镜头效果:适度添加
泛光(Bloom)强度,让高光区域有柔和的溢出感。谨慎使用镜头光晕(Lens Flares)。
- 拖入一个
4.5 第五步:性能优化与烘焙(如需要)
实时光照(Lumen)虽然方便,但对性能有要求。对于复杂静态场景或低端平台,可能需要部分或全部转为烘焙光照。
- 将静态物体设为静态(Static):对于从不移动的物体(如建筑、地面),在细节面板将其
移动性(Mobility)设为静态(Static)。这是烘焙的前提。 - 构建光照贴图UV:静态网格体需要有第二套UV(UV Channel 1)用于光照贴图,且不能有重叠。在导入模型时需注意,或在UE中使用
网格体编辑(Mesh Editing)工具生成。 - 配置Lightmass(烘焙GI)设置:
- 打开
世界设置(World Settings)。 - 找到
Lightmass部分,适当提高静态光照等级比例(Static Lighting Level Scale)(如0.5)以提高烘焙质量,但会增加烘焙时间和内存。调整间接光照质量(Indirect Lighting Quality)等参数。
- 打开
- 构建光照:点击编辑器顶部的
构建(Build)按钮,选择仅构建光照(Build Lighting Only)。这个过程可能很长,建议在最终版本或测试烘焙效果时进行。
5. 完整示例:打造一个写实的黄昏书房场景
让我们通过一个具体场景,将上述工作流串联起来。
场景目标:一个宁静的黄昏时分,书房内只开了一盏台灯,窗外是深蓝色的夜幕,台灯暖光与窗外冷光形成对比。
基础环境:
- 导入一个书房静态网格体资产。
- 添加
天空大气(Sky Atmosphere),将太阳高度调至很低(模拟黄昏),颜色偏橙红。 - 添加
天空光(Sky Light),源类型设为SLS 捕捉场景,强度设为 5 Lux(模拟微弱的天光)。
关键光布置:
- 主光(窗外冷光):在窗外放置一个巨大的蓝色调
矩形光(Rect Light),模拟夜幕天光。强度设为 500 Lux,尺寸调大(如 300x200),光源宽度调大以获得柔和阴影和模糊的窗户投影。 - 主光(台灯暖光):在书桌台灯模型的位置放置一个
点光源(Point Light)。强度设为 800 流明,衰减半径调整到刚好照亮书桌区域。颜色设为暖黄色(色温约3000K)。启用IES配置文件,模拟台灯灯罩的特定光型。 - 辅光:在房间角落,主光(窗外光)的对角线方向,放置一个强度很低的蓝色
点光源(约50流明),关闭阴影投射,用于微微提亮最暗的角落。 - 轮廓光:在人物角色(或主要观看对象,如一本书)的后侧上方,放置一个微弱的暖色
聚光灯,强度150流明,窄角度,勾勒其顶部边缘。
- 主光(窗外冷光):在窗外放置一个巨大的蓝色调
特效与整合:
- 在台灯点光源上,启用
体积散射强度,设为中等值(如2),让灯光在空气中可见。 - 添加
指数高度雾,并设置合适的雾密度和颜色(略带蓝灰色)。 - 放置一个
后期处理体积(无限范围)。- 曝光设为手动,补偿值根据画面调整(例如 +0.5)。
- 颜色分级:全局饱和度略微降低,阴影加入少量蓝色,高光加入微量暖黄色。
- 泛光强度设为 0.2,阈值设为 0.8,让台灯灯丝和窗外高光区域有柔和光晕。
- 在台灯点光源上,启用
材质增强:
- 为书桌木质材质增加细微的粗糙度变化。
- 为窗户玻璃材质赋予适当的折射和反射。
- 为书本页面材质使用次表面散射(Subsurface Scattering)模型,模拟光线穿透纸张的柔和感。
通过以上步骤,一个具有电影感、故事性的光照场景就搭建完成了。所有操作都基于物理参数,调整任何光源,其与场景的交互都是可预测的。
6. 运行验证与效果评估
在编辑器中,你可以通过以下方式实时验证和评估光照效果:
- 视图模式切换:
光照(Lit):标准渲染视图。无光照(Unlit):查看纯材质颜色,排除光照影响。反射(Reflection):专门查看场景中的反射效果。光照贴图密度(Lightmap Density):检查静态网格体的光照贴图UV是否足够(理想为绿色,红色表示过密,蓝色表示过疏)。
- 可视化工具:
- 在
显示(Show)菜单中,可以开启可视化(Visualize)->全局光照(Global Illumination)或Lumen相关选项,查看GI贡献度。 - 使用
虚拟摄像机(Virtual Camera)或影片渲染队列(Movie Render Queue)来设置镜头,并从取景器角度评估最终画面。
- 在
- 性能分析:
- 按下Ctrl+Shift+,启用
Stat Unit和Stat GPU,监控帧时间,确保实时光照(尤其是Lumen和体积雾)在目标平台上性能可接受。
- 按下Ctrl+Shift+,启用
7. 常见问题与排查思路
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 场景整体过暗或过曝 | 1. 曝光设置不正确。 2. 主要光源强度单位错误或数值离谱。 3. 天空光未启用或强度为0。 | 1. 检查后期处理体积中的曝光模式(建议先用手动)。 2. 检查主光源(如定向光、矩形光)的强度单位和数值。 3. 确保天空光存在且已启用。 | 1. 将曝光设为手动,并调整曝光补偿值。 2. 将光源强度单位切换为物理单位(流明/勒克斯),并参考真实世界数值设置。 3. 启用天空光,并设置为“捕捉场景”。 |
| 阴影边缘有严重的锯齿(“楼梯”状) | 1. 阴影贴图分辨率过低。 2. 级联阴影映射(CSM)设置不当。 | 1. 查看定向光的“级联阴影贴图”分辨率设置。 2. 拉近摄像机,看近处阴影是否也有锯齿。 | 1. 提高定向光的“级联阴影贴图”分辨率(如2048)。 2. 调整“阴影距离”和“级联分布指数”,使阴影过渡更平滑。 |
| 移动物体(动态物体)没有投射阴影或阴影不更新 | 1. 动态物体的“移动性”未设为“可移动(Movable)”。 2. 光源未开启“动态阴影”。 | 1. 检查动态物体的移动性属性。 2. 检查光源细节中的“投射动态阴影(Cast Dynamic Shadows)”选项。 | 1. 将需要动态阴影的物体移动性设为“可移动”。 2. 确保相关光源的“投射动态阴影”已勾选。 |
| Lumen效果闪烁或出现噪点 | 1. Lumen的最终采集(Final Gather)或全局光照(GI)质量设置过低。 2. 视图距离过远,细节不足。 | 1. 观察静止画面几秒后噪点是否减少(临时收敛)。 2. 查看“Stat Lumen”统计数据。 | 1. 在“项目设置->渲染->Lumen”中,适当提高“最终采集质量”和“全局光照质量”(代价是性能)。 2. 优化场景,减少不必要的视距细节。对于固定镜头,可考虑使用烘焙光照。 |
| 烘焙光照后出现难看的接缝或光斑 | 1. 静态网格体的光照贴图UV有重叠或拉伸。 2. Lightmass光照贴图分辨率不足。 3. 光照贴图采样精度不够。 | 1. 在“光照贴图密度”视图模式下检查网格体,红色区域表示UV过密或重叠。 2. 检查世界设置中的Lightmass参数。 | 1. 重新为有问题的静态网格体生成光照贴图UV(UV Channel 1)。 2. 提高该网格体的“光照贴图分辨率”覆盖比例(Overridden Light Map Res)。 3. 提高世界设置中Lightmass的“间接光照平滑度”等参数。 |
| 后期处理效果(如泛光)对整个屏幕生效,过于夸张 | 后期处理体积的范围设置不当,或者有多个体积相互影响。 | 检查关卡中所有后期处理体积的边界和优先级。 | 1. 如果只想影响特定区域,取消勾选“无限范围”,并调整体积框大小。 2. 使用“优先级(Priority)”属性控制多个体积的覆盖顺序,数值高的覆盖低的。 |
8. 最佳实践与工程建议
- 规划先行:在动手打光前,花时间收集参考图,并用简单的几何体(方块、球体)进行光影构图测试(称为“灰盒测试”),确定主光方向和基调。
- 分层管理:使用UE的“图层(Layers)”功能,将不同类型的光源(如环境光、主光、修饰光)放在不同的层。可以一键隐藏/显示某一类光源,方便管理和调试。
- 使用蓝图进行逻辑控制:对于需要动态变化的光照(如昼夜循环、开关灯),不要直接在关卡中手动调关键帧。创建蓝图类来封装灯光逻辑,通过变量(如时间、开关状态)驱动灯光属性变化,这样更清晰、更易复用。
// 蓝图示例:一个简单的日出日落循环(应在Tick事件中调用) // 假设有 DirectionalLightComponent 变量 SunLight void AMySunLightBP::UpdateSunRotation(float TimeOfDay) { // TimeOfDay 范围 0.0 (午夜) 到 1.0 (次日午夜) // 将时间映射为太阳高度角(例如,0.25为日出,0.5为正午,0.75为日落) float PitchAngle = (TimeOfDay * 360.0f) - 90.0f; // 简化计算 FRotator NewRotation = FRotator(PitchAngle, 0.0f, 0.0f); SunLight->SetWorldRotation(NewRotation); // 根据太阳高度调整光色和强度 FLinearColor NewColor; float NewIntensity; if (TimeOfDay > 0.75f || TimeOfDay < 0.25f) { // 夜晚 NewColor = FLinearColor(0.1f, 0.1f, 0.3f); // 深蓝色 NewIntensity = 0.1f; } else { // 白天 // 使用色温插值等更复杂的计算 NewColor = FLinearColor::White; NewIntensity = 1.0f; } SunLight->SetLightColor(NewColor); SunLight->SetIntensity(NewIntensity); } - 善用Light Profiles和IES文件:对于人造光源,尽量使用IES光度学文件。这些文件源自真实灯具的测量数据,能让你一键获得极其真实的灯光分布和衰减,这是提升写实感的捷径。
- 性能意识:
- 光源数量:实时动态光源是性能杀手。严格控制其数量,优先使用静态光或固定光(Stationary)。
- 阴影:动态阴影开销大。为不影响游戏性的远处或次要光源关闭阴影投射。
- Lumen:在大型开放世界或低端平台上,考虑混合使用Lumen(近处)和烘焙光照(远处)的方案。
- 光照通道(Light Channels):通过光照通道,可以控制特定光源只影响特定的物体集合,从而进行精细的性能优化。
- 版本控制与文档:对重要的光照设置进行截图和参数记录。考虑将核心的灯光配置(如主日光角度、天空光强度)暴露为蓝图变量或数据资产,便于在不同关卡间保持一致性或在运行时调整。
掌握基于物理的照明工作流,意味着你将光照从一门“玄学”变成了可分析、可规划、可高效执行的工程技术。它要求你从真实世界的物理规律出发,利用UE5提供的强大工具(Lumen、物理光源单位、后期处理链),通过结构化的步骤(环境基调->关键光->整合调整)来构建画面。这套方法不仅能显著提升你个人作品的质量,更是迈向专业游戏开发或影视制作管线不可或缺的协作基础。记住,最好的光照往往是那些让观众感觉不到其存在,却深深沉浸在场景氛围中的光照。现在,打开虚幻引擎,从创建一个简单的物理光源开始,亲自体验这套工作流带来的控制力与美感吧。
