VR 手部追踪与自定义模型相结合

问题描述 投票:0回答:2

我正在开发一款VR游戏,你可以在多个角色之间进行选择,因此需要各种不同的手部模型。 目标平台是 Meta Quest 2 以及 PCVR,我想支持 Quests 手部追踪功能。

这是我想要的,下面是我到目前为止所做的:
理想情况下我可以想象它看起来像这样:

  • 有一个带有一组特定骨骼的骨架,例如
    palm
    thumbLower
    thumbUpper
    indexLower
    indexMiddle
    indexUpper
  • 该骨架有一些动画,例如
    relaxed
    fist
    indexFingerPointing
  • 我有一个脚本,它知道骨骼集和现有动画,并且可以采用任何模型,只要它具有具有完全相同命名的骨架即可。 然后,该脚本可以检查 Quest 2 手部跟踪,如果启用,则根据跟踪输入直接移动关节,否则使用任何控制器握力和触发器在
    relaxed
    (无触发器,无握力)、
    indexFingerPointing
    (无触发器)之间转换,但已按下握把)和
    fist
    (已按下扳机和握把)

这就是我所做的:
搜索 Unitys 包,我发现了

XR Interaction Toolkit
以及
XR Hands
,我分别在版本 2.3.0 和 1.1.0 中使用。
XR Hands
配有 HandVisualizer,这是一个很好的起点,但我在使用包装中附带的手模型以外的手模型时遇到了麻烦。这些是步骤:

  1. 在unity assetstore上买了一系列手模型
  2. 导入了搅拌机中
    RightHand.fbx
    包附带的
    XR Hands
    (它带有一个电枢,我猜它有一个特定的命名方案,这就是我想复制它的原因)
  3. 还从该系列中导入了其中一款模型,比如
    GlovesHandRight
  4. 删除了
    GlovesHandRight
    骨架但保留了网格并删除了
    RightHands
    网格但保留了骨架
  5. 移动了前
    RightHands
    骨架的所有骨骼以匹配
    GlovesHandRight
  6. 在对象模式下,选择
    GlovesHandRight
    ,然后选择骨架并选择“使用自动权重”

在姿势模式下,当我移动骨骼时,我可以看到网格变形。
在对象模式下,场景层次结构看起来与原始

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 个小时),非常感谢任何有关可能导致问题的输入以及如何以不同方式处理此问题的任何输入,谢谢

unity-game-engine blender
2个回答
1
投票

我发现问题很简单,搅拌机在导出到 FBX 时添加了额外的根骨骼,所以我尝试了自定义 fbx 导出器https://github.com/A-Ribeiro/CustomBlenderFBXExporter 现在我可以看到自定义的双手使用 Quest 2 手部追踪,所以我想我认为它已经解决了


0
投票

感谢您发布此内容,您能告诉我您是如何用新的替换原来的 RightHand.fbx 的吗?当我这样做时它变得不可见。

© www.soinside.com 2019 - 2024. All rights reserved.