Модификаторы подпространства

SubspaceModifier похож на модификатор Compose для компонуемых объектов в Subspace . SubspaceModifier позволяет вам манипулировать компонуемыми объектами в трехмерном пространстве, помогая вам позиционировать, вращать и добавлять поведения к узлам трехмерной компоновки.

Макет

По умолчанию Subspace ограничен рекомендуемым пространством для просмотра приложения . Эти границы используются при измерении макета компонентов вашего 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 . Эти единицы должны быть указаны в dp ; для преобразования из метров в dp используйте Meter.toDp() .

rotate

Модификатор rotate вращает указанный компонуемый объект в пространстве. Вы можете указать направление и величину поворота разными способами:

  • Используя тангаж, рыскание и крен, которые определяют вращение вокруг осей x , y и z соответственно,
  • Используя axisAngle , который является Vector3 представляющим ось вращения, и количество градусов, на которое она должна быть повернута,
  • Использование Quaternion , представляющего вращение.

Изменение внешнего вида компонуемых объектов

alpha

Модификатор alpha устанавливает непрозрачность элемента и его дочерних элементов, где 0f означает полную прозрачность, а 1.0f означает полную непрозрачность.

scale

Модификатор scale масштабирует содержимое компонуемого объекта по горизонтальной, вертикальной и глубинной осям.

Добавить поведения к компонуемым объектам

resizable

Когда модификатор resizable включен, будут показаны перетаскиваемые элементы управления пользовательского интерфейса, которые позволяют пользователю изменять размер элемента. Это похоже на использование ResizableComponent на Entity .

movable

Когда модификатор movable включен, к компоненту будут добавлены элементы управления пользовательского интерфейса, которые позволяют пользователю перемещать элемент в трехмерном пространстве. Это похоже на использование MovableComponent на Entity .

Тестирование и доступность

semantics

Модификатор semantics добавляет семантику в узел макета для использования в тестировании и доступности. См. Семантика в Jetpack Compose и SemanticsModifier .

testTag

Модификатор testTag — это сокращение от SemanticsPropertyReceiver.testTag , которое позволяет тестовым фреймворкам находить элемент в тестах.