Unity 6.3
0 онлайн 76 гостей 3 в системе
Вход

XRDisplaySubsystem

класс в UnityEngine.XR

Наследуется от:IntegratedSubsystem

Выполнено в:UnityEngine.XRModule

Описание

XRDisplaySubsystem управляет отображением на дисплее с отслеживанием головы.

Полная инициализация экземпляра XRDisplaySubsystem может занять до трёх кадров. Прежде чем обращаться к методам или свойствам этого класса, следует подождать три кадра.

В следующем примере используется сопутствующая программа для ожидания трех кадров, прежде чем она установит свойства отображения подсистемы XR:

using UnityEngine;
using UnityEngine.XR;
using System.Collections;
using System.Collections.Generic;

public class FoveationStarter : MonoBehaviour { List<XRDisplaySubsystem> xrDisplays = new List<XRDisplaySubsystem>();

void Start() { StartCoroutine(WaitForXRDisplay()); }

IEnumerator WaitForXRDisplay() { yield return new WaitUntil(() => Time.frameCount >= 3);

SubsystemManager.GetSubsystems(xrDisplays); if (xrDisplays.Count == 1) { xrDisplays[0].foveatedRenderingLevel = .5f; // half strength Debug.Log($"Foveated rendering set to {xrDisplays[0].foveatedRenderingLevel}."); } else { Debug.LogWarning($"Couldn't find an XRDisplaySubsystem for foveated rendering."); } } }

Свойства

Свойство Описание
appliedViewportScaleЧасть выделенной текстуры отображения, используемая активным стереоустройством для текущего кадра.
contentProtectionEnabledЗадаёт или возвращает состояние защиты контента для текущего активного поставщика. У большинства поставщиков защита контента позволяет использовать для рендеринга текстуры только на запись. Это лишает приложения возможности читать текстуры из видеокарты и просматривать или записывать изображения, которые могут быть тем или иным образом защищены.
disableLegacyRendererОтключает устаревший рендер, пока этот XRDisplaySubsystem активен.
displayOpaqueОпределяет, имеет ли текущее подключенное устройство непрозрачный дисплей. Большинство устройств VR непрозрачны, чтобы увеличить погружение, устройства AR прозрачны, чтобы позволить взаимодействие с увеличением текущей среды.
foveatedRenderingFlagsКонтролирует необязательное поведение системы рендеринга.
foveatedRenderingLevelКонтролирует интенсивность рендеринга.
globalDynamicScaleТекущий коэффициент масштаба применяется к динамически масштабируемым текстурам глаз, когда активировано динамическое разрешение XR.
hdrOutputSettingsHDROutputSettings для подсистемы отображения XR.
occlusionMaskScaleШкала, применяемая к стандартной маске для окклюзии.
reprojectionModeВид репроекции, которую приложение требует для стабилизации своего голографического отображения относительно движения головы пользователя.
scaleOfAllRenderTargetsУправляет размером текстур, передаваемых на дисплей в качестве множителя разрешения дисплея по умолчанию.
scaleOfAllViewportsКонтролирует, какая часть выделенной текстуры экрана должна использоваться для рендеринга.
supportedTextureLayoutsУказывает все раскладки текстур, поддерживаемые этой подсистемой отображения. Это var — битовое поле, которое может быть комбинацией XRDisplaySubsystem.TextureLayout.
textureLayoutУстановить DisplaySubsystem для использования определенного расположения текстуры. Следует запросить поддерживаемое расположение текстуры через XRDisplaySubsystem.supportedTextureLayouts сначала для возможностей.
zFarУстановите DisplaySubsystem для использования zFar для отображения.
zNearУстановите DisplaySubsystem для использования zNear для отображения.

Открытые методы

Метод Описание
AddGraphicsThreadMirrorViewBlitЭта функция записывает собственное событие blit подсистемы дисплея в буфер целевой команды. Эта функция обычно вызывается скриптом конвейера отображения.
BeginRecordingIfLateLatchedЭта функция позволяет позднее зафиксировать запись постоянных буферных мест памяти, которые позднее заполняются последними данными о позе.
EndRecordingIfLateLatchedЭта функция отключает позднюю задержку записи постоянных буферных мест.
GetCullingParametersПолучает параметры отсеивания для определенного индекса пропуска отсеивания.
GetMirrorViewBlitDescПолучить дескриптор операции blit зеркального просмотра из текущей подсистемы дисплея.
GetPreferredMirrorBlitModeВозвращает предпочтительный режим зеркального блита дисплея XR.
GetRenderPassПолучает XRRenderPass определенного индекса.
GetRenderPassCountКоличество XRRenderPass записей для этого XR дисплея.
GetRenderTextureПри наличии UnityXRRenderTextureID, возвращенного IUnityXRDisplayInterface::CreateTexture, возврат управляемого экземпляра UnityEngine.RenderTexture.
GetRenderTextureForRenderPassВозвращает экземпляр RenderTexture, поддерживающий данный проход рендеринга. Если проход рендеринга неверен или текстура рендеринга не существует, возвращается null.
GetSharedDepthTextureForRenderPassВозвращает экземпляр общего буфера глубины RenderTexture, поддерживающий данный проход рендеринга. Если проход рендеринга неверен или текстура рендеринга не существует, возвращается null.
MarkTransformLateLatchedЭто помечает данные преобразования GameObject для позднего замыкания в следующем кадре. После того, как они будут помечены для позднего замыкания, преобразование GameObject и его потомки будут обновлены последними обновлениями VR перед тем, как рендеринг будет передан GPU.
ScaledTextureHeightПредоставляет текущую, масштабированную высоту текстуры рендеринга.
ScaledTextureWidthПредоставляет текущую, масштабированную ширину текстуры рендеринга.
SetFocusPlaneУстанавливается точка в пространстве 3D, которая выступает в качестве фокусной точки Scene для этого кадра. Это помогает улучшить визуальную достоверность контента вокруг этой точки. Вы должны устанавливать это значение каждый кадр. Обратите внимание, что указание контента, заблокированного телом, в фокусе улучшает достоверность контента, заблокированного телом, в ущерб контенту, не заблокированному телом. Это особенно заметно, когда пользователь перемещается.
SetMSAALevelУстанавливает уровень MSAA для текстуры рендеринга DisplaySubsystem.
SetPreferredMirrorBlitModeПереопределить предпочтительный режим зеркального блеска дисплея XR из скрипта.
TryGetAppGPUTimeLastFrameПолучает время, затраченное GPU на выполнение команд из последнего кадра приложения, как сообщено плагином XR. Измеряется в секундах.
TryGetCompositorGPUTimeLastFrameПолучает количество времени, которое GPU потратил на выполнение рендеринга композитора в течение последнего кадра, как сообщено плагином XR. Измеряется в секундах.
TryGetDisplayRefreshRateПолучает частоту обновления дисплея, как сообщено плагином XR.
TryGetDroppedFrameCountПолучает число отброшенных кадров, сообщенных плагином XR.
TryGetFramePresentCountПолучает число раз, когда текущий кадр был нарисован на устройство, как сообщено плагином XR.
TryGetMotionToPhotonПолучает значение движения к фотону, как сообщено XR Плагин.

Мероприятия

Мероприятие Описание
displayFocusChangedСобытие отправляется при изменении фокуса дисплея XR.
Унаследованные члены 2

Свойства

СвойствоОписание
runningЗапускается ли подсистема.

Открытые методы

МетодОписание
DestroyУничтожает данный экземпляр подсистемы.
StartЗапуск экземпляра подсистемы.
StopОстановка экземпляра подсистемы.