Table of Contents

Class XREALFrameSource

Пространство имен
easyar
Сборка
EasyAR.Sense.dll

КомпонентMonoBehaviour для управления устройством камеры XREAL (easyar.XREALCameraDevice) в сцене, предоставляющий расширение функциональности в среде Unity.

Этот источник кадров является устройством отслеживания движения, которое выводит данные движения в ARSession.

При использовании пробных продуктов (например, лицензии Personal, пробной лицензии XR или пробного сервиса Mega) на пользовательских камерах или гарнитурах, EasyAR Sense перестает отвечать после фиксированного ограниченного времени после каждого запуска.

public class XREALFrameSource : FrameSource
Наследование
XREALFrameSource

Свойства

AvailableCenterMode

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

Все доступные режимы центра.

protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }

Camera

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

На настольных устройствах или телефонах эта камера представляет Camera в виртуальном мире, соответствующее физическому камере в реальной среде; ее матрица проекции и положение будут соответствовать реальной камере, управляемой EasyAR. На гарнитуре эта камера используется только для отображения диагностического текста перед глазами, не для рендеринга изображения, и камера не управляется EasyAR.

protected override Camera Camera { get; }

CameraFrameStarted

Предоставляется только при создании нового источника кадров. Доступно в течение всего жизненного цикла ARSession.

Начался ли ввод кадров с камеры.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Предоставляется только при создании нового источника кадров. Доступно только при CameraFrameStarted равном true.

Предоставляет устройство камеры, поставляющее данные кадров камеры. Если данные кадров предоставляются несколькими камерами, список должен включать все камеры.

Убедитесь, что значение корректно при CameraFrameStarted равном true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

Предоставляет информацию о системе отображения. Вы можете использовать DefaultSystemDisplay или DefaultHMDDisplay для получения информации по умолчанию.

protected override IDisplay Display { get; }

FrameRate

Диапазон частоты кадров. Доступно только при Opened равном true.

public double FrameRate { get; }

IsAvailable

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

Доступен ли текущий источник кадров.

Если значение равно null, будет вызван CheckAvailability(), и значение будет получено после завершения Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

При значении true сессия будет обновлять transform камеры и рендерить изображение с камеры.

При создании расширения для гарнитуры оно должно быть false. Вы должны полностью контролировать 3D-камеру в сцене. Вы должны обрабатывать рендеринг камеры, особенно в режиме VST.

protected override bool IsCameraUnderControl { get; }

IsHMD

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

Является ли текущий источник кадров гарнитурой. Если это гарнитура, диагностическая информация будет отображаться на 3D-панели перед камерой.

Некоторые фильтры кадров могут работать по-разному на устройстве.

protected override bool IsHMD { get; }

Opened

Открыта ли камера.

public bool Opened { get; }

ReceivedFrameCount

Количество полученных кадров. Обычно используется при отладке. Если это число перестает расти, это обычно аппаратная проблема; переподключение может помочь.

public int ReceivedFrameCount { get; }

Size

Текущий размер изображения. Доступно только при Opened равном true.

public Vector2Int Size { get; }

Методы

CheckAvailability()

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса Assemble().

Coroutine для проверки доступности источника кадров, когда IsAvailable равно null.

protected override IEnumerator CheckAvailability()

Close()

Закрыть устройство.

public void Close()

OnSessionStart(ARSession)

Предоставляется только при создании нового источника кадров. Доступно исключительно во время процесса StartSession().

Обрабатывает запуск сессии, если этот источник кадров был собран в Assembly. Этот метод предназначен для отложенной инициализации; здесь вы можете выполнить специфичную для AR инициализацию.

protected override void OnSessionStart(ARSession session)

Параметры

session

OnSessionStop()

Предоставляется только при создании нового источника кадров. Доступно во время StopSession(bool) или других процессов остановки/повреждения сессии.

Обрабатывает остановку сессии, если этот источник кадров был собран в Assembly. Вы можете использовать этот метод для уничтожения ресурсов, созданных в StartSession() и во время работы сессии, и восстановления внутреннего состояния. Этот метод гарантированно будет вызван до уничтожения сессии. Если источник кадров уничтожается до сессии, он не будет вызван, и сессия будет повреждена.

protected override void OnSessionStop()

Open()

Открыть устройство. Если Open() и Close() не вызываются вручную, ARSession автоматически выполнит Open() после запуска.

public void Open()

События

DeviceClosed

Событие закрытия устройства.

public event Action DeviceClosed

DeviceOpened

Событие открытия устройства. Логическое значение указывает на успешность операции.

public event Action<bool, PermissionStatus, string> DeviceOpened