reckfellENGINE

OpenXRMarkerTracker

Тип, размер, ID и нагрузка обнаруженного маркера.

На этой странице
class OpenXRMarkerTrackerReckfellSharpНаследует OpenXRSpatialEntityTracker

Spatial tracker обнаруженного маркера. MarkerType определяет трактовку данных: QR/Micro QR используют строку или bytes, ArUco/AprilTag — тип, словарь и MarkerId. BoundsSize и payload не подтверждают валидную pose: проверяйте унаследованные tracking state и default pose.

Setter меняет только metadata, не распознаёт изображение и не включает камеру. Сопоставляйте содержимое с разрешёнными идентификаторами приложения. Все типы кодов на каждом runtime не гарантированы.

Рабочий пример и настройка. Проверены 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

OpenXRMarkerTrackerКонструктор
# OpenXRMarkerTracker
C#
public OpenXRMarkerTracker();

Создаёт принадлежащий вызывающему RefCounted tracker без запуска OpenXR, регистрации в XRServer или обнаружения. Базовое состояние Paused, категория Anchor; Entity/context RID пусты. Для реального приложения обычно используйте заимствованный tracker, зарегистрированный provider, а не synthetic ресурс. Собственный экземпляр освобождайте после удаления своих ссылок/регистрации.

Свойства3

BoundsSizeСвойство
# BoundsSize
C#
public Vector2 BoundsSize { get; set; }

Сохранённый размер маркера, изначально Vector2.Zero. Setter просто записывает Vector2, не запускает камеру, не меняет tracker pose и не создаёт mesh/collider. Реальный размер поставляет runtime; metadata synthetic tracker не доказывает обнаружение.

MarkerIdСвойство
# MarkerId
C#
public uint MarkerId { get; set; }

Числовой uint ID маркера, изначально 0. Для ArUco/AprilTag сопоставляйте вместе с типом и словарём; это не persistence UUID и не текст QR. Setter только сохраняет metadata; ID=0 сам по себе не признак ошибки.

MarkerTypeСвойство
# MarkerType
C#
public OpenXRSpatialComponentMarkerList.MarkerType MarkerType { get; set; }

Тип маркера, изначально Unknown. Runtime может предоставлять QR, Micro QR, ArUco или AprilTag; проверяйте реальную поддержку каждого типа. Setter меняет только metadata, не запускает детектор и не выбирает словарь.

Методы8

GetBoundsSizeVector2
# GetBoundsSize
C#
public Vector2 GetBoundsSize();

Сохранённый размер маркера, изначально Vector2.Zero. Setter просто записывает Vector2, не запускает камеру, не меняет tracker pose и не создаёт mesh/collider. Реальный размер поставляет runtime; metadata synthetic tracker не доказывает обнаружение.

Возвращает Vector2

Сохранённый размер маркера, изначально Vector2.Zero. Setter просто записывает Vector2, не запускает камеру, не меняет tracker pose и не создаёт mesh/collider. Реальный размер поставляет runtime; metadata synthetic tracker не доказывает обнаружение.

GetMarkerDataVariant
# GetMarkerData
C#
public Variant GetMarkerData();

Полезная нагрузка Variant, изначально Nil. Provider QR/Micro QR может возвращать String или PackedByteArray; C# SetMarkerData допускает и другие Variant, поэтому проверяйте VariantType перед чтением. Не используйте произвольный текст как путь/код; сопоставляйте разрешённые идентификаторы. Setter не декодирует маркер и сбрасывает internal buffer ID.

Возвращает Variant

Полезная нагрузка Variant, изначально Nil. Provider QR/Micro QR может возвращать String или PackedByteArray; C# SetMarkerData допускает и другие Variant, поэтому проверяйте VariantType перед чтением. Не используйте произвольный текст как путь/код; сопоставляйте разрешённые идентификаторы. Setter не декодирует маркер и сбрасывает internal buffer ID.

GetMarkerIduint
# GetMarkerId
C#
public uint GetMarkerId();

Числовой uint ID маркера, изначально 0. Для ArUco/AprilTag сопоставляйте вместе с типом и словарём; это не persistence UUID и не текст QR. Setter только сохраняет metadata; ID=0 сам по себе не признак ошибки.

Возвращает uint

Числовой uint ID маркера, изначально 0. Для ArUco/AprilTag сопоставляйте вместе с типом и словарём; это не persistence UUID и не текст QR. Setter только сохраняет metadata; ID=0 сам по себе не признак ошибки.

GetMarkerTypeOpenXRSpatialComponentMarkerList.MarkerType
# GetMarkerType
C#
public OpenXRSpatialComponentMarkerList.MarkerType GetMarkerType();

Тип маркера, изначально Unknown. Runtime может предоставлять QR, Micro QR, ArUco или AprilTag; проверяйте реальную поддержку каждого типа. Setter меняет только metadata, не запускает детектор и не выбирает словарь.

Возвращает OpenXRSpatialComponentMarkerList.MarkerType

Тип маркера, изначально Unknown. Runtime может предоставлять QR, Micro QR, ArUco или AprilTag; проверяйте реальную поддержку каждого типа. Setter меняет только metadata, не запускает детектор и не выбирает словарь.

SetBoundsSizevoid
# SetBoundsSize
C#
public void SetBoundsSize(Vector2 boundsSize);

Сохранённый размер маркера, изначально Vector2.Zero. Setter просто записывает Vector2, не запускает камеру, не меняет tracker pose и не создаёт mesh/collider. Реальный размер поставляет runtime; metadata synthetic tracker не доказывает обнаружение.

Параметры
ИмяТипПо умолчанию
boundsSizeVector2—
boundsSize

Сохранённый размер маркера, изначально Vector2.Zero. Setter просто записывает Vector2, не запускает камеру, не меняет tracker pose и не создаёт mesh/collider. Реальный размер поставляет runtime; metadata synthetic tracker не доказывает обнаружение.

SetMarkerDatavoid
# SetMarkerData
C#
public void SetMarkerData(Variant markerData);

Полезная нагрузка Variant, изначально Nil. Provider QR/Micro QR может возвращать String или PackedByteArray; C# SetMarkerData допускает и другие Variant, поэтому проверяйте VariantType перед чтением. Не используйте произвольный текст как путь/код; сопоставляйте разрешённые идентификаторы. Setter не декодирует маркер и сбрасывает internal buffer ID.

Параметры
ИмяТипПо умолчанию
markerDataVariant—
markerData

Полезная нагрузка Variant, изначально Nil. Provider QR/Micro QR может возвращать String или PackedByteArray; C# SetMarkerData допускает и другие Variant, поэтому проверяйте VariantType перед чтением. Не используйте произвольный текст как путь/код; сопоставляйте разрешённые идентификаторы. Setter не декодирует маркер и сбрасывает internal buffer ID.

SetMarkerIdvoid
# SetMarkerId
C#
public void SetMarkerId(uint markerId);

Числовой uint ID маркера, изначально 0. Для ArUco/AprilTag сопоставляйте вместе с типом и словарём; это не persistence UUID и не текст QR. Setter только сохраняет metadata; ID=0 сам по себе не признак ошибки.

Параметры
ИмяТипПо умолчанию
markerIduint—
markerId

Числовой uint ID маркера, изначально 0. Для ArUco/AprilTag сопоставляйте вместе с типом и словарём; это не persistence UUID и не текст QR. Setter только сохраняет metadata; ID=0 сам по себе не признак ошибки.

SetMarkerTypevoid
# SetMarkerType
C#
public void SetMarkerType(OpenXRSpatialComponentMarkerList.MarkerType markerType);

Тип маркера, изначально Unknown. Runtime может предоставлять QR, Micro QR, ArUco или AprilTag; проверяйте реальную поддержку каждого типа. Setter меняет только metadata, не запускает детектор и не выбирает словарь.

Параметры
ИмяТипПо умолчанию
markerTypeOpenXRSpatialComponentMarkerList.MarkerType—
markerType

Тип маркера, изначально Unknown. Runtime может предоставлять QR, Micro QR, ArUco или AprilTag; проверяйте реальную поддержку каждого типа. Setter меняет только metadata, не запускает детектор и не выбирает словарь.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.