Unreal5 使用Blueprint操作和编辑sequence

最近公司有一个批量修改unreal sequence的需求,主要是想修复序列中丢失Reference的Actor,以及添加一些track,通过这个任务我探索到一些使用blueprint操作sequence的知识,主要是集中在Editor Mode模式下,适合用在虚拟拍摄环节以及数据处理环节,分享给大家,抛砖引玉。

操作环境

我使用的是Unreal 5.1 但是这些原理都可以是适用UE4。

首先创建一个Editor Utility Widge,因为这样才能访问到一些Editor操作的nodes。

打开这个Editor Utility Widget的 Graph就可以开始测试了。



获取要操作的sequence

1)可以通过在content browers中选择asset来获取,遍历选中的asset,cast到Levelsquence得到,一般在批量修改sequence的时候用到。

2)还有高级一些的方法,用Asset Registry和filter来获取所需的asset,这样就不需要手动选择了。

3)或者直接得到当前打开的sequence,一般是在虚拟拍摄过程中,对当前打开的sequence进行一些控制和修改的时候使用。

Squence播放控制

得到sequence asset后可以将sequence打开,然后用Get Current Level Sequence得到当前打开的sequence,然后进行播放或者设置时间轴操作。

相关节点位于 Level Sequence Editor类别下

Sequence一些常用编辑

Sequence解锁

使用Set Lock Level Sequence来锁定/解锁当前sequence。

原因是,通常Take Recorder设置Auto lock为开启,所以录制出的sequence会被默认锁定。

被锁定的sequence需要解锁才能编辑

Fix Actor Reference 重连接丢失连接的Actor

需要注意Target连接Level sequence editor subsystem

和Sequence editor中这个选项作用一样

Sequence构成 Bindings  Tracks Sections Channels

在对Sequence进行更深入的编辑前,需要了解一些概念,这些概念是组成Sequence数据的一些Object类型:

Binding, Track, Section, Channel, Key

下图我大概的写了下,这几个概念对应Sequence界面的关系,这些Object概念并不是能够完全找到图形界面对应的关系的,是我按照自己的使用和经验大概总结的。

大概可以将这几类Object理解为:

Binding:

就是通常我们加到Sequence上的Actor,以及其包含的轨道信息。


 Track:

就是当前这个Actor的一个信息轨道,例如上图的Spawned或是Transform,如果是你自己写的BP蓝图,如果你将其中一个变量勾选成 Expose to Cinematics,那么也可以对这个变量key关键帧,那么这个变量也就成了一个Track。

还有另一种特殊的Track他们的父级是Sequence,叫做Master Track,这个可以通过以下节点获取。

我觉得应该是和Sequencer上的这个+Track类型对应

 Section:

我对section的理解就是,根据Track的数据类型不同,有时候一个Track可以加多个section,类似常见的Transform上,可以加Absolute/Additive/Relative 这种section,可以叠加关键帧的数据。

同时Section还有一个range的属性,能调整起始点,这块我还没有实际工作需求使用过,但我的感觉是,section作用就是存一堆关键帧的,这个部分如果有更加了解的朋友欢迎一起交流。

Channel:

我的感觉channel就是负责承载关键帧的,通常channel和section包括和track都是同个类型的。

就比如说,你有一个float的变量在sequence上key了关键帧,这个float的轨道 就是一个 MovieSceneDoubleTrack,然后包含了MovieSceneDoubleSection,然后又包含了MovieSceneDoubleChannel。实际使用过程中我只是知道需要获得Key value或者需要添加关键帧,都需要这么些步骤。

 Key:

Key就很直接了,就是关键帧信息。


获取关键帧的思路

获取sequence中的信息按照以下思路考虑:

获取Binding ->  从Binding获取Track -> 从Track获取section -> 从section获取channel -> 从channel 获取 key -> 从key获取数据

一个抽象的蓝图示意图如下:

其中选中的Macro是需要根据你的需要自己写的,主要就是用来filter过滤得到你需要处理的部分。

一个困扰了我许久的问题是,除了获取Key,其他object的获取都能直接从上一个层级的object获取到,但到了Key这个步骤,就需要你将channel cast到一个具体的object类型,并且每个key也要cast到具体类型的object才能获取内部信息。

例如下图中,你必须明确地将一个Channel object cast成一个 MovieSceneScriptingDoubleChannel,才能够使用Get Keys(Double)节点得到Key,并且得到了Key object,你还需要明确地Cast成 MovieSceneScriptingDoubleKey,来得到时间和数据。Channel的类型并不只有我上面图片展示的MovieSceneScriptingDoubleChannel, Key也不知是有MovieSceneScriptingDoubleKey。

所有Channel类型如下图:

所有Key的类型如下图:

一种方便的不用记忆的方法得到channel和key的类型:

你可以可以用蓝图print出来当前选中的binding,并且打印他下面的Track/Section/Channel

或者是copy当前的channel然后粘贴到记事本中观察object的名字。



添加关键帧

和前面介绍的如何获取关键帧信息同理,你首先需要得到你要操作的channel,并且明确地将他cast到一个特定的channel类型,才能使用Add Key节点。

根据不同的channel数据类型,对应不同的Add Key节点。

总结

本文只是简单介绍下蓝图操作Sequence的常用操作,帮我记录我工作中常用的操作,以及给刚接触sequence操作流程的朋友以启发,大家可以通过在蓝图编辑页面的 Pallete中搜索更多关于Level sequence操作的蓝图进行使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容