reckfellENGINE

OpenXRSpatialQueryResultData

Данные spatial snapshot: OpenXRSpatialQueryResultData.

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

Контейнер native component data для QuerySnapshot, не tracker, игровая Entity или готовая геометрия. В массиве запроса первым должен идти OpenXRSpatialQueryResultData; индексы остальных компонентов относятся к тем же строкам. Проверяйте поддержку компонента, успешный query и state строки до чтения значений.

SetCapacity выделяет память, но не делает её данными устройства. GetCapacity у query-result показывает длину выделенного массива; она может быть ненулевой без единого запроса. При ошибке/незавершённом запросе не используйте прежнее содержимое. Финальные output counts между двумя проходами отдельно публично не доступны; изменение количества результатов в runtime здесь не проверено.

Buffer getters требуют тот же живой snapshot. Скопируйте нужные массивы/строки до FreeSpatialSnapshot или конца borrowed capability callback. Не освобождайте snapshot повторно; свои контейнеры держите живыми на время использования. Raw poses не являются готовыми GlobalTransform и не применяют WorldOrigin/reference frame/WorldScale автоматически.

Содержит runtime IDs и tracking states; ID не является RID или persistence UUID. Читайте тот же index во всех component lists и обрабатывайте Paused/Stopped без использования невалидной pose.

Рабочая интеграция. На Windows XR-off выполнены 11 проверок metadata/capacity/virtual dispatch без чтения незаполненной памяти. Реальный snapshot, buffer values, pose/UUID/marker decoding, шлем и export не проверены. Движок не менялся.

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

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

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

Создаёт принадлежащий вызывающему RefCounted контейнер query data с пустыми буферами. Не выполняет QuerySnapshot и не получает данные устройства. Выделение через SetCapacity не заполняет строки. Удерживайте свои контейнеры до окончания native запроса; provider-owned ресурсы не освобождайте.

Методы3

GetCapacitylong
# GetCapacity
C#
public long GetCapacity();

Размер выделенного массива entity IDs как long, изначально 0. SetCapacity(4) даёт 4 без QuerySnapshot — это не количество подтверждённых записей. Читайте строки только после успешного запроса. Текущая реализация задаёт размер по первому count pass; финальные output counts отдельно публично не возвращаются, изменение количества между проходами не проверено.

Возвращает long

Размер выделенного массива entity IDs как long, изначально 0. SetCapacity(4) даёт 4 без QuerySnapshot — это не количество подтверждённых записей. Читайте строки только после успешного запроса. Текущая реализация задаёт размер по первому count pass; финальные output counts отдельно публично не возвращаются, изменение количества между проходами не проверено.

GetEntityIdulong
# GetEntityId
C#
public ulong GetEntityId(long index);

Runtime ID строки результата как ulong. Нужен успешный QuerySnapshot и index в пределах заполненных результатов; это не game Entity, RID или UUID. Используйте этот же index для state и остальных component lists. При неверном index native логирует ошибку и возвращает null-ID 0; он не является валидным обнаруженным объектом.

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

Нулевой index заполненной строки того же успешного snapshot query, не entity ID. Совпадает с index в OpenXRSpatialQueryResultData; одной выделенной capacity недостаточно.

Возвращает ulong

Runtime ID строки результата как ulong. Нужен успешный QuerySnapshot и index в пределах заполненных результатов; это не game Entity, RID или UUID. Используйте этот же index для state и остальных component lists. При неверном index native логирует ошибку и возвращает null-ID 0; он не является валидным обнаруженным объектом.

GetEntityStateOpenXRSpatialEntityTracker.EntityTrackingState
# GetEntityState
C#
public OpenXRSpatialEntityTracker.EntityTrackingState GetEntityState(long index);

Tracking state строки результата, соответствующей GetEntityId(index). Tracking разрешает чтение поддержанных component data; Paused/Stopped не считайте текущей валидной pose. Неверный index возвращает MAX_ENUM cast, который не является обычным EntityTrackingState. Не читайте после одного SetCapacity без успешного запроса.

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

Нулевой index заполненной строки того же успешного snapshot query, не entity ID. Совпадает с index в OpenXRSpatialQueryResultData; одной выделенной capacity недостаточно.

Возвращает OpenXRSpatialEntityTracker.EntityTrackingState

Tracking state строки результата, соответствующей GetEntityId(index). Tracking разрешает чтение поддержанных component data; Paused/Stopped не считайте текущей валидной pose. Неверный index возвращает MAX_ENUM cast, который не является обычным EntityTrackingState. Не читайте после одного SetCapacity без успешного запроса.

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

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

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

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