reckfellENGINE

OpenXRSpatialAnchorCapability

Реализация для обработки логики привязки пространственных объектов.

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

Реализация для обработки логики привязки пространственных объектов.

Это внутренний класс, который обрабатывает расширение OpenXR для пространственных сущностей-якорей.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

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

Методы14

CreateDefaultPersistenceContextOpenXRFutureResult
# CreateDefaultPersistenceContext
C#
public OpenXRFutureResult CreateDefaultPersistenceContext(Callable userCallback = default);

Вызывает метод OpenXRSpatialAnchorCapability.CreatePersistenceContext с конфигурацией, которая, вероятно, будет работать с средой выполнения XR. user_callback вызывается при создании контекста.

Параметры
ИмяТипПо умолчанию
userCallbackCallabledefault
Возвращает OpenXRFutureResult
CreateNewAnchor2 перегрузки
# CreateNewAnchor · 1/2
C#
public OpenXRAnchorTracker CreateNewAnchor(Transform3D transform, Rid spatialContext);

Создает новый якорь, который будет отслеживаться средой выполнения XR. Параметр transform должен представлять собой преобразование в локальном пространстве вашего узла XROrigin3D. Если параметр spatial_context не указан, будет использоваться значение по умолчанию; для этого необходимо установить параметр ProjectSettings.xr/openxr/extensions/spatial_entity/enable_builtin_anchor_detection. Возвращаемый трекер будет отслеживать местоположение в случае изменения нашего опорного пространства. Параметр next должен быть допустимым объектом next для цепочки XrSpatialAnchorCreateInfoEXT.

Параметры
ИмяТипПо умолчанию
transformTransform3D—
spatialContextRid—
Возвращает OpenXRAnchorTracker
# CreateNewAnchor · 2/2
C#
public OpenXRAnchorTracker CreateNewAnchor(Transform3D transform, Rid spatialContext = default, OpenXRStructureBase next = null);

Создает новый якорь, который будет отслеживаться средой выполнения XR. Параметр transform должен представлять собой преобразование в локальном пространстве вашего узла XROrigin3D. Если параметр spatial_context не указан, будет использоваться значение по умолчанию; для этого необходимо установить параметр ProjectSettings.xr/openxr/extensions/spatial_entity/enable_builtin_anchor_detection. Возвращаемый трекер будет отслеживать местоположение в случае изменения нашего опорного пространства. Параметр next должен быть допустимым объектом next для цепочки XrSpatialAnchorCreateInfoEXT.

Параметры
ИмяТипПо умолчанию
transformTransform3D—
spatialContextRiddefault
nextOpenXRStructureBasenull
Возвращает OpenXRAnchorTracker
CreatePersistenceContextOpenXRFutureResult
# CreatePersistenceContext
C#
public OpenXRFutureResult CreatePersistenceContext(OpenXRSpatialAnchorCapability.PersistenceScope scope, Callable userCallback = default);

Создает новый контекст постоянного хранения данных. Примечание: Это асинхронный метод, возвращающий объект OpenXRFutureResult, с помощью которого отслеживается статус; удаление этого объекта не отменит процесс создания. В случае успеха будет вызван user_callback, если он указан. Результатом этой функции является Rid нашего контекста постоянного хранения.

Параметры
ИмяТипПо умолчанию
scopeOpenXRSpatialAnchorCapability.PersistenceScope—
userCallbackCallabledefault
Возвращает OpenXRFutureResult
DoEntityUpdatevoid
# DoEntityUpdate
C#
public void DoEntityUpdate(Rid spatialContext, Reckfell.Collections.Array<OpenXRSpatialComponentData> componentData, OpenXRStructureBase nextSnapshotCreate = null, OpenXRStructureBase nextSnapshotQuery = null);

Вызывает OpenXRSpatialEntityExtension.UpdateSpatialEntities и OpenXRSpatialEntityExtension.QuerySnapshot с сущностями-якорями, связанными с spatial_context. component_data — это OpenXRSpatialComponentData, которые необходимо обновить для этой возможности якоря. Если next_snapshot_create не равен null, передайте его параметру next в OpenXRSpatialEntityExtension.UpdateSpatialEntities. Если next_snapshot_query не равен null, передайте его параметру next в OpenXRSpatialEntityExtension.QuerySnapshot.

Параметры
ИмяТипПо умолчанию
spatialContextRid—
componentDataReckfell.Collections.Array<OpenXRSpatialComponentData>—
nextSnapshotCreateOpenXRStructureBasenull
nextSnapshotQueryOpenXRStructureBasenull
FreePersistenceContextvoid
# FreePersistenceContext
C#
public void FreePersistenceContext(Rid persistenceContext);

Освобождает контекст постоянного хранения, ранее созданный с помощью метода OpenXRSpatialAnchorCapability.CreatePersistenceContext.

Параметры
ИмяТипПо умолчанию
persistenceContextRid—
GetPersistenceContextHandleulong
# GetPersistenceContextHandle
C#
public ulong GetPersistenceContextHandle(Rid persistenceContext);

Возвращает внутренний дескриптор для данного контекста сохранения данных. Примечание: Для реализаций ReckfellExtension.

Параметры
ИмяТипПо умолчанию
persistenceContextRid—
Возвращает ulong
IsPersistenceScopeSupportedbool
# IsPersistenceScopeSupported
C#
public bool IsPersistenceScopeSupported(OpenXRSpatialAnchorCapability.PersistenceScope scope);

Возвращает true, если данная область сохранения поддерживается нашей возможностью пространственной привязки. Примечание: Действительно только после создания экземпляра OpenXR.

Параметры
ИмяТипПо умолчанию
scopeOpenXRSpatialAnchorCapability.PersistenceScope—
Возвращает bool
IsSpatialAnchorSupportedbool
# IsSpatialAnchorSupported
C#
public bool IsSpatialAnchorSupported();

Возвращает true, если аппаратное обеспечение поддерживает пространственные привязки. Возвращает допустимое значение только после инициализации OpenXR.

Возвращает bool
IsSpatialPersistenceSupportedbool
# IsSpatialPersistenceSupported
C#
public bool IsSpatialPersistenceSupported();

Возвращает true, если оборудование поддерживает постоянные пространственные привязки. Возвращает допустимое значение только после инициализации OpenXR.

Возвращает bool
PersistAnchorOpenXRFutureResult
# PersistAnchor
C#
public OpenXRFutureResult PersistAnchor(OpenXRAnchorTracker anchorTracker, Rid persistenceContext = default, Callable userCallback = default);

Преобразует этот якорь в постоянный. Это означает, что его местоположение будет сохранено на устройстве, и якорь будет восстановлен при следующем запуске вашего приложения. Если persistence_context не указан, будет использоваться значение по умолчанию; для этого необходимо установить ProjectSettings.xr/openxr/extensions/spatial_entity/enable_builtin_anchor_detection. Примечание: Это асинхронный метод, который возвращает объект OpenXRFutureResult, с помощью которого отслеживается статус; удаление этого объекта не отменит процесс создания. В случае успеха будет вызван user_callback, если он указан. Значение результата этой функции — логическое значение, которое будет установлено в true после успешного завершения.

Параметры
ИмяТипПо умолчанию
anchorTrackerOpenXRAnchorTracker—
persistenceContextRiddefault
userCallbackCallabledefault
Возвращает OpenXRFutureResult
RemoveAnchorvoid
# RemoveAnchor
C#
public void RemoveAnchor(OpenXRAnchorTracker anchorTracker);

Удалите якорь, созданный ранее с помощью метода OpenXRSpatialAnchorCapability.CreateNewAnchor. Если этот якорь был постоянным, необходимо сначала вызвать метод OpenXRSpatialAnchorCapability.UnpersistAnchor и дождаться его обратного вызова.

Параметры
ИмяТипПо умолчанию
anchorTrackerOpenXRAnchorTracker—
StartEntityDiscoveryOpenXRFutureResult
# StartEntityDiscovery
C#
public OpenXRFutureResult StartEntityDiscovery(Rid spatialContext, Reckfell.Collections.Array<OpenXRSpatialComponentData> componentData, OpenXRStructureBase nextSnapshotCreate = null, OpenXRStructureBase nextSnapshotQuery = null, Callable userCallback = default);

Вызывает OpenXRSpatialEntityExtension.DiscoverSpatialEntities и OpenXRSpatialEntityExtension.QuerySnapshot с сущностями-якорями, связанными с spatial_context. component_data — это OpenXRSpatialComponentData, которые необходимо обнаружить для этой возможности якоря. Если next_snapshot_create не равен null, передайте его параметру next в OpenXRSpatialEntityExtension.DiscoverSpatialEntities. Если next_snapshot_query не равен null, передайте его параметру next в OpenXRSpatialEntityExtension.QuerySnapshot. user_callback, если он не равен null, вызывается с двумя параметрами, обычно дважды. Первый параметр — это Rid снимка обнаружения, а второй параметр — логическое значение, где false указывает, что снимок обнаружения вот-вот будет обработан, а true указывает, что снимок обнаружения был обработан и component_data содержит допустимые данные. Второй вызов пропускается, если возникла ошибка. Возвращаемый OpenXRFutureResult идентичен результату, возвращаемому методом OpenXRSpatialEntityExtension.DiscoverSpatialEntities.

Параметры
ИмяТипПо умолчанию
spatialContextRid—
componentDataReckfell.Collections.Array<OpenXRSpatialComponentData>—
nextSnapshotCreateOpenXRStructureBasenull
nextSnapshotQueryOpenXRStructureBasenull
userCallbackCallabledefault
Возвращает OpenXRFutureResult
UnpersistAnchorOpenXRFutureResult
# UnpersistAnchor
C#
public OpenXRFutureResult UnpersistAnchor(OpenXRAnchorTracker anchorTracker, Rid persistenceContext = default, Callable userCallback = default);

Удаляет постоянные данные из этого якоря. Среда выполнения не будет создавать якорь заново при перезапуске вашего приложения. Если persistence_context не указан, будет использоваться значение по умолчанию; для этого необходимо установить ProjectSettings.xr/openxr/extensions/spatial_entity/enabled. Примечание: Это асинхронный метод, который возвращает объект OpenXRFutureResult, с помощью которого отслеживается статус; удаление этого объекта не отменит процесс создания. В случае успеха будет вызван user_callback, если он указан. Значение результата этой функции — логическое значение, которое будет установлено в true после успешного завершения.

Параметры
ИмяТипПо умолчанию
anchorTrackerOpenXRAnchorTracker—
persistenceContextRiddefault
userCallbackCallabledefault
Возвращает OpenXRFutureResult

OpenXRSpatialAnchorCapability.PersistenceScope

ЗначениеОписание
LocalAnchors = 1000781000

Операции сохранения данных и доступ к ним ограничены пространственными привязками, на одном и том же устройстве, для одного и того же пользователя и одного и того же приложения (с использованием функций OpenXRSpatialAnchorCapability.PersistAnchor и OpenXRSpatialAnchorCapability.UnpersistAnchor)

SystemManaged = 1

Предоставляет приложению доступ только для чтения (т.е. приложение не может изменять эту область действия) к пространственным объектам, сохраняемым и управляемым системой. Приложение может использовать UUID в компоненте сохранения данных для этой области действия, чтобы сопоставлять объекты в разных пространственных контекстах и при перезагрузке устройства.

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

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

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

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