Matinee 用户指南

MatineeOverview.png

创建Matinee序列

要想创建Matinee序列,您需要创建一个MatineeActor并将其放置到场景中。您可以使用几种不同的方法来完成该处理:

  • 点击虚幻编辑器顶部的工具条中的 Matinee 按钮,然后点击 添加Matinee

    MatineeToolbar.png

  • Place Mode(放置模式) 面板中, 从 All Classes(所有类别) 下找到Matinee,并将其拖拽到视口中。

当您创建完MatineeActor后,要想查看Matinee界面并修改您的过场动画,请在 世界大纲视图 或 视口中 选择 该Matinee Actor, 然后单击 详细信息 面板中的 打开Matinee 。或者,您可以在编辑器顶部的工具条中单击 Matinee 按钮, 并从列表中 选择 您的Matinee Actor。

如果您想在Matinee中设置按键绑定键盘快捷方式,那么您可以通过在 编辑 菜单中单击 编辑器偏好设置 ,然后点击 键盘快捷方式 。 向下滚动到Matinee部分,并展开它来查看并设置按键绑定。

使用组和轨迹

Matinee 的架构是围绕 Group(组)概念来设计的,每个组均包含多个不同的 Track(轨迹)。Group(组)与关卡中的特定 Actor 相关联。

关于不同轨迹类型及轨迹应用的更多信息,请参照 Matinee轨迹参考指南 文档。

创建一个新组

为了在您的 Matinee 序列中创建一个新的 Group(组),首先在关卡中选择您希望修改的 Actor。然后右击Matinee左侧下面的灰条, 并 选择 ‘添加新组’。

New Group menu

将会提示您为新的组命名 - 该名称在 Matinee 序列中应该是独一无二的,不得含有任何空格。当您选择‘确定’时,您将会发现一个新的组 标题。如果您现在从蓝图中查看您的Matinee动作,您可以看到它已经创建了一个新的变量连接器,名称为您的组的名称,还创建了一个新的对象变量, 该变量包含了到您想让该组处理的Actor的引用。多个Actor可以连接到同一个组连接器上,比如如果您想 以相同的方式随着时间控制光源数量,那么这是非常有用的。

在组标题中的小彩色条是这个编辑器的“组颜色”。它被用于 Matinee 中的不同事物,帮助您辨识场景中哪些对象是被 Matinee 中的哪个 Group(组) 所控制。选择 Group(组),并修改窗口底部的 GroupColor(组色彩)属性,即可修改它。右击 组标题允许您 重命名或删除整个组。只要您选定了一个 Group(组),按住向上箭头和向下箭头键,将允许您在列表中到处移动它,这对整理相似的
Group(组)较为有用。

注意,无论您何时选择一个 Group(组)(或 Group(组)中的轨迹),关卡中的 Actor 均会为您选定,反之亦然。

创建一条新轨迹

Group(组)自身并不影响对应的 Actor。为了利用某种方式修改它,我们必须将一条 Track(轨迹)添加到这个 Group(组)中。右击 组标题, 它将弹出"新建轨迹菜单"。这列出了所有可添加的不同类型的 Matinee 轨迹。选择您需要的轨迹,它将会出现在这个组中。根据轨迹类别的不同, 您在进行添加之前,可能向您提示更多的信息。

New Track menu

有些轨迹类型(比如 运动轨迹),允许您让每个组只拥有一个轨迹,而其他类型却允许您同一个组拥有多个轨迹(比如 浮点数属性轨迹)。

当您在视口中选择了一个Actor且该Actor在Matinee中具有一条轨迹,那么Matinee编辑器将会打开,该Actor的轨迹在Matinee编辑器中将高亮显示。

如果您想要隐藏一个组中所有的轨迹,您可以按下组标题上的箭头,将其“合并”起来。您可以在组中修改轨迹的排序 - 就像您移动组一样 - 仅需选中轨迹然后使用向上箭头和向下箭头按键操作。

通过选择轨迹名称旁边的复选框,即可打开和关闭轨迹效果。 比如,在下面的图片中,运动轨迹被禁用, 那么当matinee序列运行时将不会看到该轨迹的效果。

Track view with Movement track disabled

关键帧

Matinee 的选择和操作控制与 虚幻引擎4中其他组成部分中的工具类似。

点击一个关键帧,将把播放位置移至那个关键帧上,并让 Matinee 进入“录制”模式。修改由该轨迹所控制的 Actor 的属性, 从而修改关键帧的数值。在编辑关键帧时,一个小红圈将会出现在 Matinee 信息框中:

Key recording indicator

拖拉至一个不同位置或开始播放,均会让您退出“录制”模式,从而无法记住对场景中 Actor 的修改。

调整序列长度

修改序列长度的非常简单 - 仅需抓住那个标明您序列结束处的红色柄,并将其拖至您希望序列结束的新时间点。 让关键帧处于序列范围之外亦绝对安全。

将播放位置移至您希望插入时间的位置点,然后从“Edit(编辑)”菜单中选择“Insert Space At Current(在当前位置插入空间)”, 即可在序列中的一个特定点处添加时间。

循环区

Matinee 中高亮显示的绿色区域即为“Loop Section(循环区)”。这在 Matinee 中有多种用途,并且可以通过拖拽滑动条中的绿色手柄进行调整, 该绿色手柄代表循环区的开始和结束点。

如果您按下“Loop preview playback(循环预览回放)”按钮,则播放位置将跳至循环区的开始位置,播放它,然后再次跳回开始位置。这允许 您重复查看序列中的小块区域,确保它准确执行您要求的工作。

您还可以将当前循环区“伸展”成一个新的长度。想要实现上述目的,可在您想要伸展的区域上设置循环区,并在“Edit(编辑)”菜单中,选择“Stretch Section(拉伸区域)”。 一个文本输入的对话框将为您显示该区域的当前长度,并允许您输入你希望的新长度。关键帧将会在该区域的新长度上被定位。 此外,在“Edit(编辑)”菜单中选择“Delete Section(删除区域)”,您可以完全删除循环区。

锁定视图至组

Matinee 中,尤其是在创建电影效果时,可将编辑器视图锁定到一个您在场景中控制的 Actor 上,这通常非常有用。当您按下 组标题栏上的Locking button按钮时,它将所有的透视视窗锁定在该组控制的 Actor 的位置处。随着您拖拽 该序列,相机将与对象一起移动。此外,当您移动编辑器相机时,它将会移动 Actor,以跟随此相机。当调整一个对象的关键帧来在一个特定方向上查看时, 这是非常有用的。

当您将相机锁定到导演 组上的时,它将会从当前的‘激活’相机查看。这将允许您预览场景在游戏中的实际效果。任何时候, 当您打开一个含有导演组的 Matinee 序列,它均将自动打开各个透视窗口上的‘实时’模式,并将相机锁定到导演组上。

当您添加一个导演组时,您可以在Matinee编辑器的顶部找到它。导演组的底部包含了一个时间轴。

每个Matinee序列仅能有一个导演组。

相机Actor

在创建一个过场动画序列时,使用在关卡上放置的相机 Actor 会非常有用。尽管您可以通过您针对每个组设置的Actor进行查看,但相机Actor 通过浮点型轨迹赋予了您一些额外的属性,比如相机视场和屏宽比,并允许您在编辑器中逐渐地查看相机视图平截头体。

通过打开 类别查看器 ,从 Actor 类别结构中,选择 CameraActor,在关卡中右击,选择“Add CameraActor Here(在这里添加相机 Actor)”,即可将一个 Camera Actor(相机 Actor) 添加到关卡中。

这里是一个关卡中的 CameraActor:

Camera Actor

相机网格物体和视锥只会出现在编辑器中,而不会出现在游戏中。当您在 Matinee 中到处拖动时,处于活动状态的相机视锥将会高亮显示为黄色。Each camera frustum is 使用组编辑器颜色进行描画,使得可轻松表明哪个组正在控制哪个相机。

当通过相机Actor进行查看且设置 Constrain Aspect Ratio(限制长宽比) 时,黑色栏将会被添加到视口上,用以强化屏面外形。在编辑器中, 仅当视图当前锁定到相机Actor上时才会添加这些内容。

Matinee 复制

bClientSideOnly 设置为 的Matinee对象,将自动从服务器复制给客户端。任何时候当在服务器上激活该动作时,服务器将会发送信息 给客户端,并保持它们同步。

注意,此次自动复制仅处理设置 bStatic 或 bNoDelete 为启用状态的Actor(也就是,Actor必须放置在虚幻编辑器中的关卡内),并且连接到matinee上的对象变量 必须在虚幻编辑器中设置为所需的对象(不是在运行时通过另一个动作设置)。不符合这些情况的Actor负责通过 它们自己的蓝图或C++复制代码来复制Matinee本身导致的修改。

过场动画

在您的游戏中,您或许会有很多过场动画序列,但是使用光照环境设置的人物上的光照可能看上去是很简单的基本的,而要想使得模型真正完好地展现 可能有点困难。在这种情况下,您可以使用自定义光照通道(有时候,为单独的角色使用一个独立的光照通道来控制每个角色的光源数量), 并可以使用自定义放置的动态光照来在特写镜头时照亮角色。

对于这些序列,您可以使用真正的动态光源,因为它们可以看上去更好并且可以给予您更多的控制。但您仍然应该使用非常少的光源,并且通常仅使用一个光源用于 投射阴影。

这会产生一个小的性能差别,但是因为过场动画没有游戏可玩性来进一步使性能下降,所以您应该可以中和这些性能消耗。要使得一切在游戏机上正常运行, 您可能要让关卡设计人员进入到过场动画地图并对其进行几次优化。在大多数情况下,过场动画中的所有静态几何体(除了角色所站立的地面,它需要实时光照以获得阴影) 仍然都是可以有光照贴图的。

导入和导出 Matinee 数据

Matinee导出导入 选项,允许您将整个 Matinee 序列导出到一个FBX文件中,该文件可以加载到3D内容创建包内。 它允许您使用外部程序来让您的 actor、相机以及其它属性,比如运动模糊量和相机视角的运动产生动画效果。 场景的很多方面内容都可以导出, 以至于您可以在使用动画序列时可视化您的世界几何体。

当导出 Matinee 时,虚幻编辑器将尝试导出场景中和动画曲线数据相关的大多数几何体。

以下数据将会被导出:

  • 绑定到动画序列的相机

  • 绑定到动画序列的 Actor

    • 特定轨迹的动画曲线

    • 运动轨迹

  • 浮点型属性轨迹

  • 当前关卡中的所有光源

  • 当前关卡中的所有静态网格物体(包括多边形、画刷几何体以及材质

  • 当前关卡中的所有发射器(仅位置信息)

注意,目前还不支持导出地貌 actor、源画刷模型以及某些其它的对象类型。

导出的对象的命名和它们在 UnrealEd 中的命名类似。 当在3D建模包中对数据进行修改后,您将会想把这些修改导回到一个FBX文件内, 通过该FBX文件,可以再次将数据导入到Matinee中。 在这个过程中使场景中的对象的名称保持一致是很重要的!

当把一个新的 FBX 文件导回到编辑器中时,Matinee 将会尝试导入所有和绑定到活动的 Matinee 序列的 actor 名称相匹配的所有 actor 的 动画曲线。 在某些情况下(比如相机),您也可以通过在建模包中创建新的对象然后把它们导出为 FBX 格式来添加新的对象。

关键帧简化

关键帧简化工具,可以在"编辑"选卡下找到,使得您可以轻松地删除单独轨迹动画曲线中不需要的关键帧。您可能有一条轨迹,该轨迹的曲线具有几个关键帧, 它们均匀地分布在一条直线上。在这样的情况下,实际上只需要第一帧和最后一帧。关键帧简化工具可以删除中间的关键帧, 来减少对内存的影响,防止执行没用的计算。

Key Reduction tool

这个工具有一些属性:

项目

描述

Tolerance(公差)

设置一个关键距离前一帧和下一帧之间的直线距离多远才可以被删除。

Full interval(完整间隔)

如果该项为 ,那么在简化关键帧时将会使用轨迹关键帧的完整间隔。

Interval Start(间隔起点)

设置要开始简化关键帧的时间。

Interval End(间隔终点)

设置要停止简化关键帧的时间。

蓝图中控制Matinee序列

您可以在蓝图图表中通过函数调用来播放Matinee序列。最常见的情形是在关卡蓝图中进行此种处理,来添加过场动画或动画元素到关卡中。

要想播放Matinee序列:

  1. 在世界大纲视图中 选择 包含您想播放的序列的MatineeActor。

  2. 打开 关卡蓝图。 确保该蓝图处于图表模式。

  3. 在关卡蓝图中,选中Matinee Actor,在图表中右击。在出现的关联菜单中,展开 “在‘您的Matinee名称’上调用函数”,展开过场动画部分, 然后 点击 播放。(或者,在关联菜单中,开始输入”播放“来过滤结果,并从列表中 选择 播放。) 播放 节点出现, 并且 'Matinee Actor' 节点已经附加到了它上面。

    Matinee_Play.png

  4. 决定您想使用何种事件来触发”播放“函数。比如,您可以使用一个Begin Play(开始播放)事件。 添加该事件,并将它的输出执行引脚连接到 Play(播放)节点的输入执行引脚上。

    Matinee_EventBeginPlay.png

  5. 编译关卡蓝图,并保存您的关卡。

您可也可以使用单独的函数节点来通过Matinee Actor执行以下任意处理:

  • Change Playback Direction(修改播放方向)

  • Pause(暂停)

  • Reverse(反向播放)

  • Set Looping State(设置循环状态)

  • Set Position(设置位置)

  • Stop(停止)

您可以在Matinee下的 Palette(控制面板) 中找到这些节点。