Table of Contents

Class FrameSource

네임스페이스
easyar
어셈블리
EasyAR.Sense.dll

프레임 소스는 프레임 입력 데이터의 데이터 소스를 나타내며, 이미지 데이터 또는 모션 데이터를 함께 제공합니다.

사용자 정의 카메라를 구현하기 위해 FrameSource의 일부 하위 유형을 상속할 수 있지만, FrameSource를 직접 상속할 수는 없습니다. 사용자 정의 카메라는 일반적으로 새로운 장치나 새로운 데이터 입력 방식을 표현합니다.

사용자 정의 카메라나 헤드셋에서 평가판 제품(개인용 라이선스, 평가판 XR 라이선스 또는 평가판 Mega 서비스 등)을 사용할 때, EasyAR Sense는 시작 후 고정된 제한 시간 후에 응답을 중지합니다.

[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
상속
FrameSource
파생

속성

AvailableCenterMode

새로운 프레임 소스를 생성할 때만 제공됩니다. Assemble() 과정 중에만 접근됩니다.

사용 가능한 모든 중심 모드.

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

Camera

새로운 프레임 소스를 생성할 때만 제공됩니다. 이는 Assemble() 과정에서만 접근됩니다.

데스크톱 기기나 휴대폰에서, 이 카메라는 현실 환경의 카메라 장치에 대응하는 가상 세계의 Camera를 나타내며, 프로젝션 매트릭스와 위치는 실제 카메라와 대응되어 EasyAR에 의해 제어됩니다. 헤드셋에서는, 이 카메라는 진단용 텍스트를 눈앞에 표시하는 데만 사용되며, 화면 렌더링에는 사용되지 않으며, 카메라도 EasyAR에 의해 제어되지 않습니다.

protected abstract Camera Camera { get; }

CameraFrameStarted

새로운 frame source를 생성할 때만 제공됩니다. 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

새로운 frame source를 생성할 때만 제공됩니다. Assemble() 과정 중에만 액세스됩니다.

현재 frame source의 사용 가능 여부입니다.

값이 null인 경우, CheckAvailability()가 호출되며 값은 Coroutine 종료 후 획득됩니다.

protected abstract Optional<bool> IsAvailable { get; }

IsCameraUnderControl

새로운 프레임 소스를 생성할 때만 제공됩니다. Assemble() 과정에서만 액세스됩니다.

값이 ture일 경우, 세션은 카메라의 변환(transform)을 업데이트하고 카메라 이미지를 렌더링합니다.

헤드셋 확장을 생성할 때는 false여야 합니다. 장면 내 3D 카메라를 완전히 제어해야 합니다. 특히 VST 모드에서 카메라 렌더링을 처리해야 합니다.

protected abstract bool IsCameraUnderControl { get; }

IsHMD

새로운 프레임 소스를 생성할 때만 제공됩니다. Assemble() 과정에서만 액세스됩니다.

현재 프레임 소스가 헤드 마운트 디스플레이(HMD)인지 여부입니다. HMD인 경우, 진단 정보가 카메라 앞의 3D 보드에 표시됩니다.

일부 frame filter는 장치에서 다르게 작동합니다.

protected abstract bool IsHMD { get; }

메서드

CheckAvailability()

새로운 프레임 소스를 생성할 때만 제공됩니다. Assemble() 과정에서만 접근됩니다.

IsAvailable이 null일 때 프레임 소스 사용 가능 여부를 확인하는 데 사용되는 Coroutine입니다.

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()