【问题标题】:How can I convert a tap gesture for my HoloLens App to a mouse click for my Desktop App?如何将我的 HoloLens 应用程序的点击手势转换为我的桌面应用程序的鼠标单击?
【发布时间】:2019-06-27 05:41:02
【问题描述】:

我已经开发了一个 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”中不存在“输入”(您是 缺少程序集引用?)

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

【问题讨论】:

  • 您能添加您的代码吗?您使用的是哪个 MR 工具包?无论如何,这应该由 MR Toolkit 处理...

标签: c# unity3d hololens


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    相关资源
    最近更新 更多