Объявление
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.
Вы можете отключить XR, загрузив пустую строку deviceName.
После загрузки устройства вы можете включить его с помощью XRSettings.enabled.
Примечание. Некоторые устройства виртуальной реальности не поддерживают перезагрузку, если они уже активны. Обязательно проверьте текущее загруженное устройство и загрузите новое устройство, только если оно отличается.
// Запуск в режиме разделенного экрана
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;
}
}
}