サブスペース修飾子

SubspaceModifier は、Subspace 内のコンポーザブルの Compose 修飾子に似ています。SubspaceModifier を使用すると、3D 空間でコンポーザブルを操作できるため、3D レイアウト ノードに配置、回転、動作を追加できます。

レイアウト

デフォルトでは、Subspaceアプリの表示に推奨されるスペースで制限されます。これらの境界は、2D Compose レイアウトの境界と同様に、サブスペース コンポーネントのレイアウトを測定するときに使用されます。

塗りつぶし境界

修飾子 fillMaxSizefillMaxWidthfillMaxHeightfillMaxDepth を使用すると、コンテンツが親の境界を(部分的に)埋め尽くします。フィリング修飾子を使用すると、XR デバイスのディスプレイ特性に依存しないアプリ レイアウト コンテンツを作成できます。

サイズと必要なサイズを設定する

修飾子 sizewidthheightdepth は、コンテンツの推奨サイズを宣言します。コンテンツの正確なサイズを宣言するには、requiredSizerequiredWidthrequiredHeightrequiredDepth を使用します。これらの単位は dp で指定する必要があります。メートルから dp に変換するには、Meter.toDp() を使用します。

コンポーザブルの位置を設定

offset

offset 修飾子は、xyz 軸に沿って 3D 空間内でコンポーザブルを移動します。これらの単位は dp で指定する必要があります。メートルから dp に変換するには、Meter.toDp() を使用します。

rotate

rotate 修飾子は、指定されたコンポーザブルを空間内で回転させます。回転の方向と回転量は、次の方法で指定できます。

  • ピッチ、ヨー、ロールを使用して、それぞれ x 軸、y 軸、z 軸の回転を指定します。
  • axisAngle を使用する(Vector3 は回転軸と回転角度を表します)。
  • 回転を表す Quaternion を使用する。

コンポーザブルの外観を変更する

alpha

alpha 修飾子は、要素とその子要素の不透明度を設定します。0f は完全に透明、1.0f は完全に不透明を表します。

scale

scale 修飾子は、コンポーザブルのコンテンツを水平軸、垂直軸、深度軸に沿ってスケーリングします。

コンポーザブルに動作を追加する

resizable

resizable 修飾子が有効になっていると、ドラッグ可能な UI コントロールが表示され、ユーザーが要素のサイズを変更できるようになります。これは、EntityResizableComponent を使用する場合と同様です。

movable

movable 修飾子が有効になっている場合、コンポーネントに UI コントロールが追加され、ユーザーは 3D 空間で要素を移動できるようになります。これは、EntityMovableComponent を使用する場合と似ています。

テストとユーザー補助

semantics

semantics 修飾子は、テストとユーザー補助で使用するために、レイアウト ノードにセマンティクスを追加します。Jetpack Compose のセマンティクスSemanticsModifier をご覧ください。

testTag

testTag 修飾子は SemanticsPropertyReceiver.testTag の省略形で、テスト フレームワークがテスト内の要素を見つけられるようにします。