UE4虚幻引擎蒙太奇动画系统入门

Posted avi9111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4虚幻引擎蒙太奇动画系统入门相关的知识,希望对你有一定的参考价值。

什么是蒙太奇(Montage)

UE4的很多功能模块都会起一个非常文艺的名字(这体现了技术宅们深入骨髓的浪漫情怀):可视化的编程工具叫Blueprint、新粒子系统叫Niagara、动画系统叫Persona等等。蒙太奇也是其中之一,它借用了电影技术中的术语。简单的说蒙太奇就是一种动态播放角色动画的方法

从状态机(State Machine)说起

状态机,相信大家都了解。UE4的动画状态机系统非常强大,仅使用它已经可以开发出功能复杂的角色动画了。

 

但状态机并不完美:

  • 状态机的动画序列必须静态地放到每一个状态中,这些动画序列是不能够在运行时通过参数指定。
  • 随着状态机功能的增加,它的状态网络也会越来越复杂,修改的时候容易牵一发而动全身,因此它的设计、维护以及扩展都是比较困难的。
  • 我们还会遇到这样的情况:有些动画,它们数量很多,但每个动画可能仅在特殊的场合触发那么一两次(比如:角色遇到了特殊的机关要操作一下),把这些动画都放在状态机中不但工作量巨大,而且性价比很低。
  • 还有些时候,我们想跳出状态机的控制,从而获得角色动画的直接控制权,用代码直接调用动画。

于是,蒙太奇就应运而生了。

看看蒙太奇的调用方法

在这么多方面能够胜过UE4的状态机系统,它一定很复杂吧?

 

 

为了不吓跑初学者,咱们先看看蒙太奇动画最常用的调用方法。

 

如此简单粗暴,调用Play Anim Montage函数播放指定的“蒙太奇动画”,完毕!

注:这里的“蒙太奇动画”并不完全等同于UE4中的Animation Sequence,需要对Animation Sequence进行一些“处理”。它的制作过程,老王将在后续文章中详细介绍,可以保证的是这个过程并不复杂。目前大家把它理解为Animation Sequence Plus版本就可以了 。

 

 

有些朋友可能拍案而起,惊呼:“这不就是在状态机诞生之前“最最最原始”的动画调用方式么?”

 

 

仅从调用方式来看确实非常返璞归真,和“最最最原始”的动画播放方式别无二致。但UE4的蒙太奇并不是完全独立于状态机的机制,它通过一种叫插槽(Slot)的东东又和状态机完美地水乳交融到了一起。

仅仅两行文字,读书不多的老王就用了三个成语,堪称本人写博客以来之最。看到此处各位看官如果不一键三联真是枉费了老王的满腔热血啊。

下图就是蒙太奇通过插槽和状态机结合的例子(黄框标记的都是插槽节点):

 

其实所谓插槽就是一个“位置标签”,我们在制作蒙太奇动画的时候,可以为每一个蒙太奇动画指定自己的插槽。这样它就有了自己播放位置。

  • 如果我们把一段蒙太奇动画的插槽设置为紧挨着Output Pose的插槽,那么它会忽略前面所有节点运算的结果以绝对霸道总裁的姿态,只播放自己的动画片段。
  • 当然,你也可以把插槽放置在状态融合的分支通道中,这样它忽略掉的就是这个分支上自己之前的节点,相当于区域副总裁了。归根到底一句话:蒙太奇就是可以忽略掉插槽之前的所有结果。

 

 

小结

今天我们大致了解了什么是蒙太奇,以及它在UE4动画系统中的作用和地位。道理不难理解,但是这个蒙太奇机制确实能够为UE4衍生出很多高级的玩法。后面的文章中老王会介绍蒙太奇动画的制作过程,以及通过一些案例让大家对蒙太奇爱不释手。

以上是关于UE4虚幻引擎蒙太奇动画系统入门的主要内容,如果未能解决你的问题,请参考以下文章

虚幻引擎图文笔记:使用MixamoConverter对Mixamo动画重定向成UESkeleton匹配动画

虚幻,寒霜3和虚幻4,unity哪个入门最低

虚幻4引擎怎么做游戏

ue4 虚幻四引擎项目无法打包,求帮助!

UE4 编译虚幻引擎

e5v2虚幻引擎打不开