我正在寻找一种方法来检测我的 VR 应用程序中使用的耳机名称。为了实现不同的控制器网格/皮肤,我需要区分 Quest 1 和 2。我在这里搜索过,这与Unity 中的 Detect Oculus Quest 1 & 2 Headsets类似,但使用安装了 XR 交互工具包时不可用的 OVRPlugin(是吗?)任何帮助将不胜感激。
编辑:或者这个?:https ://docs.unity3d.com/ScriptReference/SystemInfo.html
我正在寻找一种方法来检测我的 VR 应用程序中使用的耳机名称。为了实现不同的控制器网格/皮肤,我需要区分 Quest 1 和 2。我在这里搜索过,这与Unity 中的 Detect Oculus Quest 1 & 2 Headsets类似,但使用安装了 XR 交互工具包时不可用的 OVRPlugin(是吗?)任何帮助将不胜感激。
编辑:或者这个?:https ://docs.unity3d.com/ScriptReference/SystemInfo.html
我有一个类似的问题。我想检查 Quest 2 是绑定的还是独立的。我做了这样的事情。我相信您可以在您的 Quest 1 设备上运行它并进行调整以在该设备上执行必要的操作。
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;
public class CheckDeviceType : MonoBehaviour
{
void Start()
{
Debug.Log("operatingSystem: " + SystemInfo.operatingSystem);
Debug.Log("deviceModel: " + SystemInfo.deviceModel);
Debug.Log("deviceName: " + SystemInfo.deviceName);
Debug.Log("deviceType: " + SystemInfo.deviceType);
Debug.Log("platform: " + Application.platform);
var devices = new List<InputDevice>();
InputDevices.GetDevices(devices) ;
foreach (var device in devices)
{
Debug.Log("Device connected: " +device.name);
}
if (SystemInfo.deviceName == "Oculus Quest 2")
DoNeededCode(); // Standalone Quest 2
}
}
Android Studio Logcat 中 Quest 2 独立的输出将如下所示:
I/Unity: operatingSystem: Android OS 10 / API-29 (QQ3A.200805.001/19130100154900000)
I/Unity: deviceModel: Oculus Quest
I/Unity: deviceName: Oculus Quest 2
I/Unity: deviceType: Handheld
I/Unity: platform: Android
I/Unity: Device connected: Oculus Quest
I/Unity: Device connected: Oculus Touch Controller - Left
I/Unity: Device connected: Oculus Touch Controller - Right
在 Windows 上的 Unity 编辑器中是这样的: