OpenXRSpatialCapabilityConfigurationBaseHeader
Основа native spatial capability configuration.
Конфигурация для CreateSpatialContext, а не сама обнаруженная Entity, tracker или разрешение ОС. Требуется поддержанная capability в работающей OpenXR-сессии. Успешный constructor и выбранный dictionary не означают, что устройство умеет обнаруживать этот тип. HasValidConfiguration проверяет текущую пригодность; context создаётся отдельно асинхронно.
GetConfiguration возвращает borrowed native pointer; не подставляйте его вместо RID и не сохраняйте после lifetime ресурса. GetEnabledComponents читает выбранный список, который может быть пуст до построения конфигурации. Само чтение не получает данные комнаты/маркера.
Базовый класс без override возвращает false/0. Для обычной интеграции используйте конкретные готовые классы; custom native layout/lifetime здесь не проверены.
Настройка spatial entities. На Windows XR-off выполнены 12 проверок неактивных конфигураций и dictionary metadata. Реальные headers/context/discovery, смена сессии и шлем не проверены. Движок не менялся.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRSpatialCapabilityConfigurationBaseHeaderКонструктор
public OpenXRSpatialCapabilityConfigurationBaseHeader();Создаёт принадлежащую вызывающему RefCounted конфигурацию, не capability singleton и не context. Constructor не запускает OpenXR, detector или запросы. До поддержанного GetConfiguration список компонентов пуст; держите ресурс живым при native использовании. Собственный экземпляр можно Dispose после завершения использования и удаления ссылок; engine-owned конфигурацию не освобождайте.
Методы4
GetConfigurationulong
public ulong GetConfiguration();Возвращает адрес native configuration header как ulong либо 0, если конфигурация не поддержана/не реализована. Это borrowed pointer, не RID: удерживайте configuration и его внутренние buffers живыми на время native использования, не освобождайте адрес самостоятельно. Метод конкретного класса может построить/изменить component list. Сам не создаёт context; CreateSpatialContext вызывает его отдельно.
ulongВозвращает адрес native configuration header как ulong либо 0, если конфигурация не поддержана/не реализована. Это borrowed pointer, не RID: удерживайте configuration и его внутренние buffers живыми на время native использования, не освобождайте адрес самостоятельно. Метод конкретного класса может построить/изменить component list. Сам не создаёт context; CreateSpatialContext вызывает его отдельно.
HasValidConfigurationbool
public bool HasValidConfiguration();Проверяет пригодность конкретной конфигурации через текущую capability; базовая реализация без override возвращает false. Это не запуск detector, не результат создания spatial context и не обещание данных. Вызывайте после старта нужной сессии на актуальном configuration instance.
boolПроверяет пригодность конкретной конфигурации через текущую capability; базовая реализация без override возвращает false. Это не запуск detector, не результат создания spatial context и не обещание данных. Вызывайте после старта нужной сессии на актуальном configuration instance.
_GetConfigurationulong
public virtual ulong _GetConfiguration();Backend virtual getter native configuration header. Возвращаемый ulong обязан указывать на корректную живую OpenXR структуру и component buffers; 0 означает отсутствие реализации. Не возвращайте выдуманный адрес/RID или временную managed память. Предпочитайте готовый конкретный configuration class.
ulongBackend virtual getter native configuration header. Возвращаемый ulong обязан указывать на корректную живую OpenXR структуру и component buffers; 0 означает отсутствие реализации. Не возвращайте выдуманный адрес/RID или временную managed память. Предпочитайте готовый конкретный configuration class.
_HasValidConfigurationbool
public virtual bool _HasValidConfiguration();Виртуальная точка backend-проверки custom configuration. Верните true только при наличии нужной runtime capability и корректных данных header. Без override false; само наличие C# класса не даёт поддержку. Custom активная реализация здесь не выполнялась.
boolВиртуальная точка backend-проверки custom configuration. Верните true только при наличии нужной runtime capability и корректных данных header. Без override false; само наличие C# класса не даёт поддержку. Custom активная реализация здесь не выполнялась.