unity3d VR手部跟踪与定制模型相结合

pjngdqdw  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(165)

我正在开发一款VR游戏,您可以在多个角色之间进行选择,因此需要各种不同的手部模型。目标平台是 metaQuest 2以及PCVR,我希望支持任务手部跟踪功能。
这是我想要的,下面是我到目前为止所做的:
理想情况下,我可以想象它看起来像这样:

  • 有一个特定的骨骼 backbone ,如palmthumbLowerthumbUpperindexLowerindexMiddleindexUpper
  • 有几个动画的电枢,如relaxedfistindexFingerPointing
  • 我有一个脚本,知道的骨骼集和现有的动画,并可以在任何模型,只要它有一个电枢与完全相同的命名。脚本可以然后检查任务2手跟踪,如果启用移动关节直接根据跟踪输入,否则使用任何控制器的抓地力和触发器之间的过渡relaxed(无触发器,无握把)、indexFingerPointing(无触发器,但按下握把)和fist(触发器和握把按下)

我是这么做的:
搜索Unitys软件包,我发现了XR Interaction ToolkitXR Hands,我分别在2.3.0和1.1.0版本中使用。
XR Hands附带一个HandVisualizer,这是一个很好的起点,但我在使用软件包附带的手模型以外的手模型时遇到了麻烦。以下是步骤:
1.在Unity资产商店买了一系列的手模型
1.导入了blender中附带的XR Hands包的RightHand.fbx(它附带了一个电枢,我猜它有一个特定的命名方案,这就是为什么我想复制它)
1.我还从集合中导入了一个模型,例如GlovesHandRight
1.删除GlovesHandRight电枢但保留网格,删除RightHands网格但保留电枢
1.已移动前RightHands backbone 的所有骨骼以匹配GlovesHandRight
1.在对象模式下,选择GlovesHandRight,然后选择 backbone 并选择“使用自动权重”
在姿势模式下,当我移动骨骼时,我可以看到网格变形。
在对象模式下,场景层次结构看起来与原始RightHand.fbx文件中完全相同
将文件导出到FBX并将其与HandVisualizer脚本一起使用而不是原始的RightHand.fbx后,我得到错误消息:

Hand transform hierarchy not set correctly - couldn't find Wrist joint!
Hand transform hierarchy not set correctly - couldn't find ThumbMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find IndexMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find MiddleMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find RingMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find LittleMetacarpal joint!
all at
UnityEngine.XR.Hands.Samples.VisualizerSample.HandVisualizer:Update () (at Assets/Samples/XR Hands/1.1.0/HandVisualizer/Scripts/HandVisualizer.cs:144)

由于我是一个新手搅拌机(这就是为什么上述花了我喜欢3个小时)任何输入关于什么可能导致的问题是非常赞赏以及任何输入如何处理这个问题的不同,谢谢

50few1ms

50few1ms1#

我发现这个问题仅仅是搅拌机在导出到FBX时添加了一个额外的根骨,所以我尝试了自定义fbx导出器https://github.com/A-Ribeiro/CustomBlenderFBXExporter,现在我可以看到自定义手与Quest 2手跟踪一起工作,所以我想我认为它解决了

相关问题