OpenXRAnchorTracker
Трекер якоря с metadata persistence UUID.
Spatial tracker якоря. Uuid читается как 32 hex символа без дефисов или пустая строка. HasUuid проверяет ненулевые bytes, а не persistence store. Ручной SetUuid не создаёт, не сохраняет и не восстанавливает реальную привязку. Используйте UUID из успешного PersistAnchor или обнаруженного persistent anchor.
Храните UUID вместе с данными своего содержимого. Для удаления сначала успешно UnpersistAnchor, затем RemoveAnchor; удаление XRAnchor3D убирает только представление. Унаследованные состояния/pose также нужно проверять.
Рабочий пример и настройка. Проверены synthetic metadata и клиентская логика в Windows headless XR-off: 23 API случая и ранее 20 проверок helper. Реальное обнаружение, entity/context RID, persistence, шлем и изображение не проверены. Provider-owned tracker/pose/кешированные обёртки не освобождайте; собственный новый tracker допускает Dispose после завершения использования.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRAnchorTrackerКонструктор
public OpenXRAnchorTracker();Создаёт принадлежащий вызывающему RefCounted tracker без запуска OpenXR, регистрации в XRServer или обнаружения. Базовое состояние Paused, категория Anchor; Entity/context RID пусты. Для реального приложения обычно используйте заимствованный tracker, зарегистрированный provider, а не synthetic ресурс. Собственный экземпляр освобождайте после удаления своих ссылок/регистрации.
Свойства1
UuidСвойство
public string Uuid { get; set; }UUID metadata сохранённого якоря: 32 шестнадцатеричных символа без дефисов, getter использует нижний регистр; отсутствие UUID — пустая строка. Setter только меняет metadata и UuidChanged, не сохраняет/не восстанавливает привязку. Используйте значение успешного PersistAnchor/обнаружения. Вход валидируйте самостоятельно: native parser предупреждает о неверном формате, но не обеспечивает строгий отказ.
Методы3
GetUuidstring
public string GetUuid();UUID metadata сохранённого якоря: 32 шестнадцатеричных символа без дефисов, getter использует нижний регистр; отсутствие UUID — пустая строка. Setter только меняет metadata и UuidChanged, не сохраняет/не восстанавливает привязку. Используйте значение успешного PersistAnchor/обнаружения. Вход валидируйте самостоятельно: native parser предупреждает о неверном формате, но не обеспечивает строгий отказ.
stringUUID metadata сохранённого якоря: 32 шестнадцатеричных символа без дефисов, getter использует нижний регистр; отсутствие UUID — пустая строка. Setter только меняет metadata и UuidChanged, не сохраняет/не восстанавливает привязку. Используйте значение успешного PersistAnchor/обнаружения. Вход валидируйте самостоятельно: native parser предупреждает о неверном формате, но не обеспечивает строгий отказ.
HasUuidbool
public bool HasUuid();True, если хотя бы один байт хранимого UUID ненулевой. Изначально false. Не проверяет наличие записи в persistence store, текущее tracking или успешность восстановления; вручную назначенный UUID тоже даёт true.
boolTrue, если хотя бы один байт хранимого UUID ненулевой. Изначально false. Не проверяет наличие записи в persistence store, текущее tracking или успешность восстановления; вручную назначенный UUID тоже даёт true.
SetUuidvoid
public void SetUuid(string uuid);UUID metadata сохранённого якоря: 32 шестнадцатеричных символа без дефисов, getter использует нижний регистр; отсутствие UUID — пустая строка. Setter только меняет metadata и UuidChanged, не сохраняет/не восстанавливает привязку. Используйте значение успешного PersistAnchor/обнаружения. Вход валидируйте самостоятельно: native parser предупреждает о неверном формате, но не обеспечивает строгий отказ.
| Имя | Тип | По умолчанию |
|---|---|---|
uuid | string | — |
uuidUUID metadata сохранённого якоря: 32 шестнадцатеричных символа без дефисов, getter использует нижний регистр; отсутствие UUID — пустая строка. Setter только меняет metadata и UuidChanged, не сохраняет/не восстанавливает привязку. Используйте значение успешного PersistAnchor/обнаружения. Вход валидируйте самостоятельно: native parser предупреждает о неверном формате, но не обеспечивает строгий отказ.
Сигналы и события1
UuidChangedСобытие
public event Action UuidChanged;Сигнал изменения хранимых UUID bytes, в том числе при очистке. Равное значение не испускает сигнал. Проверьте HasUuid и состояние операции: сам сигнал не подтверждает сохранение в runtime store.