Choose your operating system:
Windows
macOS
Linux
创建一个Matinee序列
要创建一个Matinee序列,需要创建一个Matinee Actor并将其放置在场景中。能够以多种不同方式进行操作:
点击虚幻编辑器顶部工具栏的 Matinee 按钮,然后点击 添加Matinee(Add Matinee)。
在 放置模式(Place Mode) 面板中 所有类(All Classes) 下方找到Matinee,将其拖入视口。
创建Matinee Actor后,要查看Matinee接口并修改过场动画,在 世界大纲视图 或视口中选中Matinee Actor,然后在 细节 面板中点击 打开Matinee(Open Matinee)。 或者在编辑器顶部的工具栏中点击Matinee按钮,并从列表中选择Matinee Actor。
如果希望在Matinee中设置键盘快捷方式的按键绑定,可点击 编辑(Edit) 菜单上的 编辑器偏好(Editor Preferences),然后点击 键盘快捷方式(Keyboard Shortcuts)。 向下滚动并展开Matinee部分来查看和设置按键绑定。
使用分组和轨迹
Matinee的结构概念是一套分组,每个皆包含多个不同的轨迹。分组与关卡中的特定Actor相关。
如需了解各种轨迹和轨迹使用的内容,请参阅Matinee轨迹参考文档。
新建一个分组
要在Matinee序列中新建一个组,首先在关卡中选择需要修改的Actor。然后 右键点击 Matinee左边下方的灰条 并选择 添加新组(Add New Group)。
此时将弹出为新组命名的提示,命名在Matinee序列中应独一无二,且不包含空格。选择OK时后将出现一个新的分组标题。 此时在蓝图中查看Matinee操作,可以发现其已新建了一个与分组命名相同的变量连接器,以及一个新对象变量( 此对象包含对分组将要执行的Actor的引用)。可以将多个Actor连接到相同的分组连接器,在一些情况下十分实用。 例如需要以相同方式控制多个灯光的亮度。
分组标题中的小色条是编辑器"分组颜色"。其在Matinee中有诸多用途,有助于识别场景中的哪些物体由Matinee中的哪些分组所控制。 选择分组并调整窗口底部的"GroupColor"属性即可进行修改。 在分组标题上 点击右键 即可重命名或删除整个分组。选中一个组后,按上下箭头键即可使其在列表中移动, 可用于将相似的分组放置在一起。
注意:一旦选中分组(或分组中的轨迹),则会同时选中关卡中的Actor。反之亦然。
新建一个轨迹
分组自身并不会对其所处的Actor执行任何操作。如要对其进行实际修改,必须将一个轨迹添加到该组。在分组标题上 点击右键 将呼出" 新建轨迹"菜单。此操作将列出可添加的Matinee轨迹的各种类型。选择需要的轨迹,其将出现在该分组中。 根据轨迹类的不同,在将其添加之间可能提示输入更多信息。
部分轨迹类型(如运动轨迹)一个分组中只能拥有一个,其他类型(如浮点属性轨迹)则可在一个分组中拥有多个。
在视口中选中一个在Matinee中拥有轨迹的Actor时,Matinee编辑器将打开,Actor的轨迹将在Matinee编辑器中高亮显示。
如要隐藏一个分组中的所有轨迹,可按下分组标题上的箭头将其"折叠"。可以用移动分组的相同方式来修改分组中轨迹的排序—— 将其选中并使用上下箭头键即可。
用轨迹名旁边的勾选框可切换轨迹效果的开关。举例而言,下图中的运动轨迹被禁用, matinee序列运行时轨迹效果不会出现。
关键帧
Matinee的选择和操纵控制与虚幻引擎4其他部分中的工具十分相似。
点击关键帧将把播放位置移动到该关键帧并将Matinee设为"录制"模式。修改由该轨迹控制的Actor的属性后,关键帧值也将被修改。 编辑关键帧时,一个红色小圈将出现在Matinee消息框中:
拖至另一个位置或开始播放即可脱离"录制"模式,对场景中Actor进行的修改不会被记录。
调整序列长度
修改序列长度的方法十分简单——拖动代表序列末尾的红色柄,将其拖至希望序列结束的新时间处即可。 序列范围之外存在关键帧并无任何妨碍。
也可在序列中的一个特定点处添加时间,方法如下:将播放位置移动至需要插入时间的点,并从"编辑"菜单选择"在当前处插入空白(Insert Space At Current)"。
循环片段
Matinee中高亮显示的绿色区域为"循环片段",其用于Matinee中的多个工具。 拖动条上代表片段开始和结束的绿色柄即可对其进行调整。
按下"循环预览播放"按钮后,播放位置将跳至循环片段的开始进行播放,然后再次跳回到开头。这样能反复查看序列的一个小片段, 确保其准确无误。
也可将当前循环片段"拉伸"到一个新的长度。执行此操作的方法是:在需要拉伸的区域上设置循环片段,并从"编辑"菜单中选择"拉伸片段(Stretch Section)"。 文本条目对话将显示当前的片段长度,便于您输入需要的新长度。关键帧将在片段的新长度上重新分布。 选择"编辑"菜单中的"删除片段"即可删除全部循环片段。
将视图锁定到一个分组
在Matinee中,尤其是在创建过场动画时,实用的方法是将编辑器视图锁定到正在场景中控制的一个Actor。 在分组标题条上按下 锁定视图(Lock View) ( )按钮后, 所有透视视口将锁定为由该分组控制的Actor的位置。 在序列中拖动时,相机将随该对象移动。此外,移动编辑器相机时将四处移动Actor来进行跟随。调整对象的关键帧来看向特定方向时尤为实用。
将相机锁定到导演分组时,其将通过当前的"活跃"相机进行查看,以便预览场景在游戏中的实际效果。 打开包含导演分组的Matinee序列时,将在任何透视视口上自动开启"实时"模式,并将相机锁定到导演分组。
添加导演分组时,可在Matinee编辑器的顶部找到它。导演分组的下部包含一条时间轴。
每个Matinee序列只能拥有一个导演分组。
摄像机Actor
制作过场动画序列时,使用放置在关卡中的相机Actor会很有帮助。虽然可通过拥有分组的Actor进行查看, 但CameraActors可提供额外的属性来控制浮点属性轨迹(如相机视野和高宽比)的使用,并在编辑器中显示相机视图视锥。
将相机Actor添加到关卡的方法是:打开
此处是关卡中的一个CameraActor:
相机网格体和视图视锥只会出现在编辑器中,而非游戏中。在Matinee中进行拖动时,活跃的相机视锥将以黄色高亮显示。 否则将使用分组编辑器颜色来绘制每个相机视锥,便于分辨哪些分组正在控制哪个相机。
约束高宽比(Constrain Aspect Ratio) 设为 true 后,通过CameraActor进行查看时,视口中将加入黑条,强制形成屏幕形状。 在编辑器中,黑条只会在视图当前锁定到一个CameraActor时才会被添加。
Matinee复制
bClientSideOnly设为 false 的Matinee对象将自动从服务器复制到客户端。操作在服务器上启动时, 服务器将把信息发送到客户端并使其同步。
注意:自动复制只处理设置了bStatic或bNoDelete的Actor(这意味着Actor必须放置在UnrealEd的关卡中); 连接到Matinee的对象变量必须设为UnrealEd中的所需对象(并非在运行时通过其他操作进行)。 并非如此的Actor则使用其自身的蓝图或C++复制代码来复制Matinee自身造成的修改。
过场动画
游戏中可能存在多个过场动画序列,使用光源环境设置的角色光照效果可能较为基础,难以良好地展现模型效果。在此情况下, 可使用自定义光照通道(有时为单独的角色设置单独的光照通道,以便控制每个角色的光照量) 和自定义放置动态光照在特写镜头中照亮角色。
针对这些序列而言,可使用真实动态光照,因为其效果更佳、可以让使用者进行更大程度的控制。仍然可以使用少数几个灯光, 但通常只使用其中一个来投射阴影。
存在较小的性能差异,但因为过场动画不含游戏进程,因此也不会降低游戏的运行性能。 开发主机游戏是可能需要关卡设计师对过场动画地图进行数次优化,以确保运行平稳。多数情况下,过场中的所有静态几何体( 站立在地面上的角色除外,其需要真实光照进行投影)均能附加光照贴图。
导出和导入Matinee数据
Matinee拥有 导出(Export) 和 导入(Import) 菜单选项,可将整个Matinee序列导出到一个FBX文件,再加载到一个3D内容创建包中。
使用者可利用第三方程序来设置Actor、相机,以及其他属性(如动态模糊量和相机视野)的运动。
场景的诸多方面均可导出,以便使用者显示场景几何体,同时使用一个带动画的序列。
导出Matinee序列时,UnrealEd将尝试随动画曲线数据导出多数场景几何体。
以下数据将被导出:
绑定到Matinee序列的相机
绑定到Matinee序列的Actor
特定轨迹的动画曲线
运动轨迹
浮点属性轨迹
当前关卡中的所有光源
当前关卡中的所有静态网格体(包括多边形、笔刷几何体和材质)
当前关卡中的所有发射器(仅用于放置提示)
注意:地形Actor、源笔刷模型和特定的其他对象类型当前不支持导出。
导出的对象将被重命名为与其在UnrealEd中相似的命名。对3D模型包中的数据进行修改后即可将修改导回FBX文件,在导回到Matinee中。 重要的是场景中对象的命名在此过程中必须保持一致!
将新的FBX文件导回编辑器时,Matinee将尝试导入Actor的所有动画曲线,此Actor的导入命名与绑定到活跃Matinee序列的Actor相同。 在部分情况下(如用于相机),可在建模包中创建新对象,然后将其导回到FBX格式。
关键帧削减
"编辑"选项卡中的关键帧削减工具,可轻松移除单个轨迹动画曲线中不需要的关键帧。一个轨迹的曲线中可能存在数个关键帧, 其均沿一条相对较直的线。 在此类情况下,真正需要的只有第一个和最后一个关键帧。关键帧削减工具可移除中间的键,减轻对内存的影响,防止进行无用计算。
工具拥有数个属性:
项目 |
描述 |
---|---|
容差 |
设置直线中上个关键帧和下个关键帧之间的距离,超过此距离将移除关键帧。 |
完整间隔 |
如为 true,轨迹关键帧的完整间隔将用于关键帧削减。 |
间隔开始 |
设置开始削减键的时间。 |
间隔结束 |
设置停止削减键的时间。 |
控制蓝图中的Matinee序列
使用者可通过蓝图图表中的函数调用来播放Matinee序列。通常情况下,将过场动画或动画元素添加到关卡的操作将在关卡蓝图中执行。
播放Matinee序列的步骤:
选中 Matinee Actor,其包含需要从 世界大纲视图 进行播放的序列。
打开 关卡蓝图。确保蓝图处于图表模式中。
保持选中Matinee Actor,在关卡蓝图的图表中 点击右键。在出现的快捷菜单中展开 ‘在您的Matinee命名上调用函数(Call Function on YourMatineeName)'、展开 "过场动画(Cinematic)"部分,然后点击 播放(Play)(也可以在快捷菜单中输入"play"进行过滤,然后从列表中选择"Play")。 将出现一个 Play 节点,'Matinee Actor' 已附加。
决定用哪种事件来触发Play函数。举例而言,可使用一个Begin Play事件。 添加事件并将其输出执行引脚连接到Play节点的输入执行引脚。
编译关卡蓝图并保存关卡。
可使用单个函数节点来执行Matinee Actor的以下任意操作:
修改播放方向
暂停
倒回
设置循环状态
设置位置
停止
可在Matinee中 控制板(Palette) 下找到这些函数节点。