Jetpack XR SDK로 개발

Jetpack XR SDK를 사용하면 KotlinCompose와 같은 최신 도구와 Java 및 와 같은 이전 세대 도구를 사용하여 몰입도 높은 XR 환경을 빌드할 수 있습니다. UI를 공간화하고 3D 모델을 로드 및 렌더링하며 실제 세계를 의미론적으로 이해할 수 있습니다.

Android에 이미 모바일 또는 대형 화면 앱이 있는 경우 Jetpack XR SDK를 사용하면 기존 레이아웃을 공간화하고 3D 모델 및 몰입형 환경으로 환경을 개선하여 앱을 새로운 차원으로 확장할 수 있습니다. 기존 Android 앱을 공간화하는 방법에 관한 권장사항은 품질 가이드라인을 참고하세요.

Jetpack XR SDK는 다음 라이브러리로 구성됩니다. 두 도구는 함께 풍부하고 다양한 공간화된 환경을 빌드하기 위한 포괄적인 도구 키트를 제공하며 서로 원활하게 작동하도록 설계되었습니다.

  • XR용 Jetpack Compose: Android XR의 공간 기능을 활용하는 공간 UI 레이아웃을 선언적으로 빌드합니다.
  • XR용 Material Design: XR에 맞게 조정되는 Material 구성요소와 레이아웃으로 빌드합니다.
  • Jetpack SceneCore: 3D 콘텐츠로 Android XR 장면 그래프를 빌드하고 조작합니다.
  • Jetpack XR용 ARCore: 인식 기능을 사용하여 디지털 콘텐츠를 실제 세계로 가져옵니다.

XR용 Jetpack Compose

XR용 Jetpack Compose를 사용하면 기존 2D 앱을 XR로 포팅하거나 새 XR 앱을 처음부터 만드는지와 관계없이 과 같은 익숙한 Compose 개념을 사용하여 XR에서 공간 UI 레이아웃을 만들 수 있습니다.

이 라이브러리는 기존 2D Compose 또는 뷰 기반 UI를 공간 레이아웃에 배치할 수 있는 컴포저블 유형인 하위 공간 컴포저블(예: spatial panelsorbiters)을 제공합니다.

자세한 안내는 XR용 Jetpack Compose로 UI 개발하기를 참고하세요.

UI XR 구성요소 오비터 일반 예시 개발

XR용 Compose는 3D 모델과 같은 SceneCore 항목을 UI를 기준으로 배치할 수 있는 Volume 하위 공간 컴포저블을 도입합니다.

기존 Android 앱을 공간화하는 방법을 알아보거나 API 참조에서 자세한 내용을 확인하세요.

XR용 Material Design

Material Design은 XR에 맞게 조정되는 구성요소와 레이아웃을 제공합니다. 예를 들어 적응형 레이아웃으로 빌드하는 경우, 간단한 EnableXrComponentOverrides 래퍼를 사용하여 종속 항목의 최신 알파 버전으로 업데이트하면 Spatial Panels에 배치되고 Orbiter탐색 레일에 배치됩니다. XR용 Material Design 구현에 대해 자세히 알아보기

Jetpack SceneCore

Jetpack SceneCore 라이브러리를 사용하면 항목으로 정의된 3D 콘텐츠를 서로 및 환경에 상대적으로 배치하고 정렬할 수 있습니다. SceneCore를 사용하면 다음 작업을 할 수 있습니다.

Jetpack SceneCore 라이브러리는 뷰를 사용하여 빌드된 애플리케이션의 공간화를 지원합니다. 자세한 내용은 뷰 작업 가이드를 참고하세요.

자세한 내용은 API 참조를 참고하세요.

Jetpack XR용 ARCore

기존 ARCore 라이브러리에서 영감을 받은 Jetpack XR용 ARCore 라이브러리는 디지털 콘텐츠를 실제 세계와 혼합하는 기능을 제공합니다. 이 라이브러리에는 모션 추적, 영구 앵커, 히트 테스트, 시맨틱 라벨링 (예: 바닥, 벽, 테이블 상판)을 사용한 평면 식별이 포함되어 있습니다. 이 라이브러리는 OpenXR를 기반으로 하는 기본 인식 스택을 활용하여 다양한 기기와의 호환성을 보장하고 애플리케이션을 미래에 대비하는 데 도움이 됩니다.

자세한 내용은 Jetpack XR용 ARCore 사용하기를 참고하세요.

개발자 프리뷰 관련 참고사항

이 출시는 개발자 프리뷰의 일부이며 이러한 API는 아직 개발 중입니다. 알려진 문제는 출시 노트를 참고하세요.

목록에 없는 문제가 발생하면 버그를 신고하거나 의견을 제출하세요.