UE4 Matinee功能基本概念及简单示例(Sequence编辑器)

https://gameinstitute.qq.com/community/detail/122091

UE4提供的Matinee功能十分强大,可以用来制作动画、录制视频。它的核心想法是在Matinee编辑器内提供一套自己的时间坐标系,在这个相对时间内通过调节actor的属性来改变actor的状态,进而达到制作动画的目的。如果更加大胆一点,我们不仅可以调节actor,还可以更改相机的状态,粒子效果的实现、光照的渲染等等。 
总之,Matinee就是一个控制物体状态的可视化编辑器,下面就针对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),使得曲线光滑过渡,并在中间位置增大斜率、两边位置减小斜率,模拟实际效果。

原文链接

UE4 Matinee功能基本概念及简单示例(Sequence编辑器)相关推荐

  1. 达梦物化视图概念及简单示例

    物化视图是从一个或几个基表导出的表,同视图相比,它存储了导出表的真实数据(即物化视图是占磁盘存储空间的),当基表中的数据发生变化时,物化视图所存储的数据将变得陈旧,用户可以通过手动刷新或自动刷新来对数 ...

  2. Flowable 6.6.0 BPMN用户指南 -10 流程实例迁移 - 10.1 简单示例

    Flowable 6.6.0 用户指南相关文档下载 BPMN用户指南 第一部分 - 中文PDF精编版 BPMN用户指南 第二部分 - 中文PDF精编版 BPMN用户指南 第三部分 - 中文PDF精编版 ...

  3. python密码登录程序三次_Python实现账号密码输错三次即锁定功能简单示例

    本文实例讲述了Python实现账号密码输错三次即锁定功能.分享给大家供大家参考,具体如下: 初学Python-1 #实现账号输错三次即锁定 user = "hubery" pass ...

  4. JSTS介绍和功能简单示例

    JSTS是一个符合OGC标准的,包含空间拓扑功能的JavaScript类库.和turf类似,区别在于,JSTS是通过原始JTS Java 源代码翻译来的,保留了JTSAPI:而turf来自MapBox ...

  5. joomla 标准激活的php mail 功能,php 通过joomla jmail 类使用 gmail smtp 账号发送邮件的简单示例...

    php通过joomla jmail 类使用 gmail smtp 账号发送邮件,感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 经测试代码如下: /** * 通过joomla jmail ...

  6. 渐变色按钮功能按钮绘制C语言示例

    渐变色按钮功能按钮绘制C语言示例 本文介绍C语言绘图示例: 1.渐变色按钮  绘制  详见drawcover()  2.功能按钮小图形 绘制       详见newgame ()     3.游戏图形 ...

  7. python计算器总结_Python 计算器的简单示例

    这篇文章主要为大家详细介绍了Python 计算器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 简介 在这篇 ...

  8. Android组件化开发简单示例

    Android组件化示例代码github地址:https://github.com/respost/ModuleDemo 一.组件化初始模型 1.通过一个简单的android项目初始架构图来了解组件化 ...

  9. 并行编程OpenMP基础及简单示例

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

最新文章

  1. Android之打造属于自己的侧边栏(SlidingMenu)
  2. new date.gettime 与传入时间相差毫秒数不对_给女票解释为什么日本时间比中国时间快一个小时?...
  3. linkedin软件 iPad pro 2018 和huawei mate 30内存使用的对比情况
  4. matlab中svd函数用法总结
  5. 解决mysql的乱码问题_完美解决mysql中文乱码的问题
  6. Asterisk权威指南/第三章 安装Asterisk
  7. 将方孔分段的lisp_AutoLisp编写工程地质剖面图小工具
  8. 设计模式(五)——建造者模式
  9. Android平台开发职位招聘要求总结
  10. 黄聪:C#使用能够foreach对hashtable、List遍历时“集合已修改;可能无法执行枚举操作。”错误...
  11. Redis 介绍2——常见基本类型
  12. 电脑如何重装系统之使用PE优盘启动工具安装win10操作系统
  13. 微信小程序后端用python_使用django开发微信小程序后端
  14. 38译码器真值表讲解_三八译码器真值表
  15. java 休眠_Java中 休眠(sleep)
  16. office2016 office2019 office2013 ----一键安装:
  17. sae wpa3加密方式_WPA3:四大安全新特性技术分析
  18. 计算机中的正数,负数到底是什么?
  19. 按照实际案例用常用的查壳去壳和加壳工具说明使用方法
  20. CNN网络的搭建(Lenet5与ResNet18)

热门文章

  1. 算法工程师,上岸了!
  2. android 压力和温度 传感器测试,通过智能无源传感器,实现监测温度、湿度或压力...
  3. java 获取百度云盘图片_java 利用百度云识别图片文字
  4. Java项目:CRM客户关系管理系统(Spring+SpringMVC+MyBatis + maven)
  5. 基于人工智能的图像处理技术:利用Opencv实现
  6. mac 怎样切换 node 版本 , 如何安装oh-my-zsh
  7. php-tanita,♥【停更】 ♥【 鉴于有些人把分享了的二次分享到别的论坛在此停更】♥♥【Tanitas8专贴】♥♥...
  8. vue中如何优雅实现爷孙组件的数据通信($attrs/$listeners)
  9. linux 中文件批量重命名
  10. 合肥工业大学计算机学院加减分,合肥工业大学奖学金加减分细则(定稿修改)