Jetpack XR SDK를 사용하면 Kotlin 및 Compose와 같은 최신 도구와 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를 공간 레이아웃에 배치할 수 있는 공간 패널 및 궤도 위성과 같은 하위 공간 컴포저블 위젯을 제공합니다.
기존 ARCore 라이브러리에서 영감을 받은 Jetpack XR용 ARCore 라이브러리는 디지털 콘텐츠를 실제 세계와 혼합하는 기능을 제공합니다. 이 라이브러리에는 모션 추적, 영구 앵커, 히트 테스트, 시맨틱 라벨링 (예: 바닥, 벽, 테이블 상판)을 사용한 평면 식별이 포함되어 있습니다. 이 라이브러리는 OpenXR에서 제공하는 기본적인 인식 스택을 활용하므로 다양한 기기와의 호환성을 보장하고 앱을 미래에 대비할 수 있습니다.
OpenXR™ 및 OpenXR 로고는 Khronos Group Inc. 소유의 상표이며 중국, 유럽연합, 일본, 영국에서 상표로 등록되어 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-26(UTC)"],[],[],null,["# Develop with the Jetpack XR SDK\n\nThe Jetpack XR SDK lets you build immersive XR experiences using modern tools\nlike [Kotlin](/develop/ui/compose/kotlin) and [Compose](/compose), as well as previous generation tools such as\nJava and [Views](/develop/ui/views/layout/declaring-layout). You can [spatialize your UI](/develop/xr/jetpack-xr-sdk/develop-ui), [load and render 3D\nmodels](/develop/xr/jetpack-xr-sdk/add-3d-models) and semantically understand the real world.\n\nIf you already have a mobile or large screen app on Android, Jetpack XR SDK\nextends your app into a new dimension by spatializing existing layouts and\nenhancing your experiences with 3D models and immersive environments. See our\n[quality guidelines](/docs/quality-guidelines/android-xr) for our recommendations on spatializing your existing\nAndroid app. \nAlas, your browser doesn't support HTML5 video. That's OK! You can still [download the\nvideo](/static/images/develop/xr/jetpack-xr-sdk/index/jetpack-xr-sdk.mp4) and watch it with a video player.\n\nThe Jetpack XR SDK consists of the following libraries. Together, they provide a\ncomprehensive toolkit for building rich and diverse [spatialized experiences](/design/ui/xr/guides/foundations)\nand are designed to work seamlessly with each other.\n\n- **Jetpack Compose for XR**: Declaratively build spatial UI layouts that take advantage of Android XR's spatial capabilities.\n- **Material Design for XR**: Build with Material components and layouts that adapt for XR.\n- **Jetpack SceneCore**: Build and manipulate the Android XR scene graph with 3D content.\n- **ARCore for Jetpack XR**: Bring digital content into the real world with perception capabilities.\n\nJetpack Compose for XR\n----------------------\n\nWith Jetpack Compose for XR, you can use familiar [Compose concepts](/develop/ui/compose/layouts/basics) such as\n[rows](/reference/kotlin/androidx/compose/foundation/layout/package-summary#Row(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)) and [columns](/reference/kotlin/androidx/compose/foundation/layout/package-summary#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)) to create spatial UI layouts in XR, whether you're\nporting an existing 2D app to XR or creating a new XR app from scratch.\n\nThis library provides subspace composable widgets, such as [spatial panels](/reference/kotlin/androidx/xr/compose/subspace/package-summary#SpatialPanel(android.content.Intent,androidx.xr.compose.subspace.layout.SubspaceModifier,androidx.xr.compose.subspace.layout.SpatialShape))\nand [orbiters](/reference/kotlin/androidx/xr/compose/spatial/package-summary#Orbiter(androidx.xr.compose.spatial.OrbiterEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.spatial.OrbiterSettings,androidx.xr.compose.subspace.layout.SpatialShape,androidx.xr.compose.spatial.SpatialElevationLevel,kotlin.Function0)), which let you place your existing 2D Compose or Views-based\nUI in a spatial layout.\n\nSee [Develop UI with Jetpack Compose for XR](/develop/xr/jetpack-xr-sdk/develop-ui) for detailed guidance.\n\nCompose for XR introduces the [`Volume`](/reference/kotlin/androidx/xr/compose/subspace/package-summary#Volume(androidx.xr.compose.subspace.layout.SubspaceModifier,kotlin.Function1)) subspace composable, which lets you\nplace [SceneCore](/develop/xr/jetpack-xr-sdk#jetpack-scenecore) entities, such as 3D models, relative to your UI.\n\nLearn how to [spatialize your existing Android app](/develop/xr/jetpack-xr-sdk/add-xr-to-existing) or view the API\nreference for more detailed information.\n\nMaterial Design for XR\n----------------------\n\nMaterial Design provides components and layouts that adapt for XR. For example,\nif you're building with [adaptive layouts](/develop/ui/compose/layouts/adaptive) and you update to the latest\nalpha of the dependency using a [`EnableXrComponentOverrides`](/reference/kotlin/androidx/xr/compose/material3/package-summary#EnableXrComponentOverrides(androidx.xr.compose.material3.XrComponentOverrideEnabler,kotlin.Function0)) wrapper,\n[each pane](/develop/ui/compose/layouts/adaptive/canonical-layouts) is placed inside a [`SpatialPanel`](/reference/kotlin/androidx/xr/compose/subspace/package-summary#SpatialPanel(android.content.Intent,androidx.xr.compose.subspace.layout.SubspaceModifier,androidx.xr.compose.subspace.layout.SpatialShape)) and a [navigation\nrail](/reference/kotlin/androidx/compose/material3/package-summary#NavigationRail(androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1,androidx.compose.foundation.layout.WindowInsets,kotlin.Function1)) is placed in an [`Orbiter`](/reference/kotlin/androidx/xr/compose/spatial/package-summary#Orbiter(androidx.xr.compose.spatial.OrbiterEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.spatial.OrbiterSettings,androidx.xr.compose.subspace.layout.SpatialShape,androidx.xr.compose.spatial.SpatialElevationLevel,kotlin.Function0)). [Learn more about implementing\nMaterial Design for XR](/develop/xr/jetpack-xr-sdk/material-design).\n\nJetpack SceneCore\n-----------------\n\nThe Jetpack SceneCore library lets you place and arrange 3D content, defined by\n[entities](/develop/xr/jetpack-xr-sdk/work-with-entities), relative to each other and your environment. With SceneCore, you\ncan:\n\n- Set [spatial environments](/design/ui/xr/guides/environments)\n- Create instances of a [`PanelEntity`](/reference/kotlin/androidx/xr/scenecore/PanelEntity)\n- [Place and animate 3D models](/develop/xr/jetpack-xr-sdk/add-3d-models)\n- [Specify spatial audio sources](/develop/xr/jetpack-xr-sdk/add-spatial-audio)\n- [Add Components to entities that make them movable, resizable, and can be\n anchored to the real world](/develop/xr/jetpack-xr-sdk/work-with-entities)\n\nThe Jetpack SceneCore library also provides support for spatializing\napplications built using Views. See our [guide to working with views](/develop/xr/jetpack-xr-sdk/develop-ui-views) for\nmore details.\n\nView the [API reference](/reference/kotlin/androidx/xr/scenecore/package-summary) for more detailed information.\n\nARCore for Jetpack XR\n---------------------\n\nInspired by the existing [ARCore library](https://developers.google.com/ar), the ARCore for\nJetpack XR library provides capabilities for blending digital content with the\nreal world. This library includes motion tracking, persistent anchors, hit\ntesting, and plane identification with semantic labeling (for example, floor,\nwalls, and tabletops). This library leverages the underlying perception stack\npowered by [OpenXR](/develop/xr/openxr), which ensures compatibility with a wide range of\ndevices and helping to future-proof apps.\n\nView [Work with ARCore for Jetpack XR](/develop/xr/jetpack-xr-sdk/work-with-arcore) for more detailed information.\n| **Preview:** Unlike its predecessor, ARCore for Jetpack XR currently only supports Android XR.\n\nNote on Developer Preview\n-------------------------\n\nPlease note that this release is part of a Developer Preview and these APIs are\nstill under development. See the release notes for known issues:\n\n- [Jetpack Compose for XR Release Notes](/jetpack/androidx/releases/xr-compose)\n- [ARCore for Jetpack XR Release Notes](/jetpack/androidx/releases/xr-arcore)\n- [Jetpack SceneCore Release Notes](/jetpack/androidx/releases/xr-scenecore)\n- [Jetpack for SceneCore Runtime Release Notes](/jetpack/androidx/releases/xr-runtime)\n\nIf you run into an issue that is not on that list, [please report a bug or\nsubmit feedback](/develop/xr/support).\n\n*** ** * ** ***\n\nOpenXR™ and the OpenXR logo are trademarks owned\nby The Khronos Group Inc. and are registered as a trademark in China,\nthe European Union, Japan and the United Kingdom."]]