所有模型手都可以替换,需要先在MAYA按照leapmotion的骨骼进行蒙皮,然后再放到场景里,挂上相应的代码

2023年11月13日更新:

注意!随着VR时代的发展Leapmotion已完全弃用,也没有任何技术参考价值。

尤其是在校大学生或研究生,请务必改用Quest或Pico的手势追踪来进行学术研究,切勿因实验室只有Leapmotion而继续使用,以免浪费自己的时间。

已完成的手部模型,可用Leapmotion。


准备材料:

①Unity可用的第三方手部模型,我这里也有链接:

也可以用你们自己下载的模型,会有一些小出入,需要你们随机应变了

②在能被Leapmotion控制的Rigged Hands场景。

unity代码替换blendtree clip unity如何替换模型_unity

过程:

1、新建一个场景,把Rigged Hands里的Leap Rig复制到你的新场景里,把手部模型复制到你的新场景里。(我这里以右手为示例)

unity代码替换blendtree clip unity如何替换模型_unity3d_02

2、调整手部父子关系为如图所示,首先就是把这个仿真右手放进HandModels里,然后调整结构如我上面已经调好的左手。

unity代码替换blendtree clip unity如何替换模型_ci_03

unity代码替换blendtree clip unity如何替换模型_ci_04

3、在以下视图下,调节好之后,其中Foreamrm为空物体,需要调整其坐标到手腕处。(根据下图对比可看到位置的区别)

unity代码替换blendtree clip unity如何替换模型_unity3d_05

unity代码替换blendtree clip unity如何替换模型_技术参考_06

unity代码替换blendtree clip unity如何替换模型_技术参考_07

4、完成调整结构以后,我们开始对脚本进行操作,首先为5个手指的图中节点加入Rigged Finger脚本。

unity代码替换blendtree clip unity如何替换模型_unity3d_08

5、对刚才的5个手指分别把指关节挂在脚本对应位置,同时修改Finger Type为对应手指(little手指就是Pinky),其中thumb(大拇指)关节少挂一个,如下下图所示。

unity代码替换blendtree clip unity如何替换模型_技术参考_09

unity代码替换blendtree clip unity如何替换模型_unity3d_10

6、每个手指挂好以后,在右手的父节点这里删掉原有的两个动画脚本,挂上RiggedHand脚本和Hand EnableDisable(检测不到就消失用的)。其中RiggedHand脚本需要大量的把手关节挂上去,耐心点,按照如图所示。(挂上去后手部会变形,别管先)

unity代码替换blendtree clip unity如何替换模型_技术参考_11

7、把Leapmotion控制的右手改成你的。

unity代码替换blendtree clip unity如何替换模型_父节点_12

8、把手指的这个属性改成我这个,变形就正常了一些了。(其中thumb指,Model Palm Facing需要调整成 -1 0 -1)

unity代码替换blendtree clip unity如何替换模型_技术参考_13

9、此时,index_bone等关节是无法移动了,但是Foreamrm是可以移动的,此时我们调整其坐标,使得其手臂位置正确。

unity代码替换blendtree clip unity如何替换模型_父节点_14

10、这时候就完成了,可以用leapmotion追踪该手部啦。