XR용 Jetpack Compose
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2026년 10월 21일 | - | - | 1.0.0-beta02 | - |
종속 항목 선언
XR Compose의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.xr.compose:compose:1.0.0-beta02" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-beta02") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta02") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.0
버전 1.0.0-beta02
2026년 10월 21일
androidx.xr.compose:compose:1.0.0-beta02 및 androidx.xr.compose:compose-testing:1.0.0-beta02이 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.
API 변경사항
- 이제 라이브러리가 Kotlin 2.2를 타겟팅하며 kotlinc 2.2가 필요합니다. (I82396, b/498369605)
FollowMode.soft()의halfLifeMs매개변수 이름을halfLifeMillis로 변경했습니다. (I39187)PitchLimits를@JvmInline value class로 변환하여 두 개의 부동 소수점을Long에 패킹하여 객체 할당을 제거했습니다. (Id43c3)FollowMode.soft에 새 매개변수(halfLifeMs,startDelay,startThresholds매개변수)를 추가했습니다.smoothStep알고리즘에서exponentialDecay알고리즘으로 전환함에 따라 더 이상 필요하지 않은durationMs매개변수를 삭제했습니다. (If0140)- 지원 중단된
SpatialActivityPanel오버로드를 삭제합니다. 대신SpatialActivityPanelController를 허용하는SpatialActivityPanel의 오버로드를 사용합니다. (I5abc3) FullSpaceMode의 단일 Activity 내에서 3D 및 2D Composable 콘텐츠 간 전환을 사용 설정합니다. 이 변경사항은SpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabled으로 관리됩니다. (I4e237)- 콘텐츠 팔로우를 지원하기 위해
FollowTarget매개변수를 사용하는 실험용Subspace오버로드를 노출했습니다. (Iec1a9) - 지원 중단된 이동 가능한 수정자를 삭제합니다. 대신 새
MovePolicy를 매개변수로 허용하는 새로운 이동 가능한 수정자를 사용하세요. (Ib135d) - 지원 중단된
DragPolicy를 삭제합니다. 대신SubspaceModifier.movable()를 사용합니다. (I108d4) - 스테이트풀(Stateful) 버전을 위해 스테이트리스(Stateless)
Slider및RangeSlider오버로드를 지원 중단했습니다.RangeSliderState의activeRangeStart및activeRangeEnd의 이름을startValue및endValue로 변경하여DeprecationLevel.HIDDEN를 사용하는 이전의 승격되지 않은 실험용 Slider API를 지원 중단했습니다. (If8995)
버그 수정
- 앵커 또는 사용자에 연결된 하위 공간 유형을 포함한 모든 하위 공간 유형에 대해 올바른 포즈 계산을 보장하기 위해
poseInActivitySpace를 도입하여RotateToLookAtUser를 수정했습니다.Ica367b - Orbiter가 대형 패널에 연결될 때 발생하는 제약 조건 비정상 종료 문제를 수정했습니다. (I8c4bf)
removeAll()로 인해 불필요한ArrayList할당이 발생하는SubspaceLayoutNode의 버그를 수정했습니다. 또한 깊이 계산 성능을 수정했습니다. I34a10aandroidx.lifecycle:lifecycle-runtime종속 항목이 2.10.0으로 업데이트되었습니다. 이 버전은 번들 수명 주기 런타임 린트 검사를 AGP 버전 9.5.0-alpha04 이상에서 실행하는 데 필요합니다. (I99bfd, b/556807521)AudioOutputProvider와 관련된 kdocs를 개선하여 여러ExoPlayer인스턴스에서 재사용해서는 안 된다는 점을 강조합니다. (I6b18e)- 사소한 kdoc 맞춤법 및 문법 문제를 수정합니다. (Id3ba6)
알려진 문제
- 이 버전의
androidx.xr.compose에는 알려진 메모리 누수가 있는androidx.xr.scenecore:1.0.0-rc01에 대한 종속 항목이 있습니다. 빌드 구성에서SceneCore종속 항목을 메모리 누수 수정이 포함된 버전1.0.0으로 명시적으로 재정의할 수 있습니다.
버전 1.0.0-beta01
2026년 9월 23일
androidx.xr.compose:compose:1.0.0-beta01 및 androidx.xr.compose:compose-testing:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 더 이상 사용되지 않는
DragPolicy을 제거했습니다. 대신SubspaceModifier.movable()를 사용합니다. (I108d4) - 지원 중단된
ResizePolicy및SpatialPanel,SpatialExternalSurface에서의 사용을 삭제했습니다. 지원 중단된SubspaceModifier.resizable함수를 삭제합니다. 대신 새ResizePolicy와 함께 새SubspaceModifier.resizable를 사용하세요. (I59e6b) - 피치 추적을 독립적으로 사용 설정하거나 사용 중지할 수 있도록
isPitchUpdateEnabled매개변수를 추가했습니다. (Ie9e86) pitchLimits의 null 허용 여부를 삭제하고PitchLimits.UNCONSTRAINED의 이름을PitchLimits.FullRange로 바꿨습니다. (I0154f)ExposedDropdownMenu는 이제 멤버가 아닌ExposedDropdownMenuBoxScope의 확장 함수입니다. 새 가져오기로 코드를 업데이트해야 할 수 있습니다. (Ie8a65)- 지원 중단된
SurfaceProtection클래스가 삭제되었습니다. 대신SpatialExternalSurfaceProtection를 사용합니다. (Iab2c6) OrbiterPoseProvider를 사용하는 Orbiter 함수가 지원 중단되고SpatialAlignment를 사용하는 함수로 대체되었습니다. (I4d12b)- 이제
SpatialActivityPanel에서 삽입된 활동을 실행하고 관리하려면SpatialActivityPanelController(rememberSpatialActivityPanelController를 사용하여 인스턴스화됨)이 필요합니다. (Id25c6) rotateToLookAtUser에서upDirection매개변수를 삭제하고 회전 제약 조건 매개변수(isYawUpdateEnabled및pitchLimits)를 추가했습니다. (I1370a)
버그 수정
- 다양한
InteractionPolicy문제가 해결되었습니다. 컴포저블 또는 하위 요소 (예: Orbiter)가 폐기 시퀀스를 시작할 때 입력 이벤트가 발생하면 비정상 종료가 발생했습니다. 하위 요소가 마우스 오버 이벤트를 수신하는 문제도 수정되었습니다. (Ifc477) - FOV가 작은 기기에서 잘림을 방지하기 위해
RotateToLookAtUserActivity의 패널 크기를 줄였습니다. (I8d672)
알려진 문제
- Compose XR 패널에서 단일 Activity에 여러 패널을 만들면 패널이 소멸된 후에도 표시되는 내용이 손상될 수 있는 문제가 있습니다.
버전 1.0.0-alpha17
2026년 8월 12일
androidx.xr.compose:compose:1.0.0-alpha17 및 androidx.xr.compose:compose-testing:1.0.0-alpha17이 출시되었습니다. 버전 1.0.0-alpha17에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
Meter값 클래스를 삭제합니다.Scenecore의virtualPixelDensity로 대체됩니다. (I690ee)SpatialGltfModelAPI는 이제 실험용이며 사용하려면 선택해야 합니다. (I4557e)system의 크기를 조절할 수 있고 null을 허용하도록 설정합니다. (Ib0093)- 테스트를 위해
SubspaceSemanticsInfo에서Density를 노출했습니다. (I2e826) ResizePolicy기본 옵션의 이름을system로 바꾸고 매개변수가 없는 새Default옵션을 추가합니다. (Ic8b16)FollowTarget를 실험용으로 표시합니다. 이제 전체FollowingSubspaceAPI가 실험용입니다. (Id4ee3)GltfAnimationAPI를 삭제합니다. (Ic2894)- 매개변수화된
MovePolicy.default()메서드의 이름을MovePolicy.system()로 변경했습니다. 표준 기본 이동 동작을 나타내는val MovePolicy.Default속성을 도입했습니다. (Iedcc9) ExperimentalMoveAnchorPolicy선택 요구사항을PlaneSemantic및PlaneOrientation로 확장합니다. (Ief927)VolumeConstraints.offset에서resetMins를 삭제합니다. (Ib2f2f)- 지원 중단된
SceneCoreEntitySizeAdapter함수가 삭제되었습니다. (Ib6722) allowUnboundedSubspace가 있는 지원 중단된Subspace오버로드가 삭제되었습니다. (I8e97f)- 지원 중단된 시맨틱 수정자 오버로드가 삭제되었습니다. (I4ac10)
버그 수정
InteractionPolicy가 연결된Composable의 하위 요소가 입력 이벤트를 트리거하는 문제를 수정했습니다. (Icdba6)
버전 1.0.0-alpha16
2026년 7월 15일
androidx.xr.compose:compose:1.0.0-alpha16 및 androidx.xr.compose:compose-testing:1.0.0-alpha16이 출시되었습니다. 버전 1.0.0-alpha16에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
ComponentOverrideAPI를 삭제합니다. (I820c4)GltfAnimation및SpatialGltfModelAnimationAPI가 실험용으로 표시되었습니다. 일부 속성이 getter로 변환되었습니다. (I8d689, b/524771027)- 미터와 픽셀 간의 변환을 상수로 설정하여 전체 밀도 동작을 수정했습니다. Meter.kt가 지원 중단되었습니다. 이제
Session.scene.virtualPixelDensity를 대안으로 사용할 수 있습니다. (I122ff, b/430097855, b/474168798) - 두 개의 수정자 대신
ResizePolicy를 사용하도록 크기 조절 가능한 수정자를 업데이트합니다. (I7fb0f, b/496257436, b/519672992) SubspaceAssertions.kt의 모든 공개 부동 소수점 측정기준 및 위치 동등성 어설션에 허용 오차:Dp = Dp(0.5f)매개변수가 추가되었습니다. 기본 허용 동작 (0.5.dp)이 완전히 문서화되었습니다. (I266cb, b/521491915)movePolicy매개변수가 있는 이동 가능한 오버로드를 추가하고transformingMovable및movable를 지원 중단했습니다. (Ic88c1, b/481781189)- Material Expressive 사양을 따르는 표준 목록 항목과 세분화된 목록 항목의 새로운 비대화형 변형이 추가되었습니다. 표현력이 없는 버전은 지원 중단되었습니다. (Ide4de, b/491994186)
- 하위 공간의 경우
allowUnboundedSubspace매개변수가 지원 중단되고 숨겨집니다. 이제 Subspace 수정자에서SubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity)를 사용하여 제한되지 않은 동작을 실행해야 합니다.FollowingSubspace에서allowUnboundedSubspace매개변수가 삭제되었습니다. (Ia72ae, b/433624021) Session.create를 정지 함수로 변환했습니다. (I5d27f)ExoPlayer또는SoundEffectPlayer를 통해 오디오 재생을 서라운드 오디오로 변환할 수 있는SubspaceModifier.spatializedAudioOutput를 추가했습니다. (I46697, b/489421980, b/497867019)- 상태 확인을 위해
SpaceRequestResult를 반환하도록ComponentActivity.requestHomeSpace()및requestFullSpace()를 업데이트했습니다. (If1672) AnchorEntity의 이름이AnchorSpace로 업데이트되었습니다. (Ifa95e, b/513619219)SpatialGltfModelSource의fromResource메서드가 제한되지 않습니다. (I1f5a1, b/503047416)SubspaceSemanticsMatcher멤버는 공개 상태입니다.description속성, 컴패니언 팩토리 메서드 (expectValue,keyIsDefined,keyNotDefined), 멤버 함수 (matches,matchesAny), 연산자 (and,or,not)가 있습니다. (I972a4, b/460427288)- 선별된 공간 시맨틱 유형을 사용하도록
SubspaceModifier.semantics,SubspaceModifier.testTag,SubspaceSemanticsInfo,SubspaceSemanticsModifierNode를 업데이트했습니다. (I80dea, b/460427288) SpatialAlignment에서position의 이름을align로 변경하고 통합된alignAPI를 위해 개별 방향 오프셋 메서드를 삭제했습니다. (I9bdb2, b/479805937)SpatialConfiguration에서 지원 중단된 스페이스 모드 API를 삭제했습니다. (I1ef5c, b/458712461)SubspaceSemanticsConfiguration를 도입했습니다. 공간 노드의 시맨틱 속성 구성입니다. 이 클래스는 기본 2D 시맨틱 기능을 외부 소비자에게 유출하지 않고 3D 시맨틱의 쿼리 메서드를 안전하게 노출합니다. (Id025e, b/460427288)SubspaceSemanticsPropertyReceiver가 도입되었습니다. 이는 3D 레이아웃 컨테이너 속성을 유효한 필드 (처음에는testTag및contentDescription)로 제한하는 전용 래퍼입니다. (I5cf5c, b/460427288)
버그 수정
- 의미 수정자의
hasContentDescription가 기본적으로 하위 문자열 일치로 업데이트되었습니다. (I08214) - 탄성 물리학에 따라 부드러운 추적 동작을 제공하는 제한된
FollowBehavior.ExponentialDecay()를 추가했습니다. (I7449c, b/485639909, b/500493335)
대부분의 API가 이 변경사항의 영향을 받습니다. 구체적으로, LocalSession CompositionLocal 및 LocalSession에 종속된 모든 CompositionLocals (예: LocalSpatialConfiguration, LocalSpatialCapabilities 등)는 이제 Session가 초기화되기 전에 null 또는 비 XR 버전으로 확인됩니다.
Session를 사용할 수 있게 되면 올바른 상태로 리컴포지션이 트리거됩니다. (I0cfa4, b/514712835, b/514712835)
- 정지 동작, 취소, 동시 실행과 관련하여
ComponentActivity.requestHomeSpace및ComponentActivity.requestFullSpace에 관한 문서가 명확해졌습니다.CancellationException전파를 확인하기 위해 테스트를 업데이트했습니다. (I22f75, b/493289528)
버전 1.0.0-alpha15
2026년 6월 17일
androidx.xr.compose:compose:1.0.0-alpha15 및 androidx.xr.compose:compose-testing:1.0.0-alpha15이 출시되었습니다. 버전 1.0.0-alpha15에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
ResizePolicy및 이전의 크기 조절 가능한 수정자가 지원 중단되고 새로운SubspaceModifier.resizable오버로드 및SubspaceModifier.transformingResizable로 대체되었습니다. (I9e4bc)SpatialGltfModelAPI 업데이트:SpatialGltfModelSource를 통해 리소스에서 모델을 로드하는 기능이 추가되었습니다.fromResource.SpatialGltfModelAnimation에서 속도 이름을playbackSpeed로 변경하고 resume() 메서드를 추가했습니다.SpatialGltfModelStatus.Loaded 및 Loading이 이제 객체입니다. (I523de)rotateToLookAtUser를 실험용 API로 표시했습니다. (I86c16)- 보호된 변수
targetCurrentPose를 로컬 변수currentTargetPoseMeter로 이동하고 이름을 바꿨습니다. (Ia557c) - 레이아웃 크기 내에서 객체가 렌더링되는 위치를 포함하도록
SpatialPanel및SpatialExternalSurfacekdocs를 업데이트합니다. (I72104) SpatialGltfModelState내에SpatialGltfModel로드 로직을 캡슐화하고 실패 동작을 명확히 했습니다. (Ibe98b)SubspaceModifer.sizekdocs에서depth를 명확히 했습니다. (I0f84f)
버전 1.0.0-alpha14
2026년 5월 19일
androidx.xr.compose:compose:1.0.0-alpha14 및 androidx.xr.compose:compose-testing:1.0.0-alpha14이 출시되었습니다. 버전 1.0.0-alpha14에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
- 기본 시스템 처리 3D 움직임을 위한
transformingMovable를 도입하고 맞춤 움직임 동작을 처리하기 위해movable의 새로운 오버로드를 도입했습니다. (I50960) SpatialGltfModel.fromData()가 삭제되었습니다. (I4d083)- 측정 패스 후
onRemeasured콜백을 제공하는 새로운 수정자 노드 인터페이스SubspaceMeasuredSizeAwareModifierNode를 추가했습니다. 이제SubspaceLayoutAwareModifierNode가 이 새로운 인터페이스를 확장합니다.onSizeChanged수정자가onRemeasured를 사용하도록 업데이트되어 배치가 아닌 측정 직후에 콜백이 트리거됩니다. (Iafbae) InteractionPolicy를Interface로 업데이트했습니다. (I0ff30)- Compose
compileSdk가 API 37로 업데이트되었습니다. 즉, Compose를 사용할 때는 최소 AGP 버전 9.2.0이 필요합니다. (Id45cd) Sizekdocs를 업데이트했습니다. (Iefa9a)
버전 1.0.0-alpha13
2026년 5월 6일
androidx.xr.compose:compose:1.0.0-alpha13 및 androidx.xr.compose:compose-testing:1.0.0-alpha13이 출시되었습니다. 버전 1.0.0-alpha13에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
- Orbiter API는 추가 변경사항이 대기 중입니다. Orbiter의 지원 중단 알림을 표시하지 않고 향후 출시에서 Orbiter 변경사항을 주시하는 것이 좋습니다.
SceneCoreEntity를 사용하여 glTF를 렌더링하는 경우 glTF가 렌더링되도록session.scene.activitySpace를GltfModel.create호출의parent매개변수에 전달해야 합니다.- 개발자가 Compose for XR 앱에 Gltf를 추가할 수 있도록
SpatialGltfModelAPI를 추가합니다. 개발자는 Gltf 모델 내에서 애니메이션과 노드를 쿼리할 수도 있습니다. (I8b542, b/495422586) SceneCoreEntitySizeAdapter를 클래스에서 인터페이스로 변경합니다. (I5a784, b/475292310)SurfaceProtection에서SpatialExternalSurfaceProtection로 이름이 변경되었습니다.SpatialExternalSurfacekdocs를 업데이트했습니다. (Ifad0a, b/485231082)currentWindowAdaptiveInfo를 지원 중단하고 V2를 도입합니다. (I40ecf, b/424442112)- 이제
resizable수정자가 공개되며 그룹 (예:SpatialRow)에 적용할 수 있습니다. (I2bcf6, b/348483527, b/489753178, b/479530787) - 이제
movable수정자가 공개됩니다. 이 수정자는 현재SpatialPanels및SpatialExternalSurface에서 잘 작동하지만 모든SubspaceComposables에서 잘 지원되도록 하는 것이 목표입니다. (I9a3cd, b/479530787, b/478935063, b/478935063) SpatialEnterTransition및SpatialExitTransition가@Immutable로 표시됩니다. (If1710, b/487757837)SpatialGltfModelAPI는 추가 테스트가 보류 중인 이 출시 버전에서 제한된 것으로 표시됩니다. (Ibf003, b/466090694)DeviceTrackingMode.LAST_KNOWN의 이름을SPATIAL_LAST_KNOWN로 변경하고 (지원 중단된 대체 포함), 3DoF 추적을 위해INERTIAL_LAST_KNOWN를 추가하고,TrackingState에TRACKING_DEGRADED를 추가했습니다. (Ie661c, b/445466590)- 지원 중단된
SpatialLayoutSpacer를 삭제했습니다. (I7b36c) - 지원 중단된 패딩 API 삭제 (If1886)
- 편향 값에
floatRange을(를) 추가했습니다.LayoutDirection의 기본값을 삭제했습니다. (I9d74e)
버그 수정
SpatialColumn,SpatialRow,SpatialCurvedRow의 코드 샘플과 KDoc 문서를 추가했습니다. (Iaf54f, b/495777633)
버전 1.0.0-alpha12
2026년 3월 25일
androidx.xr.compose:compose:1.0.0-alpha12 및 androidx.xr.compose:compose-testing:1.0.0-alpha12이 출시되었습니다. 버전 1.0.0-alpha12에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
SpatialGltfModelAPI와SpatialGltfModelAnimationAPI를 추가하여 glTF를 렌더링하고 애니메이션을 제어합니다.SpatialGltfModelState를AutoCloseable로 변경했습니다. 이제 리소스를 확보하려면 닫아야 합니다. (I11fde, b/466065486, b/481379924) 하지만SpatialGltfModelAPI는 추가 테스트가 보류 중인 이 출시 버전에서 제한된 것으로 표시됩니다. (Ibf003, b/466090694)SubspaceModifier.rotate에 대해 지원 중단된 빈 오버로드를 추가했습니다. (Idceb6)SpatialSmoothFeatheringEffect함수의 이름을spatialSmoothFeatheringEffect로 바꾸고 그리기 모듈로 이동했습니다.SpatialExternalSurface기본 페더링 값을 null로 업데이트하여 이전 ZeroFeatheringEffect 기능을 모방합니다. (I5fdaa, b/460426800)onPointSourceParamsAvailable을 삭제했습니다. 가까운 시일 내에 다른 오디오 공간화 API가 제공될 예정입니다. (I86507, b/458513439)- 오프셋 하위 공간 수정자에 RTL 동작을 추가했습니다. 레이아웃 방향을 무시하도록
absoluteOffset도 추가했습니다. (I30e4b, b/474409165)
버전 1.0.0-alpha11
2026년 2월 25일
androidx.xr.compose:compose:1.0.0-alpha11 및 androidx.xr.compose:compose-testing:1.0.0-alpha11이 출시되었습니다. 버전 1.0.0-alpha11에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
SpatialExternalSurfaces에SuperSampling매개변수를 추가했습니다. (Icd4d1)
알려진 문제
- SceneCore의
SurfaceEntity문제로 인해SpatialExternalSurface인스턴스를 만들 때 앱이 비정상 종료될 수 있습니다. 이 문제는androidx.xr.scenecore:scenecore-*:1.0.0-alpha13,androidx.xr.compose:compose:1.0.0-alpha12및 이후 출시 버전에서 해결되었습니다. 영향을 받는 앱은 최신 버전으로 업데이트해야 합니다.
API 변경사항
- 레이아웃 방향 인식을 위한 하위 공간 수정자 패딩 변경사항 (I53e25)
SpatialCapabilities이(가) 이제 봉인되었으며 연장할 수 없습니다. (I07aef)- 일반
SpatialAlignment매개변수를 허용하는SpatialRow및SpatialColumnAPI는 지원 중단되었습니다. 대신SpatialRow및SpatialColumn에 각각verticalAlignment또는horizontalAlignment를 허용하는 API를 사용하세요. (Iec390) - 오버로드
SubspaceLayout함수 API 결합 (Idd30a) SubspaceModifier.lookAtUser의 이름이rotateToLookAtUser로,up매개변수의 이름이upDirection로 변경되었습니다. (Icafb8)SpatialRow를 인라인 함수로 만듭니다. (Ia2f20)SpatialColumn를 인라인 함수로 만듭니다. (I681be)- 게시판 API를 삭제했습니다. (Ib76cd)
버전 1.0.0-alpha10
2026년 1월 28일
androidx.xr.compose:compose:1.0.0-alpha10 및 androidx.xr.compose:compose-testing:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
- 지원 중단된 API
ApplicationSubspace를 삭제합니다. (Ia6596, b/468345186) SpatialShape를 봉인된 인터페이스로 업데이트했습니다. (I7e3f5, b/460426800)SpatialAlignment에서 지원 중단된 API 삭제 (Ib0b61, b/468011887)SpatialLayoutSpacer를 지원 중단하고SpatialSpacer를 도입합니다. (I2ebf3, b/466071383)- '지연 잠금' 용어를 '소프트 잠금'으로 대체하도록
UserSubspaceAPI를 업데이트했습니다. (I9ded1, b/464035984)
버전 1.0.0-alpha09
2025년 12월 3일
androidx.xr.compose:compose:1.0.0-alpha09 및 androidx.xr.compose:compose-testing:1.0.0-alpha09이 출시되었습니다. 버전 1.0.0-alpha09에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
- 콘텐츠가 항상 사용자를 향하도록 하는
LookAtUser및 빌보드 수정자가 추가되었습니다. (I49b99) InteractionPolicy를SpatialExternalSurfaces및SpatialPanels로 설정하는 기능이 추가되어 클릭 및 기타 3D 입력 이벤트를 감지할 수 있습니다. (Iae155)- 너비, 높이, 깊이를 Dp 값으로 사용하는 크기 및
requiredSize수정자 오버로드가 추가되었습니다. (I92f79) - 이제
ParentLayoutParamsModifier인터페이스가DelegatableSubspaceNode를 확장합니다. (I1a6d4) ApplicationSubspace는 Subspace API로 대체되어 지원 중단되었습니다.- Subspace API 동작이 권장 포즈 및 배율에서 애플리케이션 전체 하위 공간만 제공하도록 변경되었습니다.
PlanarEmbeddedSubspaceAPI가 도입되어 2D 컨텍스트에서 삽입된 하위 공간을 제공합니다. (Id3343)
SubspaceModifier.NodeAPI에shouldAutoInvalidate플래그를 추가했습니다. (I93902)- 개발자가 상위 요소의 수신 측정 제약 조건을 무시하고
@SubspaceComposable의 크기를 특정 범위로 제한할 수 있는required(Size|Width|Depth|Height)API를 추가했습니다. (Ifaa78) @SubspaceComposable의 크기가 변경될 때 개발자가 반응할 수 있도록 간단하고 집중적인 콜백을 제공하는SubspaceModifier.onSizeChanged를 추가했습니다. (I994f9)- Volume API를 삭제했습니다. Volume API 대신
SceneCoreEntityAPI를 사용해야 합니다. (I4162b) SubspaceLayoutModifierNode.requestRelayout를invalidateMeasurement/invalidatePlacement로 분할합니다. (I14805)- 개발자가 Compose에서 glTF를 렌더링할 수 있는
SpatialGltfModelAPI를 추가했습니다. (Icc91f) - glTF를 쉽게 렌더링할 수 있는
SpatialGltfModel컴포저블 API를 도입했습니다. (Iade67)
버그 수정
SceneCoreEntity의 레이아웃 버그를 수정했습니다. 이제 제약 조건이 올바르게 적용됩니다. (I11bb8)- jxr-compose 모듈을
Compile sdk = 34로 낮춥니다. (I2d5db)
버전 1.0.0-alpha08
2025년 10월 22일
androidx.xr.compose:compose:1.0.0-alpha08 및 androidx.xr.compose:compose-testing:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
onResizeStart,onResizeUpdate,onResizeEnd를 허용하도록ResizePolicy를 변경했습니다. (I7e21f)
버그 수정
- Subspace가 있는 활동을 소멸시킬 때 발생하는 비정상 종료를 방지합니다. (I595a1)
버전 1.0.0-alpha07
2025년 9월 24일
androidx.xr.compose:compose:1.0.0-alpha07 및 androidx.xr.compose:compose-testing:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
SpatialMainPanel의 KDoc가 개선되었습니다. (I27b70, b/444467891)SpatialRow및SpatialColumn와 같은 3D 레이아웃에서 기본 축을 따라 하위 요소를 정렬하는SpatialArrangement를 도입했습니다. 이 새로운 API는Start,End,Center,SpaceBetween,SpaceAround,SpaceEvenly를 비롯한 2D Compose의 익숙한 정렬 옵션을 제공하며 LTR 및 RTL 레이아웃 방향을 모두 완벽하게 지원합니다. (I7db38, b/436289959)SubspaceModifier.Node의 기본 인터페이스를 추가하여 확장 프로그램 인터페이스의 유형 안전성과 사용성을 개선했습니다. 예를 들면 다음과 같습니다.CompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNode- (Iede00, b/440599394, b/440599394)
CoreEntityNode(내부)
- (I33315, b/439646773)에서
SpatialExternalSurface제한을 해제합니다. SubspaceModifier를 Subspace 컴포저블에 도입하고 제약 조건 매개변수를 크기 관련SubspaceModifiers가 있는SubspaceModifier로 바꿉니다.allowUnboundedSubspace이 true이면 하위 공간에 여전히 제한 없는 제약조건이 있을 수 있습니다. (Ib06e6, b/433331675)DragPolicy()및ResizePolicy()가SpatialPanel및SpatialExternalSurfaceAPI의 일부가 되었으므로 이동 및 크기 조절이 가능한SubspaceModifiers를 지원 중단합니다. (I397bf, b/437924639)- 공간 레이아웃에
LayoutDirection지원이 추가되었습니다.SpatialAlignment를 사용하는 컴포저블은 이제 LTR 및 RTL 컨텍스트 모두에서 요소를 올바르게 배치합니다. (I964bb, b/436300273) - 크기 조절 가능 및 이동 가능 매개변수를
PanelAPI에 추가하여 이러한 동작이 지원되는 컨테이너에만 적용될 수 있도록 합니다. (Id491c) - 너비, 높이, 깊이의 정확한 최솟값 및 최댓값 제약 조건을 설정할 수 있는
sizeIn,widthIn,heightIn,depthInSubspaceModifiers를 추가했습니다. (I1af09, b/433330761)
버전 1.0.0-alpha06
2025년 8월 13일
androidx.xr.compose:compose:1.0.0-alpha06 및 androidx.xr.compose:compose-testing:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에는 이러한 커밋이 포함되어 있습니다.
버그 수정
- 수명 주기 소유자가 소멸되면
ComposeXrOwnerLocals를 다시 만듭니다. (9123ce1)
버전 1.0.0-alpha05
2025년 7월 30일
androidx.xr.compose:compose:1.0.0-alpha05 및 androidx.xr.compose:compose-testing:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
SubspaceComposable주석 클래스가 공개되었습니다. (Ic2a34, b/399432430)- 180도 및 360도 구를 나타내는 새로운
SpatialExternalSurface컴포저블 2개가 추가되었습니다. (I40ef2, b/391705799) SubspaceModifier.aspectRatio(Ide5ab, b/399729509, b/414762147) 추가됨SceneCore과 Compose for XR 간의 상호 운용성을 개선하기 위해SceneCoreEntityAPI를 추가했습니다. (I50bb3, b/423020989)- 크기 조정되지 않은
GravityAligned기능을 지원하는GravityAlignedsubspaceAPI를 제공했습니다. (I07359)
API 변경사항
SpatialDialog()은SpatialDialogProperties.dismissOnBack누르기 구성을 따릅니다. (Ib453b, b/416797132)minimumPanelDimension를 미터 단위로 표시하므로 새로운 기본 측정기준 크기인Dimensions(0.1f, 0.1f, 0.1f)로 업데이트합니다. (Ib852a)- 이제 하위 공간과 Orbiter가 홈 공간에서, 그리고 앱이 백그라운드에 있을 때 내부 상태를 유지합니다. 홈 공간 모드에서 Subspace는 전체 공간 모드로 전환할 준비를 위해 장면을 설정합니다. (I40317, b/416037751)
- 이제 앱이 백그라운드에 있을 때
SpatialDialogs가 상태를 유지합니다. (I6aa56) ApplicationSubspace가 이제 시스템에서 권장 배율 및 위치를 상속합니다. (I4565f, b/418834194)SubspaceComposable가SubspaceComposable가 아닌 컨텍스트에서 사용될 때 더 나은 오류 메시지를 추가하고 오류를 더 일찍 트리거합니다. (Iee2ae, b/416484684)- 구성 가능한 API를 오용할 때 경고가 간과되는 경우가 많으므로
ExperimentalSubspaceVolumeApi을 경고에서 오류로 업데이트합니다. (I427aa, b/424864286) - 이제 하위 공간과
ApplicationSubspace가recommendedContentBoxInFullSpace에 의해 제한됩니다. 이전에는SpatialUser의 시야로 제한되었습니다. (I41015, b/423074142) - 하드코딩된 크기를 더 이상 사용하지 않도록 최소 크기를 사용하도록
SpatialElevation를 업데이트합니다. (I2dbe6, b/427785338) - 키 변수가 수정될 때 업데이트되도록
SpatialAcitivityPanel을 스크림하는 방식을 업데이트합니다. (I0f64d, b/427999029) - 기본 제약 조건 값을 동일한 값으로 설정하기 위해
VolumeConstraints.Unbounded를 삭제합니다. (Ie24ec, b/407938414) SpatialFeatheringSize가 더 이상 공개되지 않습니다. (I1c15b, b/399432430)- Compose의
Placeable와 구분하기 위해 XRPlaceable의 이름을SubspacePlaceable로 바꿨습니다. (I74874) - Orbiter 설정을 삭제하고
shouldRenderInNonSpatial을(를) 새 매개변수로 추가합니다. 또한EdgeOffset클래스를 삭제하고orbiterOffsetType를 새 매개변수로 추가하여Orbiter()함수를 통합합니다.OrbiterEdge의 이름도ContentEdge로 변경합니다. (Iebf3d) - Compose의
Measurable유형과 구분하기 위해Measurable의 이름을SubspaceMeasurable로 변경했습니다. (I9726c) MeasureResult의 이름을SubspaceMeasureResult로 바꿨습니다. (I9f34d)Subspace컴포저블과 함께 Compose의setContent를 사용하기 위해setSubspaceContentAPI를 삭제했습니다. (Ifff4c, b/421427391, b/421427391)MeasurePolicy에서SubspaceMeasurePolicy로 이름이 변경되었습니다. (I37a9b, b/422553904)- 기본값이 없으면 멤버를 추가할 수 없으므로
SubspaceSemanticsInfo를 봉인된 인터페이스로 전환합니다. (I372f9, b/423704068) SpatialExternalSurface문서를 업데이트하고ContentSecurityLevel의 이름을SurfaceProtection로 변경했습니다. (I3c460, b/420982808)- 앵커링을 허용하는 이동 가능한 수정자에 오버로드된 생성자를 제공했습니다. (Ic0c70)
- 도움말에 더 많은 위치 제공자를 추가하여 이제 개발자가 도움말을 앵커의 위, 아래, 왼쪽 또는 오른쪽에 배치할지 제어할 수 있습니다. 더 많은 맞춤 도형을 제공할 수 있도록 캐럿의 도형을 사용하는 API를 추가합니다. (Ie513c, b/374766087, b/418854637)
CoreEntity를PublishedApi로 삭제했습니다. (Ifee05)
버그 수정
- 렌더링 시
SpatialDialog가 깜박이는 문제가 해결되었습니다. (Ife73c, b/401619909) SpatialDialog에서 활동 패널을 스크림할 수 없는 문제가 해결되었습니다. (I8ca6c, b/367442109)- XR 대화상자에 일부 콘텐츠가 표시되지 않는 문제를 수정했습니다. (I17cd5, b/418062437)
- 콘텐츠 내부를 클릭하면
SpatialPopup가 닫히는 문제가 해결되었습니다. (If262c, b/417245722) resizable().movable()를 연결할 때 SpatialPanel의 크기가 새 크기로 올바르게 조절되지 않는 문제가 해결되었습니다. (I02ee3, b/422264230)SpatialComposeVideoPlayer에서topBar가 메뉴와 겹치는 문제를 수정했습니다. (Id33bc, b/427168167)- 모서리 반지름이 렌더링되지 않는 문제를 수정했습니다. (I975fe, b/428261830)
버전 1.0.0-alpha04
2025년 5월 7일
androidx.xr.compose:compose:1.0.0-alpha04 및 androidx.xr.compose:compose-testing:1.0.0-alpha04이 출시되었습니다. 버전 1.0.0-alpha04에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 맞춤
SubspaceModifier유형이 컴포지션 로컬 값에 액세스할 수 있도록CompositionLocalConsumerSubspaceModifierNode인터페이스를 추가했습니다. - Compose
AndroidView구현 스타일을 따르고 이전ViewBased SpatialPanel를 지원 중단하는 새로운SpatialPanelAPI를 추가했습니다. - 제한되지 않은 제약 조건을 나타내는
VolumeConstraints.Unbounded컴패니언 객체가 추가되었습니다. - 공간화된 오디오 소스를 허용하도록
SubspaceModifier.onPointSourceParams를 추가했습니다. - 공개
ApplicationSubspace가 추가되어 앱이 공간 콘텐츠를 렌더링할 수 있는 3D 영역을 정의하는 선택적VolumeConstraints를 제공합니다. 기본적으로 제약 조건이 지정되지 않으면 Subspace는SpatialUser의 현재 시야 너비와 높이로 제한됩니다. 사용자는 시야를 확인할 수 없는 경우 사용할 제약 조건을 제공할 수 있습니다. 그렇지 않으면 기본 시야 너비 및 높이 값이 사용됩니다. - 입체 콘텐츠를 렌더링하는 데 사용할 수 있는
SpatialExternalSurface를 추가했습니다.SpatialExternalSurface는 수정자 (알파 제외)와 가장자리 페더링 효과로 맞춤설정할 수 있습니다. - 사용자가 공간 포인터의 아이콘을 설정할 수 있는 새로운
pointerHoverIcon하위 공간 수정자가 추가되었습니다.
API 변경사항
- 모든 Jetpack XR 패키지에서
RequiresApi(34)제한을 삭제했습니다. Jetpack XR은 현재 API 수준 34 이상을 실행하는 기기에서만 사용할 수 있으므로 이 제한사항은 중복되었습니다. (Iae0f8) - Kotlin 2.0으로 출시된 프로젝트를 사용하려면 KGP 2.0.0 이상이 필요합니다. (Idb6b5)
- 이제 삽입된 활동이 없는 공간 패널에서 뒤로 처리가 작동합니다. 뒤로 처리가 작동하려면 Android 매니페스트에
android:enableOnBackInvokedCallback="true"를 지정해야 합니다. - 이제 공간 대화상자에서 뒤로 처리가 작동합니다. 뒤로 처리가 작동하려면 Android 매니페스트에
android:enableOnBackInvokedCallback="true"를 지정해야 합니다. - 이제 Compose 기반 및 뷰 기반
SpatialPanel가 콘텐츠에 따라 크기를 조절할 수 있습니다. - 이제 개발자는 사전 정의된 수준에 국한되지 않고 자체 맞춤
SpatialElevationLevel값을 설정할 수 있습니다. - 이제
elevation매개변수를 통해 궤도선 고도 수준을 맞춤설정할 수 있습니다. - 이제 하위 공간은 기본적으로 너비와 높이에서
SpatialUser의 시야로 제한될 수 있습니다. 시야를 확인할 수 없는 경우 기본 시야 너비 및 높이 값이 사용됩니다. - 새 콜백
onMoveStart및onMoveEnd를Movable수정자에 추가했습니다.onMoveStart및onMoveEnd콜백은 사용자가 이동 가능한 수정자를 사용하여 하위 공간 컴포저블을 이동하기 시작하고 종료할 때 호출됩니다. name매개변수가SpatialRow및SpatialPanel와 같은 공간 API에서 삭제되었습니다. 공간 Compose 트리를 디버깅하려면 대신SubspaceModifier.testTag를 사용하세요.spatialElevationLevel및content만 있는 지원되지 않는SpatialPopup오버로드가 삭제되었습니다.onDimissRequest를 지원하는 인터페이스를 사용하세요.- Movable 수정자의
onPoseChange콜백이 삭제되었습니다. 대신onMove를 사용합니다. SubspaceModifiers이(가) 분리되었거나 현재 분리 중인 경우 더 이상 효과가 적용되지 않습니다.- 기존
SpatialRowAPI가SpatialRow및SpatialCurvedRow로 분할되었습니다. 이전에SpatialRow의curveRadius매개변수를 사용한 경우 이제 동일한 동작을 제공하는SpatialCurvedRow를 대신 사용하세요. MainPanel및ActivityPanel는 유사한 최신 시스템 이미지에서 실행될 때 더 이상 제목 표시줄이 없습니다.- 이제 알파 및 배율 수정자를 누적할 수 있으며 최종 적용된 알파 또는 배율 값에 대해 값을 곱합니다.
- Movable 수정자의
onPoseChange콜백이 더 부드러운 포즈 움직임을 실행하도록 최적화되었습니다. - 이제 이동 및 크기 조절이 가능한 수정자가 기본 스레드에서 콜백을 실행하여 상태 변경으로 인해 리컴포지션이 트리거되도록 합니다.
SubspaceLayout의 상태 변경으로 인해 레이아웃이 다시 트리거되도록 레이아웃 및 측정 단계에 상태 관찰을 추가했습니다.- 기존 수정자를 더 잘 재사용할 수 있도록 수정자 체인 업데이트를 최적화했습니다.
버그 수정
SpatialDialog가 표시될 때 스크림이 중지되었습니다. (Ic4594)- 수정자 노드가 분리된 동안 이루어진 레이아웃 재설정 요청은 이제 무시됩니다.
- Movable 및 Resizable 수정자로 트리거된 레이아웃 재구성 단계를 삭제했습니다.
MainPanel()컴포저블에서 직접 또는 레이아웃 계산 중에(예:SpatialRow/SpatialColumn계산) 측정기준이 0으로 설정될 때 발생하는 비정상 종료 문제를 해결했습니다. 이제 패널이 숨겨집니다. 이 수정사항은 특히 레이아웃 단계 중 발생하는 비정상 종료를 해결합니다. 사용자 상호작용을 통해 패널 크기를 0으로 조절하는 것은 별도로 처리됩니다. 숨겨진 패널에는 UI 어포던스가 없습니다.- 크기 조절 가능한 수정자의
maintainAspectRatio관련 문제가 해결되었습니다. 이제 가로세로 비율이 유지됩니다. - 중첩된 하위 공간이 단일 프레임에 잘못 배치되는 문제가 해결되었습니다.
- 둥근 모서리가 적용되어야 할 때 적용되지 않는 문제가 해결되었습니다.
NestedSubspaces가 잘못된 위치의 한 프레임에 더 이상 표시되지 않습니다.
버전 1.0.0-alpha03
2025년 2월 26일
androidx.xr.compose:compose:1.0.0-alpha03 및 androidx.xr.compose:compose-testing:1.0.0-alpha03은 마지막 알파 이후 눈에 띄는 변경사항 없이 출시되었습니다. 버전 1.0.0-alpha03에는 이러한 커밋이 포함되어 있습니다.
버전 1.0.0-alpha02
2025년 2월 12일
androidx.xr.compose:compose:1.0.0-alpha02 및 androidx.xr.compose:compose-testing:1.0.0-alpha02이 출시되었습니다. 버전 1.0.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 이제 공간 대화상자가 활성화되면 활동 패널에서 콘텐츠를 스크림할 수 있습니다.
- 이제
OrbiterAPI를SubspaceComposable컨텍스트에서 사용할 수 있으며 Orbiter를 가장 가까운SubspaceLayout기반 컴포저블 상위 요소에 연결합니다. - 맞춤 위치 기반 수정자를 허용하는
LayoutCoordinatesAwareModifierNode를 도입했습니다. SubspaceModifier.Node에 연결/분리 수명 주기 메서드가 추가되었습니다.- 이동 가능한 수정자에
scaleWithDistance를 추가했습니다.scaleWithDistance가 사용 설정되면 이동된 하위 공간 요소가 확장되거나 축소됩니다. 또한 이동 전에 있던 명시적 배율도 유지됩니다.
API 변경사항
SessionCallbackProvider를 삭제하고SpatialCapabilities로 대체했습니다.
기타 변경사항
minSDK을 24로 줄였습니다. 모든 Jetpack XR API는 런타임에 API 34를 계속 요구합니다.OrbiterEdgeOffset.inner,EdgeOffset.outer,EdgeOffset.overlap생성자는 더 이상@Composable메서드가 아니므로 구성 불가능한 컨텍스트에서 사용할 수 있습니다.- 최신 UX 사양에 맞게 공간 고도 수준을 업데이트합니다.
SubspaceSemanticsInfo인터페이스를MeasurableLayout에 구현합니다.SubspaceModifierElement에서SubspaceModifierNodeElement로 이름이 변경되었습니다.
버그 수정
SubspaceModifier순서를 안정화하도록 수정했습니다.SubspaceModifier가 더 안정적으로 작동합니다. 이제 오프셋, 회전, 크기 조절, 이동 가능, 크기 조절 가능 수정자를 어떤 순서로든 사용할 수 있습니다.
버전 1.0.0-alpha01
2024년 12월 12일
androidx.xr.compose:compose-*1.0.0-alpha01이 출시되었습니다.
초기 출시의 기능
XR용 Jetpack Compose의 첫 번째 개발자 출시 버전입니다. 기존 2D 앱을 XR로 이식하든 처음부터 새 XR 앱을 만들든, 행과 열과 같은 익숙한 Compose 개념을 사용하여 XR에서 공간 UI 레이아웃을 만듭니다. 이 라이브러리는 하위 공간 및 공간 컴포저블(예: 공간 패널 및 오비터)을 제공하므로 기존 2D Compose 또는 뷰 기반 UI를 공간 레이아웃에 배치할 수 있습니다. 이 버전에서는 UI를 기준으로 3D 모델과 같은 SceneCore 항목을 배치할 수 있는 볼륨 하위 공간 컴포저블이 도입되었습니다. 이 개발자 가이드에서 자세히 알아보세요.
Subspace: 이 컴포저블은 앱의 UI 계층 구조 내 어디에나 배치할 수 있으므로 파일 간의 컨텍스트를 잃지 않고 2D 및 공간 UI의 레이아웃을 유지할 수 있습니다. 이렇게 하면 전체 UI 트리를 통해 상태를 호이스팅하거나 앱을 다시 설계할 필요 없이 XR과 다른 폼 팩터 간에 기존 앱 아키텍처와 같은 항목을 더 쉽게 공유할 수 있습니다.SpatialPanel: 공간 패널은 앱 콘텐츠를 표시할 수 있는 하위 공간 컴포저블입니다. 예를 들어 공간 패널에 동영상 재생, 정지 이미지 또는 기타 콘텐츠를 표시할 수 있습니다.
Orbiter: Orbiter는 공간 UI 구성요소입니다. 해당 공간 패널에 연결되도록 설계되었으며 해당 공간 패널과 관련된 탐색 및 상황별 작업 항목을 포함합니다. 예를 들어 동영상 콘텐츠를 표시하는 공간 패널을 만든 경우 오비터 내에 동영상 재생 컨트롤을 추가할 수 있습니다.
볼륨: UI를 기준으로 3D 모델과 같은 SceneCore 항목을 배치합니다.
공간 레이아웃: 여러 공간 패널을 만들고
SpatialRow,SpatialColumn,SpatialBox,SpatialLayoutSpacer를 사용하여 공간 레이아웃 내에 배치할 수 있습니다.SubspaceModifier를 사용하여 레이아웃을 맞춤설정합니다.공간 UI 구성요소: 이러한 요소는 2D UI에서 재사용할 수 있으며 공간 속성은 공간 기능이 사용 설정된 경우에만 표시됩니다.
SpatialDialog: 패널이 z 깊이에서 약간 뒤로 밀려 올라간 대화상자를 표시합니다.SpatialPopUp: 패널이 z 깊이에서 약간 뒤로 밀려나면서 위로 올라온 팝업이 표시됩니다.SpatialElevation:SpatialElevationLevel를 설정하여 고도를 추가할 수 있습니다.
SpatialCapabilities: 공간 기능은 사용자가 앱 또는 시스템과 상호작용할 때 변경될 수 있으며, 앱 자체에서 변경할 수도 있습니다(예: 홈 공간 또는 전체 공간으로 이동). 문제를 방지하려면 앱에서
LocalSpatialCapabilities.current를 확인하여 현재 환경에서 지원되는 API를 확인해야 합니다.isSpatialUiEnabled: 공간 UI 요소 (예: SpatialPanel)isContent3dEnabled: 3D 객체isAppEnvironmentEnabled: 환경isPassthroughControlEnabled: 애플리케이션이 패스 스루 상태를 제어할 수 있는지 여부isSpatialAudioEnabled: 서라운드 오디오
알려진 문제
- 현재 XR용 Jetpack Compose를 사용하려면 minSDK 30이 필요합니다. 이 문제를 해결하려면 다음 매니페스트 항목
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>을 추가하여 minSDK 23으로 빌드하고 실행할 수 있습니다. - Jetpack XR 앱은 현재 AndroidManifest에서
android.permission.SCENE_UNDERSTANDING권한을 요청해야 합니다. - 앱이 매니페스트의
PROPERTY_XR_ACTIVITY_START_MODE속성을 사용하여 전체 공간으로 직접 실행되면 활동/애플리케이션이 처음에 홈 공간에서 열린 후 전체 공간으로 전환됩니다. - 볼륨 컴포저블의 glTF가 처음에는 잘못된 위치에서 깜박일 수 있습니다.
- 크게 이동된 패널에서 SpatialDialog를 사용하면 콘텐츠가 잘못된 방향으로 밀립니다.