Class FrameSource
- Пространство имен
- easyar
- Сборка
- EasyAR.Sense.dll
Источник кадра представляет источник данных для ввода кадров, предоставляющий данные изображения или данные движения.
Вы можете реализовать пользовательскую камеру, наследуя некоторые подтипы FrameSource, но не можете напрямую наследовать FrameSource. Пользовательская камера обычно представляет новое устройство или новый способ ввода данных.
При использовании пробных продуктов (личной лицензии, пробной лицензии XR или пробного сервиса Mega и т.д.) с пользовательской камерой или гарнитурой VR, EasyAR Sense перестанет отвечать через фиксированное ограниченное время после каждого запуска.
[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
- Наследование
-
FrameSource
- Derived
Свойства
AvailableCenterMode
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
Все доступные режимы центра.
protected virtual IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
На настольных устройствах или телефонах эта камера представляет Camera в виртуальном мире, соответствующий реальной камере в физической среде; её матрица проекции и положение будут соответствовать реальной камере и контролироваться EasyAR. На гарнитурах VR эта камера используется только для отображения диагностической информации перед глазами, не для рендеринга изображения, и камера не контролируется EasyAR.
protected abstract Camera Camera { get; }
CameraFrameStarted
Предоставляется только при создании нового источника кадров. Доступен в течение всего жизненного цикла ARSession.
Начался ли ввод кадров с камеры.
protected abstract bool CameraFrameStarted { get; }
DeviceCameras
Предоставляется только при создании нового источника кадров. Доступен, когда CameraFrameStarted равно true.
Предоставляет физическую камеру(-ы), поставляющую(-ие) данные кадров. Если данные кадров поступают с нескольких камер, список должен включать их все.
Убедитесь, что значение корректно, когда CameraFrameStarted равно true.
protected abstract List<FrameSourceCamera> DeviceCameras { get; }
Display
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
Предоставляет информацию о системе отображения. Вы можете использовать DefaultSystemDisplay или DefaultHMDDisplay для получения информации о дисплее по умолчанию.
protected abstract IDisplay Display { get; }
IsAvailable
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
Доступен ли текущий источник кадров.
Если значение равно null, будет вызван CheckAvailability(), и значение будет получено после завершения Coroutine.
protected abstract Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
Когда значение равно ture, сессия будет обновлять transform камеры и рендерить изображение с камеры.
При создании расширения для гарнитуры VR оно должно быть false. Вы должны полностью контролировать 3D-камеру в сцене. Вы должны обрабатывать рендеринг камеры, особенно в режиме VST.
protected abstract bool IsCameraUnderControl { get; }
IsHMD
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
Является ли текущий источник кадров гарнитурой VR. Если это гарнитура VR, диагностическая информация будет отображаться на 3D плоскости перед камерой.
Некоторые фильтры кадров могут работать по-разному на гарнитурах.
protected abstract bool IsHMD { get; }
Методы
CheckAvailability()
Предоставляется только при создании нового источника кадров. Доступен только во время процесса Assemble().
Coroutine, используемая для проверки доступности источника кадров, когда IsAvailable равно null.
protected virtual IEnumerator CheckAvailability()
OnSessionStart(ARSession)
Предоставляется только при создании нового источника кадров. Доступен только во время процесса StartSession().
Обрабатывает запуск сессии, если этот источник кадров собран в Assembly. Этот метод предназначен для отложенной инициализации; здесь вы можете выполнить AR-специфичную инициализацию.
protected abstract void OnSessionStart(ARSession session)
Параметры
session
OnSessionStop()
Предоставляется только при создании нового источника кадров. Доступен во время StopSession(bool) или других процессов остановки/повреждения сессии.
Обрабатывает остановку сессии, если этот источник кадров собран в Assembly. Вы можете использовать этот метод для уничтожения ресурсов, созданных в StartSession() и во время работы сессии, и восстановления внутреннего состояния. Гарантируется, что этот метод будет вызван до уничтожения сессии. Если источник кадров уничтожен до сессии, он не будет вызван, и сессия будет повреждена.
protected abstract void OnSessionStop()