SubspaceModifier jest podobny do modyfikatora Compose dla elementów kompozycyjnych
w Subspace. SubspaceModifier umożliwia manipulowanie elementami kompozycyjnymi w przestrzeni 3D, co pomaga w pozycjonowaniu, obracaniu i dodawaniu zachowań do węzłów układu 3D.
Układ
Domyślnie Subspace jest ograniczony przez zalecaną przestrzeń do wyświetlania
aplikacji. Te granice są używane podczas pomiaru układu komponentów podprzestrzeni
, podobnie jak granice w układach Compose 2D.
Wypełnij granice
Modyfikatory fillMaxSize, fillMaxWidth, fillMaxHeight i
fillMaxDepth powodują, że treść (częściowo) wypełnia granice elementu nadrzędnego.
Używanie modyfikatorów wypełnienia pomaga w układzie treści aplikacji, która jest niezależna od charakterystyki wyświetlacza urządzenia z XR.
Ustawianie rozmiaru i wymaganego rozmiaru
Modyfikatory size, width, height i depth określają preferowany rozmiar treści. Aby zadeklarować dokładny rozmiar treści, użyj requiredSize, requiredWidth, requiredHeight i requiredDepth. Te jednostki muszą być określone
w dp; aby przekonwertować metry na dp, użyj Meter.toDp().
Pozycjonowanie elementów kompozycyjnych
offset
Modyfikator offset przesuwa element kompozycyjny w przestrzeni 3D wzdłuż osi x, y,
i z. Te jednostki muszą być określone w dp; aby przekonwertować metry na
dp, użyj Meter.toDp().
rotate
Modyfikator rotate obraca dany element kompozycyjny w przestrzeni. Kierunek i stopień obrotu można określić na różne sposoby:
- za pomocą pochylenia, odchylenia i obrotu, które określają odpowiednio obrót wokół osi
x,yiz; - za pomocą
axisAngle, czyliVector3reprezentującego oś obrotu, oraz stopnia, o jaki należy obrócić element wokół tej osi; - za pomocą
Quaternion, który reprezentuje obrót.
rotateToLookAtUser
Modyfikator rotateToLookAtUser stale obraca
treść, tak aby zawsze była skierowana do użytkownika. Możesz też użyć tego modyfikatora, aby uzyskać efekt „billboardu”, w którym treść obraca się w kierunku użytkownika na osi Y, pozostając jednocześnie w pozycji pionowej i wyrównanej do grawitacji. Aby to zrobić,
połącz modyfikator rotateToLookAtUser z
modyfikatorem gravityAligned.
Ten modyfikator wymaga, aby aplikacja skonfigurowała obiekt
bieżącej sesji za pomocą
DeviceTrackingMode.LAST_KNOWN.
Zmienianie wyglądu elementów kompozycyjnych
alpha
Modyfikator alpha ustawia przezroczystość elementu i jego elementów podrzędnych.
Wartość 0f oznacza pełną przezroczystość, a 1.0f – całkowitą nieprzezroczystość.
scale
Modyfikator scale skaluje zawartość elementu kompozycyjnego wzdłuż osi poziomej, pionowej i głębokości.
Testowanie i ułatwienia dostępu
semantics
Modyfikator semantics dodaje semantykę do węzła układu, która jest używana w
testowaniu i ułatwieniach dostępu. Zobacz Semantyka w Jetpack Compose i
SemanticsModifier.
testTag
Modyfikator testTag to skrót od
SemanticsPropertyReceiver.testTag, który umożliwia frameworkom testowym znajdowanie
elementu w testach.