UE Sequence学习
创始人
2024-11-06 06:35:10

UE4中的动画编辑器 —— Sequencer in UE4 - 知乎 (zhihu.com)

UE4 LevelSequence源码解析 - 知乎 (zhihu.com)

C++模块

对ue4 sequence的学习和理解 - 知乎 (zhihu.com)

必须要先在你项目工程的.build.cs里加入 MoviePlayer, LevelSequence, MovieScene.

 引入头文件

#include "MovieSceneSequencePlayer.h" #include "LevelSequence/Public/LevelSequencePlayer.h" #include "LevelSequence/Public/LevelSequence.h" #include "LevelSequence/Public/LevelSeuqenceActor.h"

在c++开发中,我们一般访问sequence需要定义两个最基本的类.

这分别代表一个一个actor的类和一个实际播放控制的类.我们在代码中这么控制获取他们.

假定我先定义个sequence的引用。

然后使用它来构造.

当构建成功,我们则可以使用下面一些常用函数来控制和访问它们.

 

UE4 Sequencer 源码分析 - 知乎 (zhihu.com) 

ALevelSequenceActor:是一个Actor,由它来负责加载、初始化、Tick 等操作。

ULevelSequencePlayer:运行时的主要接口,可通过这个来控制Sequence 的播放、暂停、跳转、循环控制等等。

ULevelSequence:Sequence 所对应的UAsset。

UMovieSceneTrack:序列化的Track 基类。

UMovieSceneSection:序列化的Section 基类。

FMovieSceneRootEvaluationTemplateInstance:运行时用于评估/采样的工具类。核心是Evaluate 方法。

FMovieSceneEvaluationTrack:通过UMovieSceneTrack 的Compile 后创建的运行时轨道类。

FMovieSceneEvalTemplate:Compile 后生成的Section 评估/采样工具基类。关联到序列化的UMovieSceneSction。

初始化流程

ALevelSequenceActor::PostLoad -> ULevelSequencePlayer::Initialize 和Lazy Initialize 的SetupFrame。

更新流程

ALevelSequenceActor::Tick -> UMovieSceneSequencePlayer::Update -> FMovieSceneRootEvaluationTemplateInstance::Evaluate -> FMovieSceneEvaluationTrack::Evaluate -> 具体某种Section 类的Evaluate。

 Sequencer 文件结构

Sequencer文件 拥有可自包含的特性。具体说来,其可以在 LevelSequence文件 中嵌入 LevelSequence文件。

                                                      有自包含特性的 LevelSequence

        通过编辑器 Toolsbar 创建 Sequencer文件 时,我们可以创建两种文件,一种是 Level Sequence,一种是 Master Sequence。这两种文件都是 Level Sequence,Master Sequence 是已经预包含了数个 LevelSequence文件 的 LevelSequence文件。

重要术语

Shot:镜头/场景/子序列。用一个SubSequence 去实现,可以包含多段Track(轨道)。

Take:镜次。某Shot(镜头)重复拍摄的次数。最后用的镜头通常在许多镜次内选择。

Camera cut:镜头切换。一种Track(轨道),用来切换镜头。

Track:轨道。拥有一条独占的时间轴轨道,能在上面加入Section(片段)。

Section:片段/段落。针对某种特定类型的属性,在时间轴上加入确定的关键帧。

Key:关键帧。针对某种特定类型的属性,在某个特定的时间,对应某个特定的值。

Sequencer Track(轨道)

Sequencer 允许创建多种轨道,除了有具体对象的轨道之外,还能够创建一些功能性轨道,下表对 Sequencer 中能够创建的轨道进行了分类:

轨道翻译类型
Actor To Sequencer演员对象
Audio Track音频对象
Event Track事件对象
Camera Cut Track相机切换对象
Shot Track镜头轨道对象
Time Dilation Track时间膨胀功能性
Subscenes Track子场景对象
Fade Track渐变功能性
Level Visibility Track关卡可见性功能性
Material Parameter Collection Track材质参数集对象
Media Track媒体对象

 

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...