使用 unity 制作的 HoloLens2 应用程序抛出异常 "Could not create a device for ''Hand - Right (XRInputV1)"

HoloLens2 Application made with unity throws Exception "Could not create a device for ''Hand - Right (XRInputV1)"

自从我将 HoloLens2 Unity 项目更新为 Unity 2020.3 后,我部署的 HoloLens2 应用程序(在 Unity Editor 中它们从未发生过)总是抛出以下异常:

Could not create a device for 'Hand - Right (XRInputV1)'
(Exception: System.ArgumentException: Expected control positionAccuracy to be of type 'AxisControl' but is of type 'IntegerControl' instead;)
at UnityEngine.InputSystem.InputControll

Could not create a device for 'Hand - Left (XRInputV1)'
(Exception: System.ArgumentException: Expected control positionAccuracy to be of type 'AxisControl' but is of type 'IntegerControl' instead;)
at UnityEngine.InputSystem.InputControll

有人知道如何摆脱这些异常吗?

我正在使用 MixedRealityToolkit 2.7.3 HoloLens2 默认配置,并在 Unity 版本 2020.3.8、2020.3.22 和 2020.3.26 中注意到这个问题。

首先,请仔细检查 MRTK 输入配置文件设置。您可以在 Unity 菜单中轻松配置项目:Mixed Reality > Toolkit > Utilities > Configure Project for MRTK

然后,请检查您的 XR 设置,因为您使用的是 Unity 2020.x,您可以使用 OpenXR 插件,请参阅 Choosing an XR configuration

如果问题依然存在,也可能是您的手控代码问题。这是与您的相同例外情况的讨论,请参阅 WikkidEdd 在此 github issue 中的回复。在他们的情况下,他们需要使用 IntegerControl 而不是 AxisControl.

好的,我通过更新到 OpenXR 插件修复了 Error-Problem。它基本上解决了我目前在项目中遇到的所有问题。巧合的是,我在从 Github.

下载此 sample-project 时偶然发现了该插件作为 tarball 文件

我希望找到一个地方,在那里我可以通过 Microsoft FeatureTool 在一个地方手动下载所有可以安装的插件!也许有一天它会存在。 :)