当前位置: 首页> 科技> 名企 > UE Sequence学习

UE Sequence学习

时间:2025/9/11 18:44:27来源:https://blog.csdn.net/qq_52825422/article/details/140928148 浏览次数:1次

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媒体对象

 

关键字:UE Sequence学习

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: