[Unity] 播放 Generic Animation 导致无法移动的解决办法:在 Animator 中勾选 Apply Root Motion

将Unity动画类型从Humanoid改为Generic后,角色无法移动。问题在于CharacterController不受输入控制。通过在Animator中启用Apply Root Motion选项,解决了播放Generic Animation时的角色移动问题。之前并未意识到这个设置的存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在使用 Animation Type 为 Humanoid 的 Animation 的时候是一切正常的
但是,自从因为 Humanoid 会导致手腕错误旋转问题,把 Animation Type 改成了 Generic 之后,我的人物就不能动弹了
测试发现,给 CharacterController 的输入是没有问题的,但是 CharacterController 所控制的父级 GameObject,也就是角色,的 transform 虽然会在一个很小的范围内跳动,但是整体来说角色就是不能移动
那就是说,播放 Generic Animation 导致 CharacterController 无法使组件父级 GameObject 移动

请添加图片描述

我所有的动画都使用一个 Avatar
然后我这个 Avatar 也配置了根骨了

在这里插入图片描述

我也确定我每一次更改动画都会 update avatar,并且 apply

在这里插入图片描述

排除变量的话,对于 Avatar 的 RootNode,我试过了 None, Geometry, Geometry/Armature_Mesh, Skeleton, Skeleton/Hips,其中改为 Geometry/Armature_Mesh 的时候会使动画出现错误,其他的类型都没报错,但是都存在角色不能移动的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值