unity 给模型绑定骨骼_Unity 骨骼动画的运行时重定向

本文介绍了在Unity中如何实现骨骼动画的运行时重定向,以使自定义模型能与IKinemaMale模型同步动作。通过记录关节初始角度,结合四元数运算在LateUpdate中复制旋转角度。此外,文章还提到了HumanPoseHandler组件,简化了重定向的处理,并展示了在FinalIK等动捕方案中重定向的应用,以改善非标准比例模型的动画效果。

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

v2-966a7eca4c4b171fb1381f2a952c8c05_1440w.jpg?source=172ae18b

上次我们说到在 IKinema 中添加自定义模型。方法很简单,就是利用运行时重定向,这次为大家介绍一下具体做法。

Unity 中的重定向(retargeting)大家应该不陌生,重定向使得 Humanoid 模型间可以共享骨骼动画,大大降低了动画的制作成本。但是 Unity 系统的重定向是基于文件的,对于我们使用 Orion 来说,我们需要在 IKinemaMale 模型获得动作信息的同时,将这些信息应用到我们自定义的模型上,这就需要我们在运行时进行重定向。

首先我们需要搞清楚的是,在重定向时发生了什么。Unity 系统中如何实现重定向我们无从得知,而从一段 UE4 的官方视频中,我们可以得到蛛丝马迹:重定向时,(UE4)复制了各关节的旋转角度,想来 Unity 应该也类似。这其实不难理解,因为人的骨骼关节不能位移只能旋转,所以可以忽略位移信息。同时,即使两个人的骨骼比例相差很大,如果他们的每个关节都进行了同样角度的旋转的话,那他们的身体姿势应该也是相同的。所以我们需要做的,就是在运行时,将 IKinemaMale 的各个关节的旋转角度复制到我们的模型上,我们的模型就应该和 IKinameMale 做出同样的动作。这样我们就可以在动捕中用到我们的自定义模型了。

知道了如何重定向,我们来看看在 Unity 中的实现。Unity 内部使用四元数进行旋转运算。根据上面的叙述,我们知道涉及两种运算。一种是四元数相减,即我们需要在运行时将源模型某个关节的所处角度减去该关节的初

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值