ARFoundation으로 ARCore 사용하기 - 세션 상태
ARSession 객체 들어있는 ARSession 스트립트로 세션 상태를 체크할 수 있습니다.
세션 상태에 대한 설명은 아래에 있습니다.
public class MyComponent {
[SerializeField] ARSession m_Session;
IEnumerator Start() {
if ((ARSession.state == ARSessionState.None ||)
(ARSession.state == ARSessionState.CheckingAvailability))
{
yield return ARSession.CheckAvailability();
}
if (ARSession.state == ARSessionState.Unsupported)
{
// Start some fallback experience for unsupported devices
}
else
{
// Start the AR session
m_Session.enabled = true;
}
}
}
세션의 현재 상태 (예 : 기기가 지원되는지 여부, AR 소프트웨어가 설치중인 경우 및 세션이 작동 중인지 여부)를 확인하려면을 사용하십시오 ARSession.state. 세션 상태가 변경 될 때 이벤트를 구독 할 수도 있습니다. ARSession.stateChanged..
None | AR System이 초기화되지 않았으며 가용성을 알 수 없습니다. |
Unsupported | 현재 기기에서는 AR이 지원되지 않습니다. |
CheckingAvailability | 시스템이 현재 장치에서 AR의 가용성을 확인하고 있습니다. |
NeedsInstall | AR은 현재 장치에서 지원되지만 추가 설치가 필요합니다. |
Installing | AR 소프트웨어 설치 중 |
Ready | AR 지원 및 준비 |
SessionInitialized | AR 세션이 초기화 중입니다 (즉, 시작). 이는 일반적으로 AR이 작동하지만 환경에 대한 충분한 정보를 수집하지 않았 음을 의미합니다. |
SessionTracking | AR 세션이 실행 중이고 추적 중입니다 (즉, 기기가 세계에서 위치와 방향을 결정할 수 있음). |
제가 세션 상태 이벤트를 가져와 사용할 때는 Ready에 잘 들어오지 않았습니다.
대부분의 상태가 SessionTracking 이었습니다.
그래서 코드를 작성할때 Ready 상태일 때만 작업을 실행하지 말고 다른 상태일 때도 작업이 가능하게 해야 할것 같습니다.
'Unity > ARCore' 카테고리의 다른 글
ARFoundation으로 ARCore 사용하기 - ARPlaneManagerEvent (0) | 2020.10.28 |
---|---|
ARFoundation으로 ARCore 사용하기 - 객체를 중심으로 세상을 이동 (0) | 2020.10.27 |
ARFoundation으로 ARCore 사용하기 - PointCloud, Plane Manager (0) | 2020.10.27 |
ARFoundation으로 ARCore 사용하기 - 바닥면에 객체 생성 (0) | 2020.10.27 |
ARFoundation으로 ARCore 사용하기 - 초기셋팅 (0) | 2020.10.27 |