공간화된 UI 및 항목을 만들기 위한 세션에 액세스

해당 XR 기기
이 가이드에서는 이러한 유형의 XR 기기를 위한 환경을 빌드하는 방법을 설명합니다.
XR 헤드셋
유선 XR 안경

Session는 앱의 공간화된 기능에 기본 인터페이스를 제공합니다. 공간화된 각 ActivitySession의 인스턴스를 만들고 보유해야 합니다. 앱이 세션을 만든 후에는 Session 인터페이스 를 사용하여 패널 또는 3D 모델과 같은 공간화된 콘텐츠 항목을 만들고 공간 환경을 설정, 사용자 위치를 식별하고 콘텐츠를 실제 세계에 고정할 수 있습니다.

XR용 Jetpack Compose에서 세션 액세스

XR용 Jetpack Compose를 사용하면 세션이 자동으로 생성되며 다음을 사용하여 액세스할 수 있습니다. LocalSession.current 아래 예시를 참조하세요.

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

Jetpack XR 런타임에서 세션 액세스

Jetpack SceneCore 라이브러리에서 공간화된 항목을 만드는 경우 세션을 만들어야 합니다.

세션을 만들려면 [Context] 를 create() 메서드에 전달합니다. 이 Context는 몰입형 XR 기기 또는 휴대기기의 Activity이거나 프로젝션된 컨텍스트일 수 있습니다.

ARCore 세션을 만드는 것은 비용이 많이 드는 작업일 수 있으므로 다음 예와 같이 백그라운드에서 처리해야 합니다.

when (val result = Session.create(context)) {
    is SessionCreateSuccess -> {
        val xrSession = result.session
        // ...
    }
    else ->
        TODO(/* A different unhandled exception was thrown. */)
}

세션의 활동이 소멸되면 해당 세션과 연결된 모든 공간 UI 및 3D 콘텐츠가 소멸되고 세션이 더 이상 유효하지 않습니다.

참고 항목