Jetpack XR용 ARCore를 사용하면 앱이 하위 수준 장면 이해 프리미티브와 모션 추적을 사용하여 증강 현실 (AR)의 기본 개념을 활용할 수 있습니다. AR 환경을 빌드할 때 평면 데이터를 사용하거나 콘텐츠를 공간의 고정된 위치에 고정해야 하는 경우 Jetpack XR용 ARCore를 사용하세요.
Session
수명 주기 이해
Jetpack XR용 ARCore에서 추적하는 모든 객체는 Session
를 통해 액세스해야 합니다. Activity의 수명 주기와 마찬가지로 Session
객체에도 앱에서 Session
객체의 기능을 사용하는 방식에 따라 유지해야 하는 수명 주기가 있습니다. 앱에 XR 지원 활동이 하나만 포함된 경우 수명 주기 인식 구성요소를 사용하여 Session
의 수명 주기를 처리하는 것이 좋습니다.
Session
액세스
Jetpack XR용 ARCore를 사용할 때는 Session
를 만들어야 합니다.
XR용 Jetpack Compose를 사용하는 경우 LocalSession
를 사용하여 자동으로 생성된 세션에 액세스합니다.
세션 재개
세션을 재개하는 작업은 앱이 Jetpack XR용 ARCore의 상태 변경을 처리할 준비가 되었을 때 실행해야 합니다. 대부분의 경우 Activity의 onResume()
콜백에서 실행되지만 앱은 사용자 상호작용 시까지 처리를 지연할 수 있습니다.
다음 코드 스니펫은 세션을 재개하는 예를 보여줍니다.
when (val result = session.resume()) { is SessionResumeSuccess -> { // Session has been created successfully. // Attach any successful handlers here. } is SessionResumePermissionsNotGranted -> { // Request permissions in `result.permissions`. } }
Session
가 다시 시작되지 않는 이유에 관한 자세한 내용은 SessionResumeResult
를 참고하세요.
세션 일시중지
활동이 백그라운드로 전환되면 [Session.pause()
][Session.pause]를 사용하여 Session
를 일시중지합니다. 세션을 일시중지하면 세션이 재개될 때까지 추적이 일시적으로 중지되어 인식 시스템의 상태가 유지됩니다.
세션 소멸
Session
를 영구적으로 폐기하려면 [Session.destroy()
][Session.destroy]를 사용하세요. 이렇게 하면 세션에서 사용 중인 리소스가 해제되고 모든 세션 상태가 소멸됩니다.