你如何检测你的混合现实应用是在 HoloLens 1、HoloLens 2 还是沉浸式耳机上运行?

Loc*_*ost 3 hololens mrtk

混合现实应用程序很快可以在三种设备上运行:HoloLens 1、Hololens 2 和沉浸式 (VR) 耳机。根据您运行应用程序的设备类型,某些行为可能会有所不同。我如何向 SDK 询问我的应用程序当前在哪种设备上运行?

Jul*_*arz 6

如果您正在使用 MRTK(我注意到您可能基于您的标签),那么最好的方法是使用平台功能实用程序,因为这将在新设备问世和跨平台时起作用。例如,您可以检查“我的设备是否支持铰接手?”,而不是检查“在 HoloLens 2 上打开”。这将适用于支持铰接手的其他平台。例如,请查看MixedRealityToolkit.Examples/Demos/Utilities/Scenes/MixedRealityCapabilityDemo.unityMRTK 示例。

如果您现在需要一个临时解决方案来区分 WMR 与 HL1 和 HL2,您可以使用以下代码。请注意,它仅适用于 Windows:

using Windows.Security.ExchangeActiveSyncProvisioning;

EasClientDeviceInformation CurrentInfo = new EasClientDeviceInformation();
string sku = CurrentInfo.SystemSku;
Run Code Online (Sandbox Code Playgroud)

HoloLens 1、HoloLens 2 和沉浸式耳机都应返回不同的字符串。

2020 年 6 月 5 日编辑:

也可以按如下方式检查运行时平台:

if (Application.platform == RuntimePlatform.WSAPlayerARM)
{
     // Running HoloLens 2, most likely.
}
Run Code Online (Sandbox Code Playgroud)