reckfellENGINE

XRCamera3D

Камера, получающая default-pose позиционного tracker.

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

XRCamera3D — камера рига, а не контроллер. Конструктор уже задаёт Tracker=head, ProcessMode=Always и PhysicsInterpolationMode=Off. Сохраняйте эти режимы для tracking; размещайте камеру непосредственно под XROrigin3D.

Камера получает pose default выбранного tracker и применяет её GetAdjustedTransform как локальный трансформ. Другие pose, например aim, игнорируются. Родитель добавляет игровой origin один раз. Для выбора tracker используется имя, не числовой ID.

Потеря pose или отсутствие нового tracker не обнуляет прежний трансформ. У камеры нет флага GetHasTrackingData от XREntity3D: проверьте GetPose("default") у её tracker и HasTrackingData самой pose. Не освобождайте заимствованные объекты. Наличие камеры не подтверждает стереовывод; нужны работающий XR-интерфейс и UseXR viewport.

Параметрами проекции управляет XR-путь. Унаследованные экранные project/unproject/frustum в текущем исходнике при XR используют первое представление; не считайте их универсальным результатом для обоих глаз. Это ограничение сверено с исходником, не проверено гарнитурой.

Проверены начальные режимы, выбор default-pose, трансформы и отвязка с искусственным tracker. Реальные pose, проекция, стереокартинка и работа при паузе не проверялись. Настройка: запуск XR.

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

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

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

Создаёт камеру с Tracker=head, ProcessMode=Always и отключённой физической интерполяцией. Эти параметры уже задаются конструктором. Нужны XROrigin3D-родитель, рабочий XR-интерфейс и XR viewport для стереовывода; сам конструктор этого не создаёт.

Свойства1

TrackerСвойство
# Tracker
C#
public StringName Tracker { get; set; }

Имя позиционного tracker, изначально head. Камера выбирает его pose default; числовых ID здесь нет. Смена отвязывает прежний tracker и привязывает доступный новый. Если его нет, последний трансформ сохраняется; имя само по себе не подтверждает tracking.

Методы2

GetTrackerStringName
# GetTracker
C#
public StringName GetTracker();

Возвращает настроенное имя tracker, изначально head. Не сообщает, есть ли актуальная pose; проверяйте состояние tracker отдельно.

Возвращает StringName

Настроенное имя tracker; само по себе не подтверждает tracking.

SetTrackervoid
# SetTracker
C#
public void SetTracker(StringName trackerName);

Имя позиционного tracker, изначально head. Камера выбирает его pose default; числовых ID здесь нет. Смена отвязывает прежний tracker и привязывает доступный новый. Если его нет, последний трансформ сохраняется; имя само по себе не подтверждает tracking.

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

Точное имя позиционного tracker; камера использует его pose default.

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

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

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

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