OpenXRSpatialCapabilityConfigurationQrCode
Конфигурация QR-code tracking.
Конфигурация для CreateSpatialContext, а не сама обнаруженная Entity, tracker или разрешение ОС. Требуется поддержанная capability в работающей OpenXR-сессии. Успешный constructor и выбранный dictionary не означают, что устройство умеет обнаруживать этот тип. HasValidConfiguration проверяет текущую пригодность; context создаётся отдельно асинхронно.
GetConfiguration возвращает borrowed native pointer; не подставляйте его вместо RID и не сохраняйте после lifetime ресурса. GetEnabledComponents читает выбранный список, который может быть пуст до построения конфигурации. Само чтение не получает данные комнаты/маркера.
Source observation: повторный поддержанный GetConfiguration добавляет Marker/Bounded2D без очистки списка и может создать дубли. Создавайте свежий configuration для нового context; не вызывайте native getter многократно ради диагностики. С поддержанной сессией это не воспроизводилось.
Настройка spatial entities. На Windows XR-off выполнены 12 проверок неактивных конфигураций и dictionary metadata. Реальные headers/context/discovery, смена сессии и шлем не проверены. Движок не менялся.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRSpatialCapabilityConfigurationQrCodeКонструктор
public OpenXRSpatialCapabilityConfigurationQrCode();Создаёт принадлежащую вызывающему RefCounted конфигурацию, не capability singleton и не context. Constructor не запускает OpenXR, detector или запросы. До поддержанного GetConfiguration список компонентов пуст; держите ресурс живым при native использовании. Собственный экземпляр можно Dispose после завершения использования и удаления ссылок; engine-owned конфигурацию не освобождайте.
Методы1
GetEnabledComponentslong[]
public long[] GetEnabledComponents();Копия сохранённого списка component types как long[], не payload маркера. Поддержанный GetConfiguration добавляет Marker и Bounded2D; до него список пуст. В текущих исходниках marker implementations добавляют элементы без очистки при повторном вызове — возможны дубли. Активный случай не воспроизводился; создавайте свежую configuration для нового context вместо повторного диагностического GetConfiguration.
long[]Копия сохранённого списка component types как long[], не payload маркера. Поддержанный GetConfiguration добавляет Marker и Bounded2D; до него список пуст. В текущих исходниках marker implementations добавляют элементы без очистки при повторном вызове — возможны дубли. Активный случай не воспроизводился; создавайте свежую configuration для нового context вместо повторного диагностического GetConfiguration.