본문으로 건너뛰기
버전: 1.13.0

세션 시작

VLSDK의 VL 요청은 세션 단위로 관리됩니다. 이 가이드에서는 세션을 시작, 중지, 초기화하는 방법과 기기 자세에 따른 자동 관리 기능을 안내합니다.

자동 시작​

VLSDKManager는 기본적으로 Play On Awake가 활성화되어 있어, Scene이 시작되면 별도의 코드 없이 VL 요청을 자동으로 시작합니다.

play_on_awake

수동 제어​

특정 타이밍에 세션을 제어해야 하는 경우 Play On Awake를 비활성화한 뒤 아래 메서드를 사용합니다.

세션 시작​

// VL 요청 세션을 시작합니다.
m_VLSDKManager.StartSession();

세션 중지​

현재 상태와 인식된 전역 위치를 유지한 채 VL 요청만 중지합니다.

// VL 요청만 중지합니다. 인식 결과는 유지됩니다.
m_VLSDKManager.StopSession();

세션 초기화​

내부 상태와 인식된 전역 위치를 모두 초기화합니다. 상태가 INITIAL로 전환되며 OnStateChanged 이벤트가 호출됩니다.

// 모든 상태를 초기화합니다.
m_VLSDKManager.ResetSession();
팁

StopSession()은 일시정지(위치 유지), ResetSession()은 처음부터 다시 시작(위치 초기화)으로 이해하면 됩니다.

자세 기반 자동 관리​

VLSDK는 기기의 자세에 따라 VL 요청을 자동으로 관리합니다.

VL 요청 자동 중단​

바닥이나 하늘처럼 VL 인식에 적합하지 않은 방향을 바라볼 때 VL 요청이 일시적으로 중단됩니다.

  • 디바이스의 pitch가 -20° ~ 20° 범위를 벗어나는 경우
  • 디바이스의 roll이 -100° ~ 100° 범위를 벗어나는 경우

자동 초기화​

디바이스가 상하로 뒤집히면(roll이 ±100° 초과) 세션이 자동으로 초기화됩니다. VIO 자세값에 문제를 일으킬 수 있기 때문입니다.

자동 초기화 비활성화​

앱의 사용 시나리오에 따라 자세 기반 자동 초기화가 불필요할 수 있습니다.

// 기기 자세에 의한 자동 초기화를 비활성화합니다.
m_VLSDKManager.EnableResetByDevicePose(false);
경고

Unity Editor 환경에서는 데이터셋이 설정되어 있어야 VL 요청을 보낼 수 있습니다. Editor에서 테스트하기를 참고하세요.