如何使用 Unity 和 MRTK3 将手部网格添加到 Hololens 2 应用程序

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

我在 Unity 中有一个使用 MRTK3 的 Hololens 2 项目,我正在尝试将可视化工具添加到我的手中,但找不到任何教程或解释如何执行此操作。

我尝试将 RiggedHandVisualizer.cs 脚本添加到 MRTK XR Rig 内的手中,但似乎没有执行任何操作,我无法弄清楚如何配置此脚本以及如何使其工作。在 MRTK2 中,我看到您可以启用/禁用手网格,也许在 MRTK3 中是这样的选项,但我看不到它。我尝试在 Hololens 上部署应用程序,希望它仅当应用程序在耳机上运行时才能工作,但手网格仍然丢失。

c# unity-game-engine augmented-reality hololens mrtk
1个回答
0
投票

您正走在正确的轨道上,

RiggedHandVisualizer
。看起来他们故意试图避免在光学透视设备上进行可视化,这确实有道理,因为你的实际双手和可视化之间的轻微延迟可能会令人不安。无论如何,如果你想玩一玩或者确实需要可视化,可以按照以下方法进行:

以虚拟手的形式可视化您的整只手

  1. 假设您正在使用 MRTK XR Rig,请转到: 场景层次结构中的MRTK XR Rig - 相机偏移 - MRTK LeftHand Controller/MRTK RightHandController
  2. XRController
     组件上,向下滚动到部分 
    Model
  3. ModelPrefab
    下,您将看到已经分配的变换,例如
    openxr_right_hand
    。如果有兴趣,可以看一下。它附有 
    RiggedHandMeshVisualizer
     组件。您可以看到默认情况下
    ShowHandsOnTransparent
    被禁用,这会影响HL2
  4. 您不能/不应该修改它,因为它位于
  5. readonly 文件夹中。但是,您可以复制预制件并将其分配到 XRController
     组件上。在该预制件上,确保勾选 
    ShowHandsOnTransparent
    
    

可视化手关节

    要可视化手上的关节,请在场景中的某处添加
  1. HandJointVisualizer
     脚本,例如在您的手持控制器上
  2. 将简单的
  3. cube 网格指定为 JointMesh
    ,例如MRTK 提供的 
    HandJointMaterial
     作为 
    JointMaterial
    
    
© www.soinside.com 2019 - 2024. All rights reserved.