在实际项目中,开发者有时希望不同的骨架间共享同一套动画蓝图,尤其是状态机的重用,从而实现动画转换逻辑的统一的配置。实际运行时仍然使用骨架对应的动画资源。例如不同种类怪物的动画状态机共享。

引擎中的动画蓝图是与骨架绑定的,无法直接跨骨骼应用;这里给出一个简单的蓝图使用小技巧来实现动画蓝图的共享。

示例工程:

下载链接:https://pan.baidu.com/s/1FIWdNvgcYakajbTqJE89LA
适用版本:引擎版本 4.22.2 or later

思路

1、创建一个父动画蓝图 A,在A中实现各种动画以及转换,并且A中使用到的各种动画片段或者是混合空间全部参数化,普通动画片段的参数类型是Anim Sequence Base
2、创建一个不同于A的骨骼的动画蓝图B,创建之后修改B的父类为A,并且在B 的两个Graph都不能添加或者是实现任何
3、这样在B中就可以看见参数化的动画片段或者是混合空间,给它们赋值,
4、这样便实现了不同骨骼使用一个动画蓝图

示例说明:

  1. 打开项目,地图中有两个角色,一个Mixamo_Goblin,一个IggyScorch_Phoenix角色;使用不同骨骼及模型,但共用了同一个动画蓝图(Mixamo_AnimBP_Parent)中的设置。
  2. 运行游戏;可以控制IggyScorch_Phoenix跑跳攻击等;它的动画蓝图(IggyScorch_Phoenix_AnimBP)继承父级的动画蓝图(Mixamo_AnimBP_Parent);角色资产被替换成自己Skeleton对应的动画资产。
  3. 调整修改Mixamo_AnimBP_Parent,再次运行游戏查看父级的动画蓝图的修改对IggyScorch_Phoenix角色的影响。

制作说明:

  • 不同角色需继承自相同Character蓝图,保证操作以及传入动画蓝图的变量相同。
  • 基础动画蓝图的Animation Sequence Object Reference需要使用Pin创建变量,以便在被继承后可以替换动画。
  • 为其中一套骨架创建新的动画蓝图, Parent 指定为基础动画蓝图,并替换掉变量中指定的动画资源。
  • 动画资源仅可使用当前骨架相关联的资源;无法使用基础动画蓝图关联的资源;如果要使用基础动画蓝图关联的骨骼的动画资源需要对其做复制并且Retarget操作
  • 状态Transition的逻辑需要改成比例相关(Get Relevant Anim Time Remaining Fraction),而不是时间相关,因为被替代后动画长度有可能不同
  • 在当前子动画蓝图无法再增加额外的动画逻辑;需要的话可以加在角色的Postprocess
    动画蓝图中,比如物理动画。或者再创建一个动画蓝图,并使用Sub Anim Instance指定当前子动画蓝图为Instance Class,从而扩展混合逻辑。
  • 父级动画蓝图不要有基于特定骨骼的修改,否则继承后丢失骨骼信息出错。
  • 在Python文件夹里提供了一个示例,该脚本根据指定的Parent Anim Blueprint 和 Child Skeleton
    来生成Child Anim Blueprint,同时根据设定的命名规则来替换来对应的Anim Asset

。Tips & Tricks —— 跨骨架共享动画蓝图

不同骨骼共享动画蓝图相关推荐

  1. 虚幻4混合空间动画蓝图

    角色是一切游戏的基础内容,能对玩家的输入而做出相应动作又是角色的基础,这时便少不了运用混合空间 混合空间是可以联合多个动画并且通过一定逻辑调用的文件(个人理解) (本文如有错误还请大佬斧正) 在创建角 ...

  2. 虚幻C++入门个人笔记(3)——接口、智能指针、动画蓝图、行为树、EQS系统

    接口 接口的词义广泛,用来陈述功能.选项,与其他程序结构进行沟通的方式.接口抽象出了交互结构,提供了两个未知逻辑交互的便捷性.对于编程中,如何更好地设计低耦合程序起到了至关重要的作用.设计者可以在互不 ...

  3. 《赋予角色移动时的动画》part02——动画蓝图

    Animaiton Blueprint(动画蓝图) 相当于一座桥梁,连接了混合空间和角色蓝图. 1.首先,新建一个动画蓝图. 在human文件夹(我们之前用于存放角色蓝图的文件夹)中,我们添加Anim ...

  4. 关于UE5角色动画蓝图的基本操作(基础向)

    1.在做角色蓝图动画前,首先需要有一个可操控的角色.操作方法如下:         新建Player文件夹-在其中创建关于世界设置的蓝图:GameModeBase.PlayerController.以 ...

  5. 虚幻——动画蓝图、状态机制作人物走跑跳动作

    一.名词解释 序列--一段动作. 混合空间--混合不同的动作.将多个序列排序播放. 动画蓝图--根据状态播放不同的动画. 二.混合空间制作走跑动作 由于走和跑的动作比较连续,并且都是由速度控制,所以要 ...

  6. 30_ue4[动画]02_动画蓝图播放蒙太奇和打包

    内容浏览器里面右键,动画,混合空间1D 选择我们新角色的骨骼 进入动画 将部分参数改为 然后看右下角的资源浏览器 全选四个动画,右键,设置为当前预览网格体 这样就可以把鼠标放在动画上进行预览了. 将站 ...

  7. 学习UE4动画蓝图:实现双脚贴地

    目标 在上一篇博客<学习UE4动画蓝图:配置脚部IK>中,IK功能解决了"脚部陷入地下"的问题,但是还是有"脚部悬空"的问题.<[UE4蓝图] ...

  8. UE4 虚幻引擎 Montage蒙太奇/动画蓝图状态机 踩过的坑记录

    惯例先说两句 实在惭愧,和朋友一起做UE4从10月份就说好了,结果依旧拖到了寒假,然而毕设又来了. 第一关的锅我背了三个月还没做完,直到疫情被困在家必须好好干一把了(加油) 以下是在最近做一个简单的道 ...

  9. 学习UE4动画蓝图:配置手部IK

    目标 逆向运动学(Inverse Kinematics)简称IK是相对于 "正向运动学" 的. "正向运动学" 即从骨骼的上级到下级进行旋转来达到自己想要的姿势 ...

最新文章

  1. why-and-howto-calculate-your-events-per-second
  2. QT实现动态的wave水波纹
  3. 搭建解析内网 linux_Linux 搭建ngrok内网穿透
  4. 文档如何清除html,html清除浏览器缓存.docx
  5. double 去掉小数点_JAVA编程有一个小数,如何去掉小数部分
  6. node --- [express项目] 开发环境下使用morgan控制台输出访问信息
  7. 星宿UI V1.1.2 跳转小商店+ wordpress微信小程序
  8. C语言课后习题(17)
  9. bzoj1691/luogu2869 [USACO07DEC]挑剔的美食家 (STL::set)
  10. opengl将bmp读成像素_在 opengl 环境下将 texture 保存为 bmp 图片
  11. 两万字 40 张图带你参透并发编程
  12. mysql数据库基础知识--入门必看
  13. Optitrack光学动作捕捉
  14. 我奋斗了18年才和你坐在一起喝咖啡
  15. 深度解析网易严选和京东的会员体系,建议收藏
  16. myeclipse登陆问题
  17. [2020.1.10]systemd介绍
  18. win10在电脑中添加新用户
  19. python动态仪表图_《Python数据可视化之Matplotlib与Pyecharts》之仪表盘
  20. 简洁大气公司介绍PPT模板

热门文章

  1. squid:http和https的代理服务器设置指南(MacOS版)
  2. nlp知识点总结(中)
  3. django自带邮件模块实现用户注册激活邮件发送
  4. OA系统二十:请假审批一:审批功能概述;显示【请假审批】这个内嵌界面中【待审批请假数据】的SQL语句;
  5. python新年有趣代码_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...
  6. sql 外键约束【表关系绑定】
  7. 使用nodejs将bilibili缓存的视频转mp4格式
  8. mysql in子句_MySQL IN子句
  9. 传输层安全加密协议之Noise 协议(Noise Protocol Framework)
  10. 订婚和结婚分别要拿多少钱 订婚钱和彩礼钱的区别