VL 요청 보내기
VLSDKSettings 파일을 할당하면 VLSDKManager는 VLSDKSettings에 설정된 값에 맞춰서 자동으로 VL 요청을 보냅니다. 기본적으로는 별도의 추가 작업 없어도 Scene이 활성화 되면 VL 요청을 보내기 시작합니다.
Unity Editor 환경에서는 VL 요청을 보낼 데이터셋이 설정되어 있어야 VL 요청을 보낼 수 있습니다. 자세한 내용은 Editor 환경에서의 VLSDK를 참고해주세요.
VL 요청 자동 시작
VLSDKManager는 기본적으로 Play On Awake
가 활성화 되어 있습니다. 이 값이 활성화 되어 있으면 VLSDKManager의 세션이 자동으로 실행되어 VL 요청을 보내기 시작합니다.
VL 요청 수동 관리
만일 특별한 타이밍에 맞춰서 VL 요쳥을 보내거나 VL 요청을 중단하고 싶을 경우 VLSDKManager의 메서드들을 활용해서 VL 요청을 직접 관리할 수 있습니다. 이를 위해서는 우선 Play On Awake
를 비활성화 해야 합니다.
VLSDK 세션 시작
VLSDK 세션이 시작되지 않은 상태에서 VL 요청 세션을 시작하길 원한다면 StartSession()
메서드를 호출하여 세션을 시작할 수 있습니다.
using UnityEngine;
using ARCeye;
public class GameManager : MonoBehaviour
{
public ARCeye.VLSDKManager m_VLSDKManager;
void Start()
{
m_VLSDKManager.StartSession();
}
}
VLSDK 세션 중지
VLSDK 세션을 중지하고 싶을 경우 StopSession()
메서드를 호출하여 세션을 중지할 수 있습니다. VLSDK의 상태와 인식된 전역 위치는 그대로 유지한채 VL 요청만 중지합니다.
using UnityEngine;
using ARCeye;
public class GameManager : MonoBehaviour
{
public ARCeye.VLSDKManager m_VLSDKManager;
public void OnDisable()
{
m_VLSDKManager.StopSession();
}
}
VLSDK 세션 초기화
VLSDK 내부 상태와 인식된 전역 공간을 모두 초기화 하고 싶은 경우 ResetSession()
메서드를 호출하여 세션을 초기화 할 수 있습니다. ResetSession()
메서드를 호출하면 내부 상태가 Initial
상태가 되어 VLSDKManager의 OnStateChanged(TrackerState)
이벤트가 호출됩니다.
using UnityEngine;
using ARCeye;
public class GameManager : MonoBehaviour
{
public ARCeye.VLSDKManager m_VLSDKManager;
public void Reset()
{
m_VLSDKManager.ResetSession();
}
// VLSDKManager의 `OnStateChanged(TrackerState)` 이벤트를 구독하고 있을 경우
// Reset 호출 시 아래 메서드 실행. state로 TrackerState.INITIAL이 전달됨.
public void OnStateChanged(TrackerState state)
{
Debug.Log($"OnStateChanged: " + state);
}
}