【问题标题】:How to mimic HoloLens 2 hand tracking wIth Windows Mixed Reality controllers [MRTK2]?如何使用 Windows Mixed Reality 控制器 [MRTK2] 模拟 HoloLens 2 手部跟踪?
【发布时间】:2019-08-29 18:58:35
【问题描述】:

HoloLens 2 将具有手部跟踪功能以及伸出和 UI 元素的能力。在 Unity 和混合现实工具包 V2 中,手动跟踪近距离交互(即戳)的输入来自 PokePointer 类,并为具有 BaseNearInteractionTouchable 组件的游戏对象生成事件。

我的问题是我们如何从虚拟现实控制器(例如 Windows 混合现实控制器)获得相同的 PokePointer 事件?这将使使用 VR 耳机在桌面上进行原型制作成为可能,甚至可以直接在 VR 应用程序中使用与混合现实工具包相同的近距离交互。

可以将 PokePointer 组件附加到作为控制器模型的手部游戏对象吗?或者有没有更好的方法通过 MRTK 配置文件系统来做到这一点?

【问题讨论】:

    标签: unity3d hololens


    【解决方案1】:

    实际上,可以将戳指针和抓取指针添加到 VR 设备。事实上,无需可视化即可添加基本功能,甚至无需编写任何代码!

    让现有的抓取和戳指针与 VR 一起工作

    1. 通过在场景视图中选择 MixedRealityToolkit 对象打开您当前的指针配置文件,转到检查器窗口,然后导航到 Input -> Pointers。
    2. 在指针选项下,设置 PokePointer 和 Grab 指针的控制器类型以包括您的 VR 控制器类型(在我的例子中,它是 Windows Mixed Reality,尽管您可能希望使用 OpenVR)

    3. 戳指针被配置为跟随食指姿势,这在 VR 中不存在。因此,您需要打开PokePointer.prefab 文件并在检查器中,在 Poke Poker -> Pose Action 下,将值设置为“Pointer Pose”

    1. 点击播放。抓取指针将略低于运动控制器 Gizmo 的右侧,并且戳指针将出现在原点的右侧。

    奖励:使用自定义指针改进抓取、戳指针

    您可以通过使用自定义指针而不是默认指针来大大改进您拥有的指针。例如,您可以:

    • 通过将 PokePointer 的 raycastorigin 字段设置为自定义变换,使 poke 指针从 Gizmo 原点偏移
    • 添加视觉效果以实际显示指针的位置

    我创建了一个示例,演示了一个自定义抓取和戳指针,它显示了抓取和戳位置,并且还偏移了戳位置以更方便。您可以下载unitypackage of the sample here,或者直接克隆mrtktips repository 并查看VRGrabPokePointers 场景。

    注意:要真正显示视觉效果,请使用以下脚本(指针当前在启动时禁用所有渲染器以避免闪烁)。

    using UnityEngine;
    
    public class EnableRenderers : MonoBehaviour
    {
        void Start()
        {
            foreach (var renderer in GetComponentsInChildren<Renderer>())
            {
                renderer.enabled = true;
            }
        }
    }
    

    您可以在示例 hereVRGrabPokePointersUnity scene 中查看自定义 MRTK 和指针配置文件的示例

    【讨论】:

    • 谢谢朱莉娅!我将 Input->Pointers 设置为包括 WindowsMR 控制器 /w PokePointer 和 GrabPointer,然后制作 PokePointer 预制件的变体,并将偏移子变换作为“Poke Pointer”Raycast 原点,以便戳操作大约发生在手指的位置将是。很棒的解决方案和演练!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多