Table of Contents

Class VisionOSARKitFrameSource

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

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

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

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

public class VisionOSARKitFrameSource : FrameSource
Наследование
VisionOSARKitFrameSource
Наследуемые члены

Свойства

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; }

FrameRateRange

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

public Vector2 FrameRateRange { 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; }

Size

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

public Vector2Int Size { get; }

Методы

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

Событие открытия устройства, где bool указывает на успешность.

public event Action<bool, PermissionStatus, string> DeviceOpened