在UE5项目中,灯光效果往往是决定场景氛围和视觉品质的关键。很多开发者,尤其是从传统实时渲染或离线渲染流程转过来的朋友,常常会遇到这样的困境:明明使用了Lumen、Nanite等先进技术,但打出来的光要么感觉“假”,缺乏真实世界的物理感;要么就是性能开销巨大,动态光源一多就卡顿。这背后,往往是因为没有遵循一套基于物理的、高效的布光流程。
本文将为你系统拆解UE5中的物理布光全流程。我们将从核心概念讲起,手把手带你配置项目、设置曝光、搭建基础的三点布光,并深入探讨如何利用IES光源、Rect Light(面光源)、HDRI环境光等工具,结合后期处理体积(Post Process Volume),打造出具有电影质感的灯光效果。无论你是UE5的初学者,还是希望提升场景灯光质量的进阶开发者,都能从这套完整的流程中找到答案。
1. 物理渲染与布光核心概念
在开始动手之前,我们必须理解UE5灯光系统的基石——基于物理的渲染(PBR)和物理光照单位。这是告别“感觉不对”的第一步。
1.1 什么是基于物理的渲染(PBR)
PBR是一套旨在模拟真实世界光线与表面交互的着色和渲染技术。在UE5中,PBR不仅仅关乎材质(如金属度、粗糙度),更与整个光照系统深度绑定。其核心原则包括:
- 能量守恒:表面反射的光线能量不能超过其接收的能量。这意味着一个非常粗糙(漫反射强)的表面,其镜面高光就会相应减弱。
- 基于物理的光照模型:使用如GGX等微表面模型来更准确地计算高光反射,使其在不同视角和粗糙度下表现自然。
- 线性空间渲染:光照计算在伽马校正前的线性颜色空间中进行,确保光照叠加(如多个光源)符合物理规律,避免过亮或颜色失真。
UE5的默认渲染路径(包括Lumen和传统延迟渲染器)都遵循PBR原则。这意味着,当你使用一个标称“1000流明”的光源时,它在不同材质表面产生的亮度是可以通过物理公式预测的,而不是一个任意的“亮度值”。
1.2 物理光照单位:告别任意值
这是UE5物理布光中最关键的转变。在旧版或一些非物理流程中,光源强度可能只是一个0-1或0-10的任意值。在UE5的物理模式下,光源强度使用真实的物理单位:
- 流明(Lumens):用于描述点光源(Point Light)、聚光源(Spot Light)等非方向性光源发出的总光通量。例如,一个典型的60瓦白炽灯约800流明,100瓦约1600流明。
- 坎德拉(Candelas, cd):用于描述有方向性的光源在特定方向上的发光强度,主要用于聚光源(Spot Light)和矩形光源(Rect Light)。例如,一个手电筒的核心亮度可以用坎德拉来衡量。
- 勒克斯(Lux):用于描述定向光(Directional Light,即太阳/月亮)照射到表面上的照度。这是最关键的单位之一。一个晴朗午后的太阳照度大约在100,000 Lux左右,而满月下的照度大约只有0.1 Lux。
使用物理单位的好处是巨大的。它使得:
- 灯光设计可预测:你可以根据现实世界的参考数据(如灯泡规格、日光数据)来设置初始值,大大减少了反复调试的时间。
- 场景一致性:不同光源之间的相对亮度关系是合理的,不会出现一个蜡烛比太阳还亮的情况。
- 与后期曝光联动:物理曝光系统(后文会详述)正是基于场景的照度(Lux)来调整相机曝光,模拟人眼或摄像机的自适应能力。
1.3 电影级灯光的目标
我们所说的“电影级”,并不仅仅是“好看”,它包含几个可量化的目标:
- 丰富的层次感:画面有明确的亮部、中间调和暗部(阴影),避免一片“灰”或“平”。
- 引导视觉焦点:通过亮度、对比度和颜色,将观众的视线引导到关键叙事元素上。
- 强烈的氛围与情绪:利用色温(冷/暖)、光影形状(如窗户投影)来烘托场景情绪。
- 真实的互动与反射:光线与场景物体、角色产生逼真的交互,如正确的投影、在光滑表面的高光反射等。
- 可控的性能:在实现视觉效果的同时,通过合理的灯光数量、类型和设置,确保实时运行的帧率稳定。
2. 环境准备与项目设置
工欲善其事,必先利其器。正确的项目设置是物理布光流程顺畅进行的前提。
2.1 创建启用Lumen的项目
Lumen是UE5的全局动态光照和反射解决方案,它极大地简化了高质量动态光照的工作流,是物理布光的首选。创建项目时,请务必选择带有Lumen的模板,如“游戏”类别下的“空白”或“第三人称游戏”,并在项目设置中确认Lumen已启用。
如果你在已有项目中,需要手动启用Lumen:
- 打开项目设置(Project Settings)。
- 导航到引擎 - 渲染(Engine - Rendering)。
- 在“动态全局光照和反射(Dynamic Global Illumination and Reflections)”部分,确保以下选项被勾选:
动态全局光照(Dynamic Global Illumination):启用。反射(Reflections):选择Lumen。- 同时,在“光照(Lighting)”部分,将“生成网格体距离场(Generate Mesh Distance Fields)”也勾选上,这是Lumen工作的基础。
2.2 关键渲染设置检查
除了Lumen,还有一些设置对灯光效果至关重要。继续在项目设置 -> 引擎 -> 渲染中检查:
- 后期处理材质(Post Process Materials):确保启用,以便使用后期处理体积的全部功能。
- 移动端渲染(Mobile Rendering):如果你的项目最终需要部署到移动端,需要额外配置移动端的Lumen或使用移动端可用的替代光照方案(如静态光照贴图+静态阴影),本文主要聚焦于桌面/主机平台的高质量Lumen流程。
2.3 场景单位与比例
物理光照对场景比例非常敏感。一个在1:1比例房间里的1000流明灯泡,和一个在放大10倍的房间里的同一个灯泡,看起来亮度会天差地别。
- 在UE5编辑器左上角,点击设置(Settings) -> 项目设置(Project Settings)。
- 导航到引擎 - 常规设置(Engine - General Settings)。
- 确认“单位(Units)”下的“米(Meters)”是选中的。UE5默认使用1单位=1厘米,这对于建筑可视化是合适的。对于游戏角色(通常高约1.8米,即180单位),这个比例也是通用的。保持默认即可,但心中要有数:你的一个“房间”墙体的长度应该是几百到几千单位,而不是几十单位。
3. 曝光设置:画面的“自动光圈”
在物理世界中,我们的眼睛和相机镜头会自动根据环境亮度调整瞳孔大小或光圈快门,以看清细节。在UE5中,自动曝光(Auto Exposure)就是模拟这一过程。错误的曝光设置会让你的物理灯光功亏一篑。
3.1 理解自动曝光
自动曝光通过测量场景的亮度(照度,单位Lux),动态调整渲染画面的明暗,将过亮或过暗的区域拉回到显示设备能正常显示的范围内。在物理布光中,我们设置的是场景的绝对亮度(如100,000 Lux的太阳),而自动曝光负责将其映射到我们的屏幕显示上。
3.2 配置后期处理体积
我们通过后期处理体积(Post Process Volume)来控制曝光。通常,你需要一个覆盖整个游戏可玩区域的体积。
- 在内容浏览器中右键或从放置Actor面板,找到“体积(Volumes)” -> “后期处理体积(Post Process Volume)”,将其拖入场景。
- 选中该体积,在细节(Details)面板中,勾选“无限范围(Unbound)”,使其影响整个场景。
- 找到“镜头(Lens)”折叠栏,展开“曝光(Exposure)”设置。
3.3 关键曝光参数详解
以下是需要重点调整的参数,它们共同决定了画面曝光的“性格”:
- 测光模式(Metering Mode):
自动曝光直方图(Auto Exposure Histogram):推荐使用。它采样屏幕上一块区域(可自定义)的亮度来评估曝光,更智能,能避免小面积极亮/极暗区域干扰整体曝光。自动曝光基本(Auto Exposure Basic):简单平均整个屏幕亮度,容易受极端像素影响。
- 最低亮度与最高亮度(Min Brightness / Max Brightness):这定义了自动曝光调整的目标范围。单位是EV100(曝光值)。简单理解:
Min Brightness:场景中最暗的部分,你希望它被提亮到多少。默认-2有点太暗,可以尝试设置为0 或 1,这会让暗部更有细节。Max Brightness:场景中最亮的部分,你希望它被压暗到多少。默认2,通常保持即可。- 调整技巧:提高
Min Brightness会让整个画面更明亮、更“平”;降低它则对比度更强,暗部更黑。这是控制画面整体明暗基调最有效的参数之一。
- 曝光补偿(Exposure Compensation):在自动曝光计算的基础上,进行整体增亮(正值)或减暗(负值)的偏移。单位是EV(曝光档)。如果你觉得自动曝光算出来的结果总是偏暗或偏亮,微调这个值(例如+0.5或-0.5),而不是去狂改光源强度。
- 速度(Speed Up/Down):曝光变化的速度。
Speed Up是从暗到亮的速度,Speed Down反之。模拟人眼适应时,Speed Down(如3)通常比Speed Up(如1)慢,因为人眼从亮处进入暗处适应更慢。调快速度(如都设为1)会让曝光变化更“机械”,适合某些风格化场景。
一个通用的电影感曝光起点设置:
测光模式(Metering Mode): Auto Exposure Histogram 最低亮度(Min Brightness): 0.5 最高亮度(Max Brightness): 2.0 曝光补偿(Exposure Compensation): 0.0 速度向上(Speed Up): 1.0 速度向下(Speed Down): 3.0先以此为基础进行布光,布光完成后再根据画面整体感觉微调Min Brightness和Exposure Compensation。
4. 核心布光流程与实践
现在,让我们进入实战环节,从零开始为一个简单的室内场景布光。
4.1 第一步:建立环境基础光(天光与HDRI)
在布置任何具体光源前,先确立场景的环境光照。这模拟了来自天空和周围环境的漫反射光。
- 放置天空大气(Sky Atmosphere)和太阳:从放置Actor面板拖入“天空大气(Sky Atmosphere)”和“定向光(Directional Light)”。将定向光重命名为“Sun”,作为主太阳光。
- 设置太阳光(定向光):
- 强度单位选择“勒克斯(Lux)”。
- 调整强度值。一个晴朗午后的太阳约为100,000 Lux。你可以从50,000 - 120,000 Lux开始尝试。
- 调整光源颜色。纯白色(RGB 255,255,255)的太阳光会显得单调。尝试给一点淡淡的暖黄色(例如 RGB 255, 245, 235),色温约5500K。
- 调整光源角度和高度,以产生戏剧性的投影。
- 使用HDRI背景(可选但推荐):为了获得更丰富的环境反射和天空颜色,可以使用HDRI。
- 在内容浏览器中导入一张HDRI贴图(.hdr格式)。
- 拖入一个“天空光照(Sky Light)”Actor。
- 在细节面板,将“源类型(Source Type)”改为“从纹理立方体指定立方体贴图(Specified Cubemap)”。
- 将你的HDRI贴图拖入“立方体贴图(Cubemap)”插槽。
- 勾选“实时捕获(Real Time Capture)”,这样当场景中的物体移动时,环境反射也会实时更新(性能开销稍大)。对于静态场景,可以取消勾选,然后点击“捕获场景(Capture Scene)”按钮。
4.2 第二步:经典三点布光法应用
三点布光是电影、摄影和CG领域的黄金法则,它能在角色或主体物体上塑造出立体感和戏剧性。
- 主光(Key Light):最强的光源,决定主体的主要照明方向和阴影。通常使用矩形光源(Rect Light)或聚光源(Spot Light)来模拟窗户光、顶灯等。
- 辅光(Fill Light):用于柔化主光产生的生硬阴影,提亮暗部细节。强度通常是主光的1/4到1/2,颜色可稍冷或与主光互补。常用点光源(Point Light)或低强度的矩形光。
- 轮廓光/背光(Rim Light/Back Light):从主体背后或侧后方照射,用于在头发、肩膀等边缘勾勒出一条亮边,将主体与背景分离,增强立体感。常用聚光源。
UE5中实现三点布光:
- 创建主光:放置一个矩形光源(Rect Light)。调整其大小(Source Width/Height)以模拟窗户。将强度单位设为“流明(Lumens)”,根据面积大小,可以从5000 - 20000 Lumens开始尝试。将其放置在主体侧前方45度左右,略高于主体。
- 创建辅光:放置一个点光源(Point Light)。强度设为主光的0.3倍左右(例如主光10000流明,辅光3000流明)。将其放置在主体另一侧,与主光形成约90度夹角,位置要低一些,以填充眼窝、下巴下方的阴影。可以适当增加光源半径(Source Radius)来柔化阴影。
- 创建轮廓光:放置一个聚光源(Spot Light)。强度可以接近或略低于主光。将其放置在主体正后方或侧后方,瞄准主体的头部和肩膀。调整内角和外角,形成一道窄而集中的光边。
4.3 第三步:使用IES光源文件增强真实感
IES(Illuminating Engineering Society)文件是描述真实世界光源物理分布的光域网文件。使用IES可以让你的灯光立刻拥有专业灯具的复杂光照效果(如射灯的洗墙效果、台灯的特殊光斑)。
- 获取IES文件:可以从灯具制造商官网下载,或使用UE5内置的一些IES Profile。
- 应用IES到光源:
- 创建一个点光源或聚光源。
- 在细节面板的“光源配置文件(Light Profile)”部分,点击“IES纹理(IES Texture)”旁边的下拉箭头,选择一个IES文件。
- 启用“使用IES亮度(Use IES Brightness)”,这样光源的强度将由IES文件本身的数据决定,通常更为准确。
- 调整光源的旋转,以匹配IES文件定义的光照方向。
4.4 第四步:局部光与特效光
在基础布光完成后,需要添加局部光源来丰富细节、引导视线或创造特效。
- 道具光:为台灯、屏幕、霓虹招牌等自发光物体添加光源。通常使用低强度的点光源或聚光源,并开启“体积雾阴影(Volumetric Fog)”以产生可见的光束(God Ray)。
- 反射光:在颜色鲜艳的墙面或物体附近放置微弱的、同色的光源,模拟颜色溢出(Color Bleeding)效果,增强全局光照的丰富性。
- 特效光:闪烁的警报灯、移动的探照灯等。可以通过蓝图控制光源的强度、颜色和移动来制作动画。
5. 后期处理:从“真实”到“电影感”
物理灯光提供了正确的光照基础,而后期处理则是注入艺术风格和情绪的画笔。我们继续在之前创建的后期处理体积中进行设置。
5.1 色彩分级(Color Grading)
这是电影感调色的核心,通常在“颜色分级(Color Grading)”折叠栏下调整。
- 全局(Global):调整整体的饱和度、对比度、伽马值。轻微提高“饱和度(Saturation)”(1.2-1.5)和“对比度(Contrast)”(1.1-1.3)能让画面更鲜活。
- 阴影/中间调/高光(Shadows/Midtones/Highlights):这是最强大的工具之一。你可以分别对这三个亮度区域进行色相、饱和度和明度的偏移。
- 常见电影感技巧:在“阴影(Shadows)”中加入一点点青色或蓝色(饱和度0.1-0.3),在“高光(Highlights)”中加入一点点暖黄色,可以营造出经典的冷暖对比色调。
- LUT(查找表):如果你有特定的电影LUT文件(.cube格式),可以在这里应用,快速获得某种胶片或风格化的色彩基调。但要注意,LUT是全局强制性的色彩转换,可能会破坏物理光照的准确性,建议谨慎使用或仅做微调。
5.2 镜头效果(Lens Effects)
模拟真实摄影镜头的瑕疵,增加沉浸感。
- 晕影(Vignette):使画面四角变暗,将视线自然引导向中心。强度(Intensity)从0.2开始尝试。
- 胶片颗粒(Grain):添加微弱的颗粒感,可以掩盖数字图像的“过于干净”,增加质感。强度(Intensity)建议在0.05-0.15之间,不要太强。
- 色差(Chromatic Aberration):模拟镜头边缘的色散效果。强度(Intensity)通常保持在0.1以下,作为细微点缀。
5.3 光线效果与泛光(Bloom)
- 泛光(Bloom):让高亮区域(如光源、反射高光)产生柔和的辉光溢出。调整“阈值(Threshold)”来控制多亮的部分开始泛光(值越高,只有越亮的部分才泛光)。调整“强度(Intensity)”和“散射(Scatter)”来控制辉光的亮度和扩散范围。电影感泛光通常比较克制,避免游戏感过强的“光污染”。
6. 常见问题与性能优化
6.1 灯光常见问题排查
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
| 场景整体过亮/过曝 | 1. 自动曝光Min Brightness设置过高。2. 环境光(天光/HDRI)或主光源强度过大。 3. 后期处理中曝光补偿(Exposure Compensation)过高。 | 1. 检查并降低后期处理体积中的Min Brightness。2. 依次降低环境光和主光源强度,使用物理单位参考值。 3. 检查曝光补偿是否为0或负值。 |
| 场景整体过暗/欠曝 | 1. 自动曝光Min Brightness设置过低。2. 光源强度不足。 3. 场景中存在大量吸光材质(粗糙黑色表面)。 | 1. 提高Min Brightness(如从-2调到0)。2. 检查主光源强度,确保单位正确(Lux或Lumens)。 3. 增加辅光或提高环境光亮度。 |
| 阴影边缘闪烁或噪点严重 | 1. Lumen的全局光照或反射质量设置过低。 2. 光源的“阴影分辨率”或“接触阴影长度”设置不当。 3. 动态物体在Lumen下的追踪精度不足。 | 1. 在项目设置或控制台提高r.Lumen.*相关质量参数(注意性能开销)。2. 对于定向光,增加“级联阴影贴图(Cascaded Shadow Maps)”的数量和分辨率。 3. 对关键动态物体,考虑使用“距离场阴影(Distance Field Shadows)”。 |
| 移动光源时性能骤降 | 1. 移动光源会触发Lumen全局光照的实时重新计算,开销巨大。 2. 光源影响了过多动态物体。 | 1.除非必要,尽量避免使用移动(Movable)光源,尤其是矩形光和面光源。优先使用静态(Static)或固定(Stationary)光源。 2. 优化光源的影响范围(Attenuation Radius),使其只照亮必要的区域。 |
| IES光源不显示效果 | 1. IES文件未正确加载或格式不支持。 2. 光源的“使用IES亮度”未勾选。 3. 光源类型不支持IES(如定向光)。 | 1. 确认IES文件已成功导入,并在光源的IES Texture插槽中选择。 2. 勾选“Use IES Brightness”。 3. IES仅支持点光源和聚光源。 |
6.2 性能优化最佳实践
电影级灯光往往意味着高性能开销。以下是在不显著牺牲画质的前提下提升帧率的技巧:
- 光源移动性策略:
- 静态(Static):完全不动且不影响动态物体的光源。性能最优,但光照也是预计算的,动态物体无法被其照亮或投射动态阴影。
- 固定(Stationary):位置和属性不变,但可以影响动态物体并产生动态阴影。这是性能和质量的最佳平衡点,推荐作为主光、辅光的首选。
- 可移动(Movable):完全动态的光源。性能开销最大,尤其是对Lumen。仅用于必须移动的光源,如车灯、手电筒。
- 优化光源数量与范围:
- 严格限制场景中可移动光源的数量(建议不超过2-4个)。
- 为每个光源设置合理的“衰减半径(Attenuation Radius)”,避免光照计算浪费在看不见的区域。在视口中可以可视化光源范围(快捷键
I)。 - 合并功能相近的小光源。例如,用一个大矩形光模拟窗户光,而不是用一排点光源。
- 善用Lumen质量分级:
- 在项目设置中,可以针对不同平台(如史诗、高、中、低)配置Lumen的质量等级。在非关键场景或远景中,可以适当降低
Final Gather质量或反射(Reflections)的采样数。 - 使用控制台命令
r.Lumen.ScreenProbeGather.ScreenTraces.PerPixel 0(0为低,1为默认,2为高)等实时调整,寻找性能瓶颈。
- 在项目设置中,可以针对不同平台(如史诗、高、中、低)配置Lumen的质量等级。在非关键场景或远景中,可以适当降低
- 烘焙静态光照(备用方案):
- 如果项目对动态光照需求不高,或者性能压力极大,可以考虑回退到传统的光照贴图(Lightmass)烘焙流程。将光源和几何体设为静态(Static),然后构建光照。这能获得最好的性能和静态光影质量,但失去了动态交互能力。
7. 进阶技巧与工程化建议
掌握了基础流程后,这些进阶技巧能让你的灯光工作流更高效、效果更出众。
7.1 蓝图控制灯光序列
通过蓝图(Blueprints)程序化控制灯光,可以创造出复杂的动态光影叙事。
- 创建灯光Actor变量:在蓝图中,将场景中的关键灯光(如聚光灯、点光源)引用为变量。
- 使用时间轴(Timeline)节点:时间轴非常适合控制灯光属性的平滑过渡。你可以将时间轴的输出轨道(Float Track)连接到灯光的“强度(Intensity)”、“光源颜色(Light Color)”、甚至“变换(Transform)”上。
- 示例:创建一个闪烁的警灯:
// 这是一个简化的逻辑描述,非完整蓝图节点 1. 事件 Tick -> 获取游戏时间秒数(Get Game Time in Seconds)。 2. 使用正弦(Sine)或脉冲函数处理时间值,得到一个在0和1之间振荡的值。 3. 将此振荡值映射(Map Range)到灯光的强度范围(如 0 到 5000 流明)。 4. 将计算出的强度值 Set 到点光源的 Intensity 上。 同时,可以每闪烁几次,通过“延迟(Delay)”节点和“设置标量参数值(Set Scalar Parameter Value)”节点,改变灯光颜色(如红蓝切换)。
7.2 利用材质实现特殊光效
有时,光源本身不足以实现某些效果,需要材质辅助。
- 自发光材质:对于霓虹灯、屏幕等,创建一个高强度的自发光材质,并将其“自发光(Emissive)”值调高。在项目设置中启用“自发光动态光照(Emissive Dynamic Lighting)”,可以让这些材质对Lumen全局光照产生贡献,真正照亮周围环境。
- 光函数材质(Light Function Material):可以应用到光源上,用于创建复杂的投影图案(如树叶投影、百叶窗投影)、自定义衰减或颜色变化。创建一个材质,将“材质域(Material Domain)”设置为“光函数(Light Function)”,然后将其赋给光源的“光函数材质(Light Function Material)”插槽。
7.3 灯光分层与场景组织
在复杂的场景中,良好的组织是高效工作的关键。
- 使用图层(Layers):将环境光、主光、辅光、特效光分别放在不同的编辑器图层中。可以通过图层批量显示/隐藏、选择灯光,便于管理和调试。
- 使用文件夹(Folders)在世界大纲(World Outliner)中,将灯光Actor归类到以“Lights”开头的文件夹下,如“Lights_Key”、“Lights_Fill”、“Lights_Env”。
- 建立灯光预制体(Blueprint):将一套常用的三点布光组合(一个矩形主光+一个点辅光+一个聚光轮廓光)制作成蓝图预制体。这样在新的场景中,只需拖入一个预制体,就能快速建立基础灯光框架,然后微调位置和参数即可。
7.4 数据驱动与迭代
- 参数化:尽量使用蓝图变量或数据表(Data Table)来驱动灯光的强度、颜色等参数,而不是硬编码在细节面板。这便于策划或美术进行数值调整和迭代。
- 版本控制:灯光设置是场景资产的一部分。确保你的关卡文件(.umap)和相关的蓝图、材质、IES文件都纳入版本控制系统(如Perforce, Git LFS)。
- 建立参考场景:创建一个包含各种类型光源(不同移动性、不同形状、带IES)、不同材质球和后期处理预设的“灯光实验室”关卡。作为团队测试和统一灯光标准的参考。
从理解物理单位到设置自动曝光,从搭建三点布光到应用后期调色,我们完整走通了UE5物理布光的全流程。关键在于观念的转变:不再盲目调整一个没有单位的“亮度”滑块,而是像摄影师一样思考——环境的基础照度是多少(曝光设置)?主光源是什么,强度多少流明或勒克斯?需要辅光来填充多少细节?轮廓光如何勾勒形体?
记住,电影感是“控制”的结果。通过物理单位获得真实的基础,通过后期处理体积进行艺术化的曝光控制和色彩分级,再结合IES、光函数等工具增加细节的真实性。同时,时刻关注性能,合理选择光源的移动性,优化影响范围。
建议你创建一个简单的白盒场景(几个方盒子组成的房间和一个人形角色),严格按照本文的步骤从头演练一遍。先关掉所有后期效果,只用物理光源把场景的明暗关系和层次打出来;然后再开启后期处理,微调曝光和色彩,感受每一步带来的变化。灯光是“用光作画”的艺术,唯有不断实践、观察和分析优秀的影视作品,才能逐渐培养出对光影的敏感度和控制力。