하위 공간 수정자

SubspaceModifierSubspace의 컴포저블에 관한 Compose 수정자와 유사합니다. SubspaceModifier를 사용하면 3D 공간에서 컴포저블을 조작하여 3D 레이아웃 노드에 동작을 배치, 회전, 추가할 수 있습니다.

레이아웃

기본적으로 Subspace앱을 보는 데 권장되는 공간으로 제한됩니다. 이러한 경계는 2D Compose 레이아웃의 경계와 마찬가지로 하위 공간 구성요소의 레이아웃을 측정할 때 사용됩니다.

채우기 경계

수정자 fillMaxSize, fillMaxWidth, fillMaxHeight, fillMaxDepth는 콘텐츠가 상위 요소의 경계를 (부분적으로) 채웁니다. 채우기 수정자를 사용하면 앱이 XR 기기의 디스플레이 특성과 무관한 콘텐츠를 레이아웃하는 데 도움이 됩니다.

크기 및 필수 크기 설정

수정자 size, width, height, depth는 콘텐츠의 기본 크기를 선언합니다. 콘텐츠의 정확한 크기를 선언하려면 requiredSize, requiredWidth, requiredHeight, requiredDepth를 사용하세요. 이러한 단위는 dp에 지정해야 합니다. 미터에서 dp로 변환하려면 Meter.toDp()를 사용하세요.

위치 컴포저블

offset

offset 수정자는 x, y, z 축을 따라 3D 공간에서 컴포저블을 이동합니다. 이러한 단위는 dp에 지정해야 합니다. 미터에서 dp로 변환하려면 Meter.toDp()를 사용하세요.

rotate

rotate 수정자는 공간에서 지정된 컴포저블을 회전합니다. 다음과 같은 다양한 방법으로 회전 방향과 각도를 지정할 수 있습니다.

  • x, y, z 축을 중심으로 회전을 지정하는 피치, 요, 롤 사용
  • 회전축을 나타내는 Vector3axisAngle와 회전해야 하는 각도를 사용하여
  • 회전을 나타내는 Quaternion 사용

컴포저블의 모양 변경

alpha

alpha 수정자는 요소와 그 하위 요소의 불투명도를 설정합니다. 여기서 0f은 완전히 투명함을 나타내고 1.0f은 완전히 불투명함을 나타냅니다.

scale

scale 수정자는 가로, 세로, 깊이 축을 따라 컴포저블의 콘텐츠를 조정합니다.

컴포저블에 동작 추가

resizable

resizable 수정자가 사용 설정되면 사용자가 요소 크기를 조절할 수 있는 드래그 가능한 UI 컨트롤이 표시됩니다. 이는 Entity에서 ResizableComponent를 사용하는 것과 유사합니다.

movable

movable 수정자가 사용 설정되면 구성요소에 UI 컨트롤이 추가되어 사용자가 3D 공간에서 요소를 이동할 수 있습니다. 이는 Entity에서 MovableComponent를 사용하는 것과 유사합니다.

테스트 및 접근성

semantics

semantics 수정자는 테스트 및 접근성에 사용할 시맨틱을 레이아웃 노드에 추가합니다. Jetpack Compose의 시맨틱SemanticsModifier를 참고하세요.

testTag

testTag 수정자는 테스트 프레임워크가 테스트에서 요소를 찾을 수 있도록 하는 SemanticsPropertyReceiver.testTag의 축약형입니다.