在游戏中的技能施法动作是可以通过软件合成的,笔者在这里介绍一种用UE4合成多个动画的操作。

在UE4中角色的动作可以由多种方式达成,一种是混合空间,例如角色的跑动和跳跃,其中的动作是由状态机控制的,原理和操作相对复杂,优点则很明显,这类动作是可以做到连续触发的,只要角色满足状态机中的某个判断条件,则会一直持续这个动作;另一种相对简单的是动画蒙太奇(Montage),它的触发多是以按键触发,比如技能施法动画,角色死亡动画等等,缺点是要注意控制动画播放时间,否则容易造成前一个动作还没做完就被后一个动作覆盖了。

在内容浏览器中创建一个动画蒙太奇,命名为TestMontage,在创建时需要选择角色根骨骼,直接选择软件附带的角色骨骼即可。

打开动画蒙太奇编辑器,在Montage选项栏中会有一个默认的组和槽,可以在Anim Slot Manager中创建新的组和槽。将需要合成的子动画从Asset浏览器中拖放到Montage中(注意顺序),形成一组动画(注意子动画的组和槽要与其蓝图中的动作组别相对应,不然动作不会被执行)

动画制作完成之后返回到关卡蓝图中进行调用,可以看到一组完整的动画正常地播放了。

当然这只是傻瓜式操作,还可以将全部的动画分成多组,有选择地进行播放。右键点击Montage,新增Montage Section,将动画进行分组。

这里的动画播放时还是会从选中的Section开始一直到结束,点击Sections中Preview的x符号,将动画分组进行预览,这样每次只会播放选中的动画组

返回到关卡蓝图,添加动画组别选择功能

这里是随机在1到4中间进行播放,读者可以用其他方法进行动画的选择播放,例如设置状态判断。

UE4中动画蒙太奇的合成的更多相关文章

  1. [UE4]角色、动画蓝图、动画蒙太奇、动画之间的调用关系

    一.在“角色”中设置要使用的“动画蓝图” 二.在“动画蓝图”中使用“动画”和“混合动画” 三.在“混合动画”中,也可以使用“动画” 四.在角色中使用“动画蒙太奇”

  2. Unreal Engine4 学习笔记2 动画蒙太奇

    动画蒙太奇出现的位置是在动画蓝图的动画图表和事件图表中,如下图 事件图表,可以看出在主线执行的结尾,如果is Punching 为true,则会执行一个我们自定义的Punch Event,用来播放动画 ...

  3. Silverlight中动画的性能浅析

    Silverlight中提供了StoryBoard实现动画,可是StoryBoard的性能实在不敢恭维,特别是动画很大的时候,计算机的CPU和内存的狂增,如此一来性能实在太差,在默认的动画效果中动画实 ...

  4. UE4中Timeline的使用

    UE4中经常需要一些和时间相联系的功能,例如在一段时间内完成一个动作,播放一段动画,或者只是单纯的延迟函数的执行时间,即调整事件的执行顺序.在UE4的蓝图自带函数中有一个很好用的函数可以完美地解决这些 ...

  5. UE4 中的 C++ 编程介绍

    https://docs.unrealengine.com/latest/CHN/Programming/Introduction/index.html UE4 中的 C++ 编程介绍 Unreal ...

  6. 如何将MagicaVoxel模型导入UE4中(2)

    前言 当可以把MagicaVoxel的静态模型导入到UE4后,我又开始不满足了.默认第三人称蓝图的"汽车碰撞人偶(雾)"与场景中的体素画风格格不入,于是,我便想着用自己建造的体素画 ...

  7. css3中动画(transition)和过渡(animation)详析

    css3中动画(transition)和过渡(animation)详析

  8. UE4 中Struct Emum 类型的定义方式 笔记

    UE4 基础,但是不经常用总是忘记,做个笔记加深记忆: 图方便就随便贴一个项目中的STRUCT和 Enum 的.h 文件 Note:虽然USTRUCT可以定义函数,但是不能加UFUNCTION 标签喔 ...

  9. UE4 中在 Actor 中动态 Create Component 与ChildActor 的 小笔记

    Note:旧版本的UE4 的Attach 和12.13版本有些不一样 创建Component: UCpp_MyComponent* temp_imageCom = NewObject<UCpp_ ...

随机推荐

  1. SQL存储过程使用方法

    public void findflight() { // 创建参数 IDataParameter[] parameters = { ) , new SqlParameter("@Name& ...

  2. C#简单工厂模式(学习Learning hard讲解笔记)

    原味地址http://www.cnblogs.com/zhili/p/SimpleFactory.html 简单工厂模式通俗的理解就是用户与工厂的关系,用户用的东西,工厂来生成,责任明确. 就像大神展 ...

  3. time模块,计算时间差

    计算当前时间与所输入的时间的时间差 #1 计算当前时间的时间戳时间 t_now = time.time() # 计算以前的时间的时间戳时间 t_before = input('请输入时间(例如:200 ...

  4. 使用AJAX实现分页

    Fenye.html <!DOCTYPE html> <html> <head> <title>分页</title> </head&g ...

  5. bzoj P3309 DZY Loves Math——solution

    对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0.给定正整数a,b,求: $$\sum_{i= ...

  6. react组件(react-grid-gallery)

    react有很多好玩的组件,react-grid-gallery就是其中一个,主要处理图片展示,对图片进行放大与缩小 文档:https://www.npmjs.com/package/react-gr ...

  7. Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug

    这几天eclipse 项目迁移 android studio Error:Execution failed for task ':app:transformClassesWithJarMergingF ...

  8. Android应用程序启动过程(二)分析

    本文依据Android6.0源码,从点击Launcher图标,直至解析到MainActivity#OnCreate()被调用. Launcher简析 Launcher也是个应用程序,不过是个特殊的应用 ...

  9. MACOS root密码忘了怎么办?

    MAC中ROOT用户很少用到,有时又手贱,给设了密码,过一阵忘了密码,很尴尬

  10. 如何快速的给你的项目添加icon图标

    如何快速的给你的项目添加icon图标 下载软件 如何制作图片 将制作的图标拖到项目当中 设置启动页 注意: 如果手动添加了启动页的话,记得将Launch Screen中的东西清除掉