虚幻4Matinee功能 基本概念及简单示例(Sequence编辑器)
来源:互联网 发布:ubuntu 时区 编辑:程序博客网 时间:2024/06/05 09:47
虚幻4提供的Matinee功能十分强大,可以用来制作动画、录制视频。它的核心想法是在Matinee编辑器内提供一套自己的时间坐标系,在这个相对时间内通过调节actor的属性来改变actor的状态,进而达到制作动画的目的。如果更加大胆一点,我们不仅可以调节actor,还可以更改相机的状态,粒子效果的实现、光照的渲染等等。
总之,Matinee就是一个控制物体状态的可视化编辑器。
上面是编辑器界面。
1. 最重要的概念是“轨迹”。
一条轨迹就是一个属性随时间的变化曲线(注意,“一条轨迹”并不是指他是真正的一条曲线。比如,物体的Transform属性变化曲线,他可能包括了好几条曲线,我们仍称他为一条轨迹)。虚幻引擎提供了常见的轨迹类型,方便用户去控制不同的属性。待会会做详细介绍。
既然轨迹表示的是属性的变化情形,而属性必然是属于某个物体的,因此,轨迹必然是属于某个物体的,也就是“组”的概念。一个组就相当于一个actor,他可以有多条轨迹。
在轨迹界面右键即可弹出“建组”的菜单,如下:
新空组对应的是actor,点击即可。建立组之后需要指定这个组对应的actor,在场景中选择actor,在组上右键选择“使用选中的actor替换组actor”即可。(如果在点击“添加新空组”时已选中某个actor,会默认这个actor为组actor)
上图中“Actors”下的选项,各种“Track”就是真正的“轨迹”,是Matinee的核心概念。简单介绍一下。
MovementTrack,运动轨迹,最重要最常见的一个轨迹。顾名思义,它控制actor的运动相关属性,比如位置、旋转。
Visibility Track,可见性轨迹,它控制actor在特定时间的 显示隐藏。
Event Track,事件轨迹,专门用来给时间轴增加事件的。它可以在蓝图上暴露Matinee进行到的时间点,方便在Matinee外得到Matinee进行到的时间点,从而执行特定的代码。
Property Track(Bool Property Track,Float Property Track,Vector Property Track等),属性轨迹(布尔属性轨迹、浮点属性轨迹、向量属性轨迹等)。它控制的是actor的某个变量随时间的变化情况。这里需要组actor含有相应的变量,并且在变量“细节”面板勾选“显示到Matinee”。
其他Animation Track(动画轨迹)、Particle Tracks(粒子轨迹)、Sound Track(音效轨迹)等可参考官方文档。
2. 轨迹的修改
轨迹有两个轴,时间轴和属性轴。时间轴是Matinee的相对坐标系,从0开始,到何时截止由用户指定。在时间轴内可以添加关键帧,关键帧处设置轨迹的属性值,关键帧之间的属性通过插值运算得到。如下图所示。
以运动轨迹为例,拖动底部黑色条到适宜时间处,按回车即可在此处添加关键帧,回车后默认状态是添加的关键帧为选中状态(时间条在关键帧处,关键帧高亮,左下角提示“关键帧XXX”),此时可以直接在场景中拖动、旋转物体即可,最后的状态就是此关键帧处轨迹属性的值。
如果对非关键帧处通过默认插值模式得到的属性值不满意或者希望自定义插值模式,可以调出曲线编辑器,对属性曲线进行自定义修改。
3.在蓝图中控制Matinee的播放
对Matinee的控制主要有以下几个蓝图函数。
Change Playback Direction(修改播放方向)
Pause(暂停)
Play(播放,从Matinee当前所处时间点处开始)
Reverse(反向播放)
Set Looping State(设置循环状态)
Set Position(设置Matinee相对时间位置)
Stop(停止)
4.其他
Matinee的其他功能如录制视频、导演组等等不在详述,可以参看官方文档,这里。
5.一个示例
最终效果如下,类似一个钟摆。录的时候游戏界面在后台,有点卡,实际效果钟摆是非常流畅的。
主要是添加组actor(自己设计的钟摆蓝图),添加运动轨迹,增加5个关键帧,设置关键帧处钟摆位置,在曲线编辑器调节插值(这里实际只调节了RotationX的值,分离了MovementTrack的Translation和Rotation),使得曲线光滑过渡,并在中间位置增大斜率、两边位置减小斜率,模拟实际效果。
- 虚幻4Matinee功能 基本概念及简单示例(Sequence编辑器)
- 初识Tensorflow,基本概念及简单示例
- 虚幻UE4中Matinee基础:骨架网格教程
- 【虚幻4】学习总结1-虚幻4编辑器
- 给虚幻4添加内存跟踪功能
- 虚幻4游戏菜单功能的实现
- 虚幻4制作简单手雷的注意事项
- 虚幻4中实现简单的raymarch
- Spring A0P原理、基本概念及示例
- javascript 面向对象的基本概念及示例
- storm学习-基本概念及入门示例
- PL/SQL块基本概念及示例
- 代码编辑器关键字加亮显示功能示例
- [ExecuteInEditMode]简单实现编辑器功能
- 虚幻4 OnlineSubsystem 平台相关的支付登陆等功能
- pydev 功能及使用示例
- UE3 虚幻编辑器控制台命令
- win32 socket编程 示例(功能简单,完善)
- mxnet代码剖析之--mshadow篇
- 使用MAC的一些小知识
- iOS性能优化之内存管理:Analyze、Leaks、Allocations的使用和案例代码
- 算法-java(1)
- Silktest试用笔记
- 虚幻4Matinee功能 基本概念及简单示例(Sequence编辑器)
- 【poj 2627】 Sudoku 题意&题解&代码(C++)
- 【iOS开发-103】解决方案:iOS8.1中UIBarButtonItem的setTitleTextAttributes对Disabled颜色设置无效
- sql约束
- 线程处理(C# 编程指南)学习笔记1
- Cocos动画
- UVA 11552——Fewest Flops
- ios中的反射
- git-am 和 format-patch 的使用