如何使用MRTK为HoloLens 1添加基本的近距离交互?

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

可能与 如何在HoloLens 1上模拟手射线?

我想使用HoloLens 1设备来模拟HoloLens 2提供的基本近距离交互。

具体来说,我如何才能执行以下映射。

  1. 在 "Ready "手势中使用手部位置来控制PokePointer?
  2. 在 "点住 "手势中使用手部位置来控制GrabPointer?

由于HL1没有跟踪手的方向,我希望这些需要类似于手射线的例子来估计。

我曾尝试按照上面的答案创建一个自定义指针,据我所知,它对手射线有效,但对pokegrab无效。

我也根据示例为WMR控制器创建了一个自定义poke指针,地址是 如何模仿HoloLens 2手部追踪与Windows混合现实控制器[MRTK2]?我在使用HoloLens 2时,用同样的方式将其分配给GGV控制器,但不知为何,手似乎没有被检测到戳(或抓),只有手部射线。

(我使用抓取姿势,因为HL1在Ready手势中似乎不会返回食指姿势,而且指针姿势似乎是指HL1的凝视指针)

c# unity3d hololens mrtk windows-mixed-reality
1个回答
0
投票

好的。

万一有人想在HoloLens 1上获得近似的交互,我最终是这样实现的。

  1. 创建一个自定义输入配置文件
  2. 基于PokePointer,为HL1的GGV(Gaze-Gesture-Voice)控制器创建一个自定义的poke指针组件,并进行以下修改。
    • 使用基本控制器组件中的(grip)位置来代替凝视位置。
    • 从位置计算旋转(如手射线的例子,使用头部位置插值)。
    • updateEnabled 切换为不检查手的启用情况,因为GGV在准备期间总是返回false。
    • 确保从PokePointer继承(需要用于只允许从PokePointer或派生类进行近距离交互的事件处理程序)。
  3. 创建一个使用自定义指针组件的自定义指针预制件。
  4. 更新指针部分,使用自定义指针。
  5. 修改按钮只需要接近,而不需要从前面推,因为在HoloLens 1上推的方向不可靠。
© www.soinside.com 2019 - 2024. All rights reserved.