引言:慢动作不只是调个参数,而是一场时间操控的艺术
在UE5中实现慢动作,很多新人第一反应是“把Time Dilation调小不就行了?”——没错,但只对了一半。时间膨胀(Time Dilation)是引擎时间管理的核心机制之一,它牵扯到DeltaTime缩放、物理子步进、动画更新、音频变速、网络同步等一系列底层逻辑。如果你只会在蓝图中拖一个0.2的浮点数,那只能算“会用”,离“精通”还差着十个《黑客帝国》。本文以能力层级为主线,为你规划一条从入门到大师的进阶路线图,每个阶段告诉你该掌握什么、达到什么标准、以及推荐哪些学习资源。无论你是刚接触UE5的进阶新人,还是已有项目经验想深挖时间系统的开发者,这张路线图都能帮你少走弯路。

入门级:理解时间膨胀的本质与基础操作
要掌握什么
首先,你必须清楚UE5的时间系统是基于DeltaTime驱动的。引擎每帧计算一个DeltaTime(秒),所有游戏逻辑、动画、物理都乘上这个值来推进。时间膨胀的本质,就是全局或局部地缩放这个DeltaTime。全局时间膨胀通过UGameplayStatics::SetGlobalTimeDilation实现,它会影响整个世界(World)的DeltaTime;局部时间膨胀则通过Actor的CustomTimeDilation属性实现,仅影响该Actor及其子组件。
入门阶段你要能熟练完成:
- 在蓝图中调用
Set Global Time Dilation节点,并配合Get World Delta Seconds观察变化; - 理解
Custom Time Dilation与全局膨胀的叠加关系(相乘); - 知道时间膨胀会影响
Tick、动画蓝图、粒子系统、音频播放速率等,但不影响真实时间(如FPlatformTime::Seconds)和UI(如果UI使用真实时间更新)。
达到什么标准
能独立做一个“按Q键进入0.2倍慢动作,按E键恢复”的简单Demo,并解释清楚为什么角色移动变慢了、但摄像机旋转没有变慢(因为摄像机输入通常基于真实时间或未缩放DeltaTime)。
推荐资源
- 官方文档:Time Management 章节;
- UE5官方学习项目“Lyra Starter Game”中关于时间膨胀的简单用例;
- B站UE5入门教程中“时间膨胀”专题(注意筛选讲解底层逻辑的,而非只教连节点的)。
技巧提示:入门阶段最容易踩的坑是忘记恢复时间膨胀,导致游戏永久慢动作。建议封装一个
SetTimeDilation函数,内部做范围钳制(如0.01~10),并配合定时器自动恢复。
进阶级:掌握时间膨胀的底层机制与副作用
要掌握什么
进阶阶段,你要从“会用”过渡到“懂原理”。核心是理解时间膨胀如何影响引擎的各个子系统,以及如何规避副作用。
1. DeltaTime的传递链: 引擎每帧在UWorld::Tick中计算DeltaTime,然后乘以TimeDilation得到DilatedDeltaTime,再分发给Tick函数、动画更新、物理模拟等。但注意,物理模拟(Chaos)有自己独立的子步进机制,时间膨胀会改变物理步进的频率和步长,可能导致穿透或抖动。
2. 动画与音频: 动画蓝图的更新频率会随DeltaTime缩放,但动画蒙太奇的播放速率默认不受时间膨胀影响(除非你手动设置AnimMontage的Rate Scale)。音频方面,UAudioComponent的Pitch不会自动跟随时间膨胀,需要手动调整。
3. 网络同步: 在多人游戏中,全局时间膨胀是服务器权威的。客户端调用SetGlobalTimeDilation只会影响本地表现,服务器不会同步。如果你需要联机慢动作,必须通过RPC在服务器上设置,并同步给所有客户端。
达到什么标准
能独立设计一个“子弹时间”系统:按下技能键后,全局时间膨胀降至0.2,但玩家角色的CustomTimeDilation保持1.0(或更高),实现“敌人慢、我正常”的效果;同时处理音频变调、粒子拖尾、UI不受影响等细节。能通过stat unit和stat game命令观察时间膨胀对帧时间的影响。
推荐资源
- UE5源码:
Engine/Source/Runtime/Engine/Private/World.cpp中UWorld::Tick的时间计算部分; - GDC演讲《Time Manipulation in Games》(虽老但底层逻辑通用);
- 火星人教育UE5游戏特效课程中“时间与运动”模块(项目化案例拆解)。
注意事项:物理子步进在时间膨胀较大时(如0.05倍)可能导致碰撞检测失效。解决方案是启用
Substepping并适当增加Max Substep Delta Time,但会带来性能开销,需权衡。

高手级:定制时间膨胀策略与性能优化
要掌握什么
高手阶段,你要能根据项目需求定制时间膨胀策略,而不是简单调用全局函数。这包括:
- 局部时间场: 通过
CustomTimeDilation结合Overlap事件,实现“时间减速区域”——角色进入区域后,仅该角色变慢,场景其他部分正常。进阶做法是用Time Dilation Volume配合PostProcess做视觉反馈。 - 曲线驱动: 用
Curve Float资产驱动时间膨胀值,实现“慢动作渐入渐出”的平滑过渡,避免突兀跳变。曲线可以在编辑器中可视化调整,比硬编码插值更灵活。 - 性能优化: 时间膨胀本身开销极小,但慢动作会延长帧的“逻辑时间”,导致某些基于时间的逻辑(如AI决策、冷却计时)被拉长。你需要用
UnscaledDeltaTime来驱动那些不受时间膨胀影响的系统(如UI动画、真实计时器)。
此外,高手必须理解时间膨胀与固定帧率的关系。如果项目启用了Fixed Frame Rate(如服务器30帧),时间膨胀会改变每帧的DeltaTime,但固定帧率下引擎会强制DeltaTime为固定值,此时时间膨胀可能失效。解决方案是关闭固定帧率或改用CustomTimeDilation。
达到什么标准
能独立实现一个“动态时间场”系统:多个角色进入不同时间膨胀区域时,各自的时间流速独立计算,且不影响其他玩家;能通过Unreal Insights分析时间膨胀对CPU线程的影响,并给出优化方案。
推荐资源
- UE5官方博客《Understanding Time Dilation in UE5》;
- Unreal Insights官方文档中“Timing”章节;
- 火星人教育AIGC视觉设计课程中“实时交互与时间控制”专题(结合虚拟制片案例)。
个人观点:很多教程只讲全局时间膨胀,但实际项目中局部时间膨胀才是主流需求。我建议新手从局部时间膨胀入手,因为它更安全、更可控,且不会影响全局游戏节奏。
大师级:时间膨胀与引擎底层的深度整合
要掌握什么
大师阶段,你要能修改引擎源码或编写插件来扩展时间膨胀的能力。例如:
- 多时间轴系统: 引擎默认只有一个全局时间膨胀值,但你可以通过自定义
UWorldSubsystem管理多个时间轴,让不同Actor组使用不同的时间膨胀倍率(类似《量子破碎》的时间机制)。这需要深入理解UWorld::Tick的调用顺序,并重写部分逻辑。 - 时间膨胀与物理的精确同步: 在Chaos物理中,时间膨胀会影响
FPhysScene的步进。你可以通过FChaosScene::SetTimeDilation(引擎内部接口)做更精细的控制,但需要处理物理与游戏逻辑的时序问题。 - 网络预测与回滚: 在多人游戏中,时间膨胀需要与网络预测(如
Network Prediction插件)结合。大师级开发者能设计一套“服务器权威时间膨胀+客户端平滑插值”的方案,避免慢动作时的网络抖动。
达到什么标准
能主导开发一个“时间操控”为核心玩法的项目(如《SUPERHOT》式的时间随玩家移动而流动),并保证在60帧下稳定运行,网络同步无感知延迟。能撰写技术文档,指导团队其他成员正确使用时间膨胀接口。
推荐资源
- UE5源码深度阅读:
Engine/Source/Runtime/Engine/Private/GameEngine.cpp中UpdateTimeAndHandleMaxTickRate函数; - GDC演讲《Implementing Time Manipulation in Unreal Engine》(可搜索相关技术分享);
- 火星人教育UE5游戏特效高级班中“引擎底层与性能优化”模块(需有C++基础)。
| 能力层级 | 核心掌握 | 典型项目 | 学习资源 |
|---|---|---|---|
| 入门 | 全局/局部时间膨胀基础操作 | 简单慢动作Demo | 官方文档、入门教程 |
| 进阶 | 底层机制、副作用处理、联机同步 | 子弹时间系统 | 源码阅读、GDC演讲 |
| 高手 | 定制策略、性能优化、时间场 | 动态时间场系统 | Unreal Insights、技术博客 |
| 大师 | 源码修改、多时间轴、网络预测 | 时间操控核心玩法 | 引擎源码、高级技术分享 |

行业案例:时间膨胀在实战中的典型应用
在《火星人教育》的UE5游戏特效课程中,我们曾拆解过一个“时间停滞”的虚拟制片案例:通过全局时间膨胀降至0.01,配合Niagara粒子系统的“时间冻结”效果,实现子弹在空中悬停的视觉奇观。关键点在于:粒子系统需要单独设置CustomTimeDilation为0,否则粒子会随全局时间膨胀变慢但不会完全静止。另一个案例是VR训练模拟中的“慢动作回放”,利用Time Dilation与Level Sequence结合,让学员在慢放中观察机械操作细节。这些案例都要求开发者对时间膨胀的边界条件有清晰认知——比如音频变调、UI响应延迟、物理碰撞穿透等。
如果你希望系统掌握这些实战技巧,火星人教育(创办24年,专注数字艺术与AIGC实战职业技能培训)提供了完整的进阶路径:从UE5游戏特效、AIGC视觉设计到MAYA三维动画、C4D动态设计,课程覆盖实时渲染与时间控制的核心技术。北京、深圳双校区开设线下面授班,面向美术生、在校大学生及意向转行的职场人群,以项目化实训教学,夯实专业技能,助力就业与职业提升。咨询电话:010-65918670。无论你是想成为时间操控的大师,还是想在虚拟制片领域深耕,这里都有适合你的路线图。








评论(0)