mixamo根动画导入UE5问题:滑铲

最近想做一个跑酷游戏,从mixamo下载滑铲动作后,出了很多动画的问题。花了两周时间,终于是把所有的问题基本上都解决了。
常见问题:
1.【动画序列】人物不移动。
2.【动画序列】人物移动朝向错误。
3.【蒙太奇】人物移动后会被拉回。
4.【蒙太奇】动画移动,蒙太奇不移动。
5.【蒙太奇】只有上半身移动。
6.【蒙太奇】脚部动作未正常播放。

一、根骨骼

对于带有位移的动画:

1.不启动根运动

人物会向前移动,但是胶囊体会停留在原地。运动结束后人物会被拉回原地。
不启用根运动不会影响动作播放,但是人物会在原地,不会带有位移。
在这里插入图片描述

2.启用根运动

人物和胶囊体会一起移动,之后一直向前运动。
在这里插入图片描述

3.红线代表人物移动轨迹。

在这里插入图片描述

二、启用根运动

1.动画序列

在动画的细节面板中勾选启用根运动EnableRootMotion。
启用根运动后你会发现人物在原地不动,你需要进行下面的调试。
在这里插入图片描述

2.动画蓝图

类默认——细节——根运动模式

选择来自每一项目的根运动Root Motion From Everything或者仅来自蒙太奇的根运动Root Motion From Montage Only.

在这里插入图片描述
在这里插入图片描述

启用根运动会造成性能成本。

三、调试

1.动画序列编辑器

Chracter——骨骼——骨骼绘制——所有层级
可以看到完整骨骼移动以及根骨骼的轨迹。
在这里插入图片描述

Character——动画——根运动——循环
人物会一直向前移动。
在这里插入图片描述

2.控制台指令

游戏运行时
“`”打开控制台——输入:show collision——可以显示人物胶囊体
在这里插入图片描述
在这里插入图片描述

四、重定向

1.根骨骼

必须给每个角色定义根骨骼,将骨盆或臀部的骨骼设置为重定向根,这样才可以成比例地定义和传输根运动。
在这里插入图片描述

2.检查原动画

不启用根运动
根运动根锁定——参考姿势
不勾选强制根锁定
在这里插入图片描述
Root的重定向模式不是动画缩放
在这里插入图片描述

3.创建root链

创建一条root根骨骼链,并将平移方式改为全局缩放,然后可以看到目标人物身后会有一条红线,这样人物才能够开始移动。
在这里插入图片描述

如果出现人物在上面位移,可以将spine这条链也改为全局缩放。
在这里插入图片描述

五、blender调整骨骼

当我们成功导出滑铲动画后,启用根运动,发现人物的姿势朝向有问题。
在这里插入图片描述

因为mixamo的动画默认没有根骨骼,导致根动画不能正常播放,这时候需要用插件在blender中调整。

1.下载动画

先下载角色,再下载动画,选择“whithout Skin不带骨骼”。
在这里插入图片描述

2.下载插件

https://github.com/brkeejp/mixamo_converter
直接点击下载即可,不需要解压。
在这里插入图片描述

3.安装插件

打开blender,编辑——偏好设置——插件——安装——选取安装包。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后回到插件,发现已经有了插件,勾选。
在这里插入图片描述

4.设置

需要对插件进行一些设置:

  • Use Z——取消勾选
  • Remove Namespaces——取消勾选
  • Use Unreal Engine bone names——勾选
  • Apply Rotation——取消勾选
  • 填写输入路径(最好给动画的fbx文件单独创建一个文件夹,不然会报错)
  • 填写输出路径(新建一个文件夹)

Transfer Rotation——取消勾选
点击Batch Convert,看到界面中间的方块消失即代表完成。
在这里插入图片描述

需要对角色骨骼和动画都进行convert。

六、调整动画

先将骨骼导入到引擎中,发现有了根骨骼。
在这里插入图片描述

然后再导入动画,不导入骨骼,选择刚才的骨骼。
在这里插入图片描述

动画正常播放,ok了!
在这里插入图片描述

七、脚部未正常播放

在这里插入图片描述

滑铲后发现脚部未向前伸出,动画还是有问题。

1.打开角色动画蓝图,双击打开绑定控制Control Rig节点。

在这里插入图片描述

2.右键序列节点——升级节点,变为常用序列节点。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.新增一个序列,新建Set Transform节点,并将此节点调整为第一个序列。

在这里插入图片描述

4.获得脚骨骼的变换。

Get transform节点——名称:foot_I
在这里插入图片描述

在set transform中展开“项目”,骨骼名选择IK_foot_I在这里插入图片描述

复制相同节点,骨骼设为右脚foot_R.
在这里插入图片描述

完整如下:
在这里插入图片描述
再次进入游戏,发现脚部动作正常播放了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java的多线程技术概览

java的多线程技术 前言今天学习大纲是多线程第一步:学习基础知识第二步:深入学习第三步:实践项目第四步:深度理解高级主题 前言 时代变了,旧的知识需要重新拿起,今天开始记录自己所学同时也是给自己一个复…

谈谈 .NET8 平台中对 LiteDB 的 CRUD 操作

哪个啥!纯 C# 编写的 LiteDB 你还不会操作? LiteDB 简介LiteDB 安装1、同步版 LiteDB2、异步版 LiteDB.Async LiteDB StudioLiteDB CRUD 操作举例1、.net cli 命令创建项目2、项目添加相关 nuget 包3、改造项目结构4、改造项目代码 LiteDB vs SQLite 对比…

PostgreSQL 实现 Oracle 多表插入语句

Oracle 数据库提供了一个多表插入功能,也就是 INSERT ALL 语句。这个功能可以方便数据仓库中的 ETL 操作,基于不同逻辑将数据插入一个或者多个不同的表中。 PostgreSQL 被称为开源领域的 Oracle,虽然没有提供 INSERT ALL 语句,但…

用c#实现记事本的功能

知识点: openFileDialog1 是一个 Windows 窗体应用程序中的控件,用于实现文件选择对话框的功能。它是 System.Windows.Forms.OpenFileDialog 类的一个实例。 OpenFileDialog 控件允许用户浏览文件系统并选择要打开的文件。它提供了一些属性和方法&#x…

怎样挖掘客户的需求?有哪些方法?

需求是什么? 需求是人们在某一特定的时期内在愿意付出各种可能的成本(时间、精力、现金)购买某个具体或者虚拟的商品、服务的数量或数量集合。例如肚子饿了又懒得做,在线点餐外送就是一种需求,用户愿意多花费比线下饭…

JAVA8时间日期类详解

JAVA8 时间日期类 LocalDateTime类(用于代替Date类使用) 用于表示没有时区信息的日期和时间,这个类是不可变的,线程安全的,用于处理日期和时间 LocalDateTime类常用API 常用方法 方法名说明public static LocalDateTime now()获取当前日期与时间public static LocalDateTi…

MySQl int(1)、int(20) 的区别到底在哪里

MySQl int(1)、int(20) 的区别到底在哪里 常思一二,便得自然… int(1)数据类型介绍 在MySQL中,INT(1) 是一种定义整数类型的数据字段,其中的数字表示显示宽度而不是存储范围。具体说,INT(1) 中的数字 1 表示显示宽度&#xff0…

前端小技巧: 写一个异步程序示例, 使用任务队列替代promise和async/await等语法糖

异步程序设定场景 1 )场景设定 可以使用懒人每做几件事,就要休息一会儿,并且不会影响做事的顺序这种场景来模拟定义单例名称为: lazyMan支持 sleep 和 eat 两个方法支持链式调用 2 ) 调用示例 const lm new LazyMan(www) lm.eat(苹果).…

LinuxBasicsForHackers笔记 --添加和删​​除软件

使用apt处理软件 apt (Advanced Packaging Tool)。可以使用 apt-get 下载和安装新的软件包,也可以用它更新和升级软件。 许多 Linux 用户更喜欢使用 apt 命令而不是 apt-get。它们在很多方面都很相似,但 apt-get 具有更多功能。 搜索包 在下载软件包之…

高级搜索——ST表,离线RMQ问题

文章目录 前言可重复贡献问题ST表的定义ST表的存储结构ST表的预处理预处理的实现 ST表的区间查询对于k的获取区间查询的实现 OJ链接 前言 对于查询区间最值的方法,我们常用的就是线段树,树状数组,单调队列,而树状数组更适合用于快…

解决Qt发送信号指定重载

现象 信号发送者找不到正确的信号函数 connect(ui->LSpinBox,&QSpinBox::valueChanged,ui->hSlider,&QSlider::setValue);QSpinBox的valueChanged函数分为int和QString两种,存在函数重载,需让编译器加以区分。 不区分的话会爆出&#xff1…

让 ChatGPT 永远重复输出一个词,它就能告诉你很多秘密数据?国内的大模型表现如何?

文章目录 让 ChatGPT 永远重复输出一个词,它就能告诉你很多秘密数据?国内的大模型表现如何?文心一言通义千问百川智能智普清言moonshot星火附件ChatGPT Data Extraction Example 让 ChatGPT 永远重复输出一个词,它就能告诉你很多秘…

【互斥锁不当使用导致的条件竞争】2021_DiceCTF_hashbrown

前言 这个题目还挺有意思的,他并不像之前做的题目直接给你一个贴脸的 UAF 等,而是把 UAF 放在了条件竞争的环境下,其实条件竞争这个漏洞在内核中经常出现。 这里题目没有去符号,所以逆向的难度不是很大,但作者似乎在…

Android蓝牙协议栈fluoride(二) - 软件框架

概述 fluoride 协议栈在整个软件框架中作为一个中间件的角色,向上对接APP,向下对接蓝牙芯片。fluoride采用C语言实现,与APP(Jave)通信采用JNI机制;与蓝牙芯片通信使用HCI硬件接口(HCI软件协议参考蓝牙核心规范&#x…

[ffmpeg] find 编码器

背景 整理 ffmpeg 中,如何通过名字或者 id 找到对应编码器的。 具体流程 搜索函数 avcodec_find_encoder // 通过 ID 搜索编码器 avcodec_find_encoder_by_name // 通过名字搜索编码器源码分析 ffmpeg 中所有支持的编码器都会注册到 codec_list.c 文件中&…

毕设:《基于hive的音乐数据分析系统的设计与实现》

文章目录 环境启动一、爬取数据1.1、歌单信息1.2、每首歌前20条评论1.3、排行榜 二、搭建环境1.1、搭建JAVA1.2、配置hadoop1.3、配置Hadoop环境:YARN1.4、MYSQL1.5、HIVE(数据仓库)1.6、Sqoop(关系数据库数据迁移) 三、hadoop配置内存四、导…

笙默考试管理系统-MyExamTest----codemirror(45)

笙默考试管理系统-MyExamTest----codemirror(44) 目录 笙默考试管理系统-MyExamTest----codemirror(44) 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试…

【华为OD题库-085】路灯照明II-Java

题目 在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。 每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。输入描述 第一行为一个数N,表示路灯个数…

FFA 2023 明日开幕,Flink 智能诊断、小红书流批一体实践精彩来袭

近年来,流批一体的技术思想势头火热,即“将批处理和流处理相结合,实现更好的数据处理能力”,已成功从理论层面走进现实世界。Flink 是一款高吞吐量、低延迟的流处理引擎,具备统一接口、高性能、低延迟、容错性和可扩展…

绑定域名简单教程

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 🌤️安装Nginx环境 &…