UE4示例项目学习:用Blueprint来创建一个可操作角色(二) 动画蒙太奇篇(Animation Montage)

转载 2016年08月29日 16:26:24

学习UE4视频的时候动画蒙太奇没怎么看懂,当然视频是4.7的版本,本人用的是4.11也是一个原因,找了一篇写的很详细的帖子豁然开朗,这么好的文章禁不住转载,感谢原创博主。

博主原创地址:http://blog.csdn.net/u012385432/article/details/51481567

上一篇的博文中我们写了怎么把资源导入到项目工程中,然后实现通过按钮让人物进行走动,跳跃.在这一篇博文中我们将要完成最后一步,攻击动作.

上一篇文章链接地址: http://blog.csdn.net/u012385432/article/details/51470257

 由于人物在跑步的时候上下半身都会动作,而攻击的时候也是一样,所以我们需要选定动画是如何混合的,这里就要用到我们的AnimationMontage了.废话不多说.开始写文章.


1.新建AnimationMontage文件

内容管理器->右键->动画->动画蒙太奇,


2.设置AnimationMontaget文件





我们出拳的逻辑应该是这样的.如果我一直按着按钮的话,那么就左右连续出拳,如果说我某一个时刻松开了按钮,那么出完当前的这一拳以后我就应该要收拳,并回到待机状态.

如果说最后出的是出拳1,那么久应该播放出拳1的收拳动作,如果播放的是出拳2,那么久应该播放出拳2的出拳动作.上面所说的IsStillPunching1,IsStillPunching2时间其实就是为了帮助这一块而使用的.这两个事件分别是在出拳1和出拳2动作快结束的时候抛出的.当我们抛出这个事件以后,其他模块就会捕获这个事件,这个时候,其他模块就要去检查玩家是否还按着按钮希望继续进行攻击,如果没有的话,就应该开始收拳了,否则就继续出拳.

关于检测出拳的部分接下来讲


3.修改输入和输入的响应事件,同时在MyCharacter_BP中对于按键进行响应

修改输入在上一篇文章中写了,就是在项目设置那里进行的输入操作,还有对应什么样的事件的设置.

在这里我们要修改一下角色的蓝图类,添加以下部分


我们在该蓝图中添加了一个IsPunching变量,便是当前有没有按住按钮,要进行攻击.按下的时候是TRUE,松开了就是FALSE,只要我们再把捕获的事件和这个变量一起使用,就可以知道我们到底要怎么出拳收拳啦.


4.修改MyAnimation_BP文件.

由于图片太大,超过一个屏幕了,我们就只截取了添加的部分.



到这里为止,我们应该就能让角色在场景中攻击了,按下绑定的按键,那么人物就会开始攻击了,松开后会恢复,但是这里面就有个问题,我如果一边跑一边攻击,那么我的人物不会播放跑的动作,他完全被攻击的动作覆盖了.这明显是不符合我们要求的.那么为了能让我们的人物能边跑边攻击,我们需要添加Slot,并将该Montage文件的动作仅作用于该Slot,这样子就可以实现动作的混合了.


5.在AnimationMontage中新建Slot,修改MyAnimation_BP中的动画图表




到这里为止,我们的AnimMontage就算是全部完成了.这个示例项目也差不多可以告一段落了.下面稍微总结一下整个Montage混合的一个流程

首先,我们当前是否想攻击取决于我是否按了按键,如果按了,那么为true,否则为false.我们将这一个变量通过MyCharacter_BP中的蓝图来记录下来(在项目设置的输入中设定好绑定关系).

由于我们设定了动作之间的循环关系,所以如果我一直反复按着按钮的话,那么我是会一直出拳的.如果我松开按钮,那么这个时候需要判断我当前出拳出的是哪一拳,从而决定怎么播放收拳的动作.

决定是否继续进行攻击的事件由AnimMontage中的通知来发出,当我们收到了这个事件以后,再根据玩家是否按键,来决定要不要继续攻击.到这里为止,我们的攻击流程就结束了.然后是动作的混合部分,由于我们需要让上半身和下半身播放不同的动作,所以我们要用动作混合.混合的方式是整体使用原有姿势,但是在攻击的时候上半身使用攻击姿势.设定的话按照上文中所说就可以啦.整个Montage的思路就是这样了.


整个教程学习下来,看官方视频花了2天,写两篇博文加上再次理解用了1天.其实不论是看什么教程,如果不进行总结,跟着教程走一遍就完了,那么最后能剩下来的东西真的不多.这份教程肯定还有很多不足的地方,如果有什么不足的,欢迎大家指出(如果有人看的话哈哈...)最后再推荐一下官网的视频,如果你看这篇教程看不懂,那么你去官网视频看一下,你就什么都清楚了哦~

AnimMontage(中文)——UE4官方文档翻译与理解

这篇文章里面完全是中文翻译,不含英文,只是为了不熟悉英文又想快速了解AnimMontage的朋友,由于水平有限,里面一些翻译掺杂了我个人的理解,如果有任何问题欢迎提出,我会及时修改的~同时这里需要声明...

UE4蒙太奇

蒙太奇 * 通过镜头、场面、段落的分切与组接,对素材进行选择和取舍,以使表现内容主次分明,达到高度的概括和集中。 1、 新建动画_蒙太奇动画 2、 在右下角的资源浏览器中选择你要编辑(重构)的动画,...

Ue4动画蒙太奇

蒙太奇的部分其他用途包括: 能够从动画蓝图的 事件图 中播放动画。 将复杂的一系列动画串联起来,让它们成为一个动画。 根据代码或蓝图脚本仅循环一个或多个动画中的特定部分。 根据代码或蓝图脚...

虚幻4 动画系统概述

虚幻引擎提供了一套完整的动画设计系统,从基本的动画导入,到最后的人物动画控制,流程完善成熟,上手简单。下面先从宏观上介绍下UE4的动画系统,然后深入介绍几个功能模块。一、整体介绍 下面这张图翻译自官...

UE角色以及角色动画超详细流程干货!这次是step by step!

文章转自魔型志。 大家好,今天给大家带来一个虚幻引擎角色动画的一个干货!这真的是干货!这次是幻工作室另一位资深艺术家西蒙所带来。 给大家简单介绍下西蒙,来自幻羽科技,技术美术,幻羽第一个加...

ue4中动画通知的几种方式

animation blueprint中的几种notify,神马通知碰撞开启关闭的东东都可以使用notify 1、简单的通知(blueprint)直接在sequence or montage中new个...

rootMotion, Unreal如何处理位移动画

Unreal官方给了一个介绍:https://docs.unrealengine.com/latest/INT/Engine/Animation/RootMotion/index.html 其实要点...

UE4手动创建c++类

一般来说都是在Editor中 add new c++,这样加完后会自动加入到vs工程中并编译自动生成 XXX.generated.h 头文件。  也可以手动创建c++的XXX.h 和XXX.cpp,然...

[3dmax教程] 人物+骨骼+蒙皮+动画教程

人物+骨骼+蒙皮+动画完整教程 选准备好一个人,做人的方法我在这里就不做了,大家可以学都用poser来做一个。    在大腿里建立4根骨骼!   在前视图中移动如图所示位置! ...
  • pizi0475
  • pizi0475
  • 2013年08月13日 06:38
  • 46931

Android 打造形形色色的进度条 实现可以如此简单

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43371299 ,本文出自:【张鸿洋的博客】1、概述 最近需要用进度条,秉着不重复...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UE4示例项目学习:用Blueprint来创建一个可操作角色(二) 动画蒙太奇篇(Animation Montage)
举报原因:
原因补充:

(最多只允许输入30个字)