XRSettings.LoadDeviceByName

切换到手册
public static void LoadDeviceByName (string deviceName);
public static void LoadDeviceByName (string[] prioritizedDeviceNameList);

参数

deviceName来自 XRSettings.supportedDevices 的设备的名称。
prioritizedDeviceNameList来自 XRSettings.supportedDevices 的设备名称的优先级列表。

描述

在下一帧开始时加载请求的设备。

可以从 XRSettings.supportedDevices 中获取可传递给此函数的受支持设备的列表。

为了检查是否成功,请在下一帧上检查 XRSettings.loadedDeviceName

此函数将尝试仅初始化传入的设备,它不会回退到 XRSettings.supportedDevices 列表中的其他设备。您可以传递一个值列表,以在失败时回退到其他设备。如果没有设备可以进行初始化,此函数将作为空字符串回退到 XRSettings.loadedDeviceName 并将 XRSettings.enabled 设置为 false。

您可以通过加载空字符串 deviceName 来禁用 XR。

加载设备后,您可能希望使用 XRSettings.enabled 启用该设备。

注意:某些 VR 设备在已经处于活动状态时不支持重新加载。请务必检查当前加载的设备,然后仅加载新设备(若设备不同)。

// Run in split-screen mode
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.XR;

public class ExampleClass : MonoBehaviour { void Start() { StartCoroutine(LoadDevice("Split")); }

IEnumerator LoadDevice(string newDevice) { if (String.Compare(XRSettings.loadedDeviceName, newDevice, true) != 0) { XRSettings.LoadDeviceByName(newDevice); yield return null; XRSettings.enabled = true; } } }