在unity中,使用maya导出的动画和其他anim make animator transition将重置对象位置

In unity, use maya exported animation and other anim make animator transition will reset object position

here是我的unity项目

here 是我的 maya 项目

here是我的老问题

在我的老问题中,我使用付费的unity资产动画出现了同样的问题,所以我用maya制作了类似的动画并用免费资产复制它

看我的动图

错误是当ClimbReachTop 完成并播放Standing 时,对象位置将自动重置

当我在this asset中使用类似的ClimbReachTop时,对象位置不会被重置

那么如何让动画师转换不重置对象位置

我确定不是因为 "apply root motion" 因为我将 fbx 模型拖到 unity editor > animation preview,它没有选项 select "apply root motion"

更新

正如我的旧答案所说,将根运动动画转换为控制装备,调整动画,然后重新转换为骨骼动画,根对象转换将变得混乱

但在很多情况下,我必须将 anim 转换为 control rig 才能对其进行调整,因此当重新转换 root-object-mesey 结果时,我可以在图形编辑器中编辑 root 对象,就像我的旧答案所说的那样

这是调整重新转换动画以使其像 ik 动画的提示

在我的例子中,我想将现有动画更改为根运动动画,转换为控制装备以调整可能凌乱的动画,所以使用以下方式 使用 tmp 球体表达 ik 点(IkReferPoint)。逐个键,以确保 ik 正文部分翻译固定在特定的键范围内 例如,在行走动画中,在特定的键范围内,我希望 leftFoot translate 修复 创建 ikreferpoint 在时间轴中,单击键范围开始键,将 ikreferpoint 移动到左脚位置 到下一个键,将左脚移动到 ikreferpoint pos

旧答案

更新

我制作了video,为了统一,它把非根动画转换为根动画

注意:如果在unity editor端,它仍然不是root motion anim,unity editor > fbx inspector > animations > motions > root motion node > manually specific root motion node(在我的动画中,它是 "root")

如果导入到 maya 模型没有根对象,maya > 创建关节作为根对象并在大纲中将模型移动到根对象,here 是很好的教程

旧答案

更新

旧答案使新动画运行良好,但如果在 hik 中将根对象指定为 HipsTranslation,烘焙到控制装备,然后烘焙到骨架中以进行根运动,根对象平移将是意外的

所以要将现有动画转换为根运动动画,here 是很好的教程,要存在动画,我可以直接在图形编辑器中调整根对象平移

旧答案

更新

旧答案只给出了新骨架做根运动的方法,我找到了用新骨架或现有骨架做根运动的通用方法

创建根对象 将其分配给 HipsTranslation

执行时,此根对象与臀部的平移关系将固定

调整根对象是我的老答案

在unity中,手动fbx anim root object as motion > root node

旧答案:以下只是制作新骨架的方法

我找到了解决方案,我应该在 maya 中制作根运动动画

here为视频教程

简而言之,在 maya 中我应该用根对象制作根运动动画,并在 unity 编辑器中导出 fbx 动画检查器 > 动画 > 运动 > 根运动节点 > 手动 select 我创建的根对象

在unity animator transition中,当一个动画播放完成并播放下一个动画时,角色变换将由这个fbx动画根对象决定

什么是根对象?在我的屏幕截图中,它是从屁股到底部的垂直线)

如何创建根对象? maya > hik > skeleton > hips transition,它会生成臀部父对象,将这个父对象设置为根对象,将根对象转换为(0,0,0)并调整臀部以确保整个模型世界位置与旧相同

上面的视频也提供了调整这个根对象的方法