我在 Unity 中使用了一个人形 NPC,使用了动画 rigging 包中的 IK(.inverse kinematics)来控制手和脚的动作。我的目标是动态调整 NPC 的姿势,以便它可以与场景中的不同对象进行交互。我的做法是将 NPC 移动到游戏对象上,并添加 IK 锚点,这些锚点将作为 NPC 匹配姿势的参考。然而,这种方法的缺点是,我几乎完全是在猜测 IK 的旋转角度,且肘部/膝盖可能会弯曲得不正确。
我还尝试了手动编辑骨骼,保存姿势到 JSON 文件,然后在触发器上加载,但这只持续了一帧,因为 IK 立即覆盖了姿势。
最后,我尝试了使用动画片段,但这不允许编辑单独的骨骼,只能编辑 IK 目标,这也会遇到相同的问题,即很难获得正确的方向。
由于我不知道将使用哪些对象,因此尚未从 Blender 中烘焙任何姿势/动画。
我希望能得到一些关于正确的工作流程和需要研究的内容的指引。
例如,在游戏模式下,我按下一个调试按钮将 NPC teleport 到一张桌子上。如果使用 IK 方法,通过代码进行姿势调整就变得很困难。如果我手动编辑骨骼以获得正确的姿势,我却没有找到一种方法来重新启用 IK 而不失去姿势。
评论 (0)