在上一篇教程:VRIK+Unity XR Interaction Toolkit 配置 VR 全身模型(上):实现上半身的追踪(附带VRM模型导入Unity方法和手腕扭曲的解决方法)当中,我们通过配置VRIK + Unity XR Interaction Toolkit 实现了 VR 全身模型上半身的追踪。这篇教程,我将介绍如何实现腿部行走的动画。
实际上,当你按着上一篇教程配置过后,角色已经可以行走了,但是走路的姿势非常怪异,角色
看上去像是被拖着走。
因此,我们需要优化一下走路的表现形式。方法很简单,我们找到挂载到角色模型上的 VRIK 组件,在 Locomotion 中将 Mode 由原来的 Procedural 改为 Animated
原来的 VRIK 组件 (Procedural):
修改后的 VRIK 组件 (Animated):
如果 Locomotion mode 为 Procedural,腿部的动作姿态会由程序自己计算出来。虽然我们也可以调整其中的一些参数,但是想要调出比较好的效果还是比较困难的。
如果 Locomotion mode 为 Animated,腿部的运动姿态会由 Unity 的 Animator 控制。因此,我们现在还需要为角色模型的 Animator 组件添加 Anmiation Controller,来控制行走时播放什么动画。Final IK 已经为我们提供了一个现成的 Anmiation Controller,名字叫做 VRIK Animated Locomotion,可以直接搜索找到。
角色的行走速度可以通过调整 Min Animation Speed 进行修改。
现在,我们可以运行程序,角色模型的走路姿势就比之前正常多了。
⭐ 总结一下设置 VRIK 全身模型的大致步骤:
- 给角色模型添加 VRIK 组件
- 将模型的头部和手部的复制体作为 VR 追踪目标的子物体
- 将上一步中的复制体作为 VRIK 组件的 IK Targets
- 调整 IK Targets 的位置和旋转角度
- 在模型手部节点的前一个节点(一般是前臂)配置 Twist Relaxer 组件,解决手腕扭曲的问题
- 将 VRIK 组件中的 Locomotion mode 设为 Animated,调整参数,并且在模型的 Animator 中添加 Animation Controller