首页 > 解决方案 > 如何将我的 HoloLens 应用程序的点击手势转换为我的桌面应用程序的鼠标单击?

问题描述

我已经开发了一个 HoloLens 应用程序,它涉及到诸如点击、捏合和拖动等手势的使用。我现在想在我的桌面上使用与 Windows 桌面应用程序相同的应用程序。如何确保在 HoloLens 应用程序上的点击与在 Windows 桌面应用程序上的鼠标单击相同,并且捏和拖动与单击、按住和拖动相同?

起初,我使用 UWP 平台构建应用程序,然后在 Visual Studio 上构建并部署它。这样做时,会生成一个 .exe 文件,并要求我设置混合现实门户并使用耳机以使用该应用程序。但是,使用耳机会破坏我的 Windows 桌面应用程序的用途。然后我使用 PC、Mac 和 Linux 独立平台来构建和创建应用程序。但是,为了构建应用程序,我不得不注释掉我的所有脚本,因为gestureRecognizer 和 PhotoCapture 引起了问题。然后我添加了两个脚本,以便将鼠标用作相机。那工作正常。有没有办法使用鼠标进行点击?比如click应该和tap和click一样,hold,drag应该和pinch and drag一样?

using UnityEngine.XR.WSA.Input;
using UnityEngine.XR.WSA.Webcam;

Assets\Sphere.cs(7,26):错误 CS0234:命名空间“UnityEngine.XR.WSA”中不存在类型或命名空间名称“WebCam”(您是否缺少程序集引用?)

Assets\Sphere.cs(4,26):错误 CS0234:命名空间“UnityEngine.XR.WSA”中不存在类型或命名空间名称“Input”(您是否缺少程序集引用?)

我在尝试在 UWP 平台上构建它时收到这些错误。我只在选择为 PC 构建它时收到这些错误。它适用于 HoloLens。

标签: c#unity3dhololens

解决方案


起初,我使用 UWP 平台构建应用程序,然后在 Visual Studio 上构建并部署它。这样做时,将生成一个 .exe 文件,并要求我设置混合现实门户并使用耳机以使用该应用程序。但是,使用耳机会破坏我的 Windows 桌面应用程序的用途。

要创建标准的非 XR 应用程序,您需要进入项目设置 > 播放器设置 > UWP 选项卡(蓝色 Windows 徽标)> XR 设置并取消选中“支持虚拟现实”选项。

至于接收鼠标输入,您可以在此处查看使用 IPointerClickHandler:https ://docs.unity3d.com/ScriptReference/EventSystems.IPointerClickHandler.html


推荐阅读