当前位置: 首页 > news >正文

UE4.12-用Montage选择性播放动画片段

UE4.12-用Montage选择性播放动画片段

https://www.jianshu.com/p/37c267f28c51

用UE4的Montage有选择性地播放动画片段的方法,总结自UE官方教程。
参考教程:UE Wiki 官方教程 16 - 20节 或者 Youtube 16 - 20节

如图,Montage有以下的特点

  • 组合动作
  • 有选择性地播放
  • 带有事件
    目标:做一个打击动作的Montage
    动画文件下载地址

    Montage优点和举例


选择UE4的Third Person的蓝图模板工程,然后导入这些动作。骨骼就选默认的骨骼。

导入过程略


1.1. 新建Montage文件,导入动作。

 

Content Browser中右键新建Montage文件

 

1.2. 先重定向动作,然后依次拖拽MontageExample_Start, MontageExample_Punch_1, MontageExample_Punch_2, MontageExample_End_1, MontageExample_End_2到轨道上。

 

重定向动作

拖拽动画片段到轨道上

 

1.3. 在轨道上的每个动画片段头部位置点鼠标右键,并且依次命名 PunchStart, Punch1, Punch2, End1, End2.

 

新增Montage Section

 

1.4. 点击Create Defalut, 然后点击Clear。

 

点击Create Defalut

 

点击Clear


1.5. 按照箭头的尾部和头部位置依次点击 PunchStart, Punch1, Punch1, Punch2.

按照箭头的尾部和头部位置依次点击 PunchStart, Punch1, Punch1, Punch2

 

完成图

 

1.6. 再按照箭头的尾部和头部依次点击Punch2, Punch1,做动作循环

 

做动作循环

 

完成图


1.7 添加分支点
在Notifies轨道上添加分支点IsStillPunching1, IsStillPunching2

添加分支点


添加方法:
轨道上右键。我因为添加过,所以出现了提示。你们没添加过的选择New Notify

完成图


点选你添加的事件,都需要更改这个更新类型

修改更新类型


1.8 添加动作Slot,留给状态机Blend

通过黄框里的按钮,弄成绿框里的样子吧

2.1人物蓝图
找到人物蓝图,黄框内是我们需要添加的部分,点击绿框在Content Browser里找到动画蓝图,双击进入

 

人物蓝图

 

2.2动画蓝图

 

动画蓝图


2.3状态机
这里需要注意的是:

  • “Slot'UpperBodyFight'” 需要搜索“Slot'DefaultSlot' 节点然后更改Slot Name后获得。”
  • “LocomotionCache” 需要搜索 “New Save Cached Pose” 节点然后修改相关参数(下图黄框内)
  • 然后搜索“Use cached pose 'LocomotionCache'” 就可以找到这个Cached Pose。这个用法需要注意。

     

    状态机

骨骼分层动画

这样就可以运行了。我们省略了动画的导入,略讲了蓝图和动画蓝图部分。希望不会难倒你。如果想看某过程更详细的展示,请留言给我。

感谢阅读,希望对你有帮助。如果有问题,请留言给我。



作者:PatrickHC
链接:https://www.jianshu.com/p/37c267f28c51
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • AndroidStudio3.6的卸载安装,Gradle持续下载/Gradle Build失败等问题
  • unity shader 变种(多重编译 multi_compile)
  • Unity3d爬坑篇(2)之Assetbundle、Shader和Keyword
  • Unity AssetBundle Shader
  • Shader变体使用策略
  • AndroidStudio Gradle Plugin 下载失败
  • [原创]安卓U3D逆向从Assembly-CSharp到il2cpp
  • Unity Android il2cpp
  • Unity 找到原因了,如果你在Update里Instantiate一个prefab,上面的脚本会在这个update后执行start,然后执行lateupdate,这帧的update会被跳过
  • Unity -- Error
  • Unity iOS 删除 UIWebView
  • Jenkins 自己使用
  • Jenkins Pipeline语法(中)
  • Unity小技巧——设置代码编译时机
  • Unity 使用遇到的不足问题
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 《剑指offer》分解让复杂问题更简单
  • 【5+】跨webview多页面 触发事件(二)
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • download使用浅析
  • flutter的key在widget list的作用以及必要性
  • PAT A1050
  • PHP变量
  • vue--为什么data属性必须是一个函数
  • 第十八天-企业应用架构模式-基本模式
  • 老板让我十分钟上手nx-admin
  • 力扣(LeetCode)22
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端存储 - localStorage
  • 如何用vue打造一个移动端音乐播放器
  • 算法系列——算法入门之递归分而治之思想的实现
  • 再谈express与koa的对比
  • gunicorn工作原理
  • Spring Batch JSON 支持
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #Lua:Lua调用C++生成的DLL库
  • #前后端分离# 头条发布系统
  • ()、[]、{}、(())、[[]]命令替换
  • (007)XHTML文档之标题——h1~h6
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (生成器)yield与(迭代器)generator
  • (十一)c52学习之旅-动态数码管
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 未来三学期想要修的课 (日記)
  • .axf 转化 .bin文件 的方法
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET MVC第三章、三种传值方式