Aparat

klasa publiczna Kamera

Reprezentuje kamerę wirtualną, która określa perspektywę, w której ogląda się daną scenę.

Jeśli ArSceneView należy do kamery, automatycznie śledzi jej pozycję z ARCore. Oprócz tego poniższe metody spowodują wywołanie UnsupportedOperationException:

Wszystkie inne funkcje w węźle są obsługiwane. Możesz sprawdzać położenie i obrót kamery, przypisywać kształtowi kolizji do kamery lub dodawać dzieci. Wyłączenie kamery powoduje wyłączenie renderowania.

Metody publiczne

liczba zmiennoprzecinkowa
liczba zmiennoprzecinkowa
liczba zmiennoprzecinkowa
getVerticalFovDegrees()
Pobiera pionowe pole widzenia kamery.
Być może
screenPointToRay (liczba zmiennoprzecinkowa x, liczba zmiennoprzecinkowa Y)
Oblicza promień w przestrzeni świata przecinający obszar bliski płaszczyzny kamery i przechodzący przez taki obszar.
nieważne
setLocalPosition(Pozycja Vector3)
Określ położenie kamery.
nieważne
setLocalRotation(rotacja Quaternion)
Ustaw obrót kamery.
nieważne
setParent(element nadrzędny NodeParent)
Nieobsługiwana operacja.
nieważne
setVerticalFovDegrees (liczba zmiennoprzecinkowa pionowy)
Ustawia poziomy pola widzenia w przypadku aparatu innego niż kątowy w stopniach.
nieważne
setWorldPosition(pozycja Vector3)
Określ położenie kamery.
nieważne
setWorldRotation (rotacja kwartałów)
Ustaw obrót kamery.
Wektor3
worldToScreenPoint(Vector3 punkt)
Przekształć punkt z przestrzeni świata w ekran.

Metody dziedziczone

Metody publiczne

liczba pływająca getFarClipPlane ()

powłoka publiczna getNearClipPlane ()

powszechna liczba zmiennoprzecinkowa getVerticalFovDegrees ()

Pobiera pionowe pole widzenia kamery.

Jeśli jest to kamera AR, jest obliczana na podstawie informacji z kamery z ARCore i może się różnić w zależności od urządzenia. Nie można go obliczyć, dopóki pierwsza sesja ARCore nie zostanie wznowiona – w takim przypadku zostanie wywołany wyjątek DisallowStateException.

W przeciwnym razie zostanie zwrócona wartość ustawiona na setVerticalFovDegrees(float), a domyślna wartość to 90 stopni.

Narzuty
DisallowStateException (niedozwolony stan) jeśli jest wywoływane przed rozpoczęciem pierwszej klatki po wznowieniu ARCore;

publiczny Ray screenPointToRay (liczba zmiennoprzecinkowa x, pływająca y)

Oblicza promień w przestrzeni świata przecinający obszar bliski płaszczyzny kamery i przechodzący przez taki obszar. Układ ekranu znajduje się we współrzędnych ekranu urządzenia z Androidem: lewy górny = (0, 0) prawy dolny = (szerokość ekranu, wysokość ekranu). Układ współrzędnych urządzenia nie ma wpływu na orientację urządzenia.

Parametry
x Pozycja X na współrzędnych ekranu urządzenia.
r. Pozycja na osi Y na współrzędnych ekranu urządzenia.

void void setLocalPosition (Vector3))

Określ położenie kamery. Aparat zawsze isTopLevel(), więc działa tak samo jak setWorldPosition(Vector3).

Jeśli kamera jest częścią systemu ArSceneView, ta operacja nie jest obsługiwana. Nie można zmienić pozycji kamery, ponieważ jest ona sterowana przez pozycję ARCore.

Parametry
position Pozycja, która ma zostać zastosowana.

nieważny setLocalRotation (rotacja kwartałów)

Ustaw obrót kamery. Aparat zawsze isTopLevel(), więc działa tak samo jak setWorldRotation(Quaternion).

Jeśli kamera jest częścią systemu ArSceneView, ta operacja nie jest obsługiwana. Nie można zmienić rotacji kamery. Kontroluje ją położenie kamery ARCore.

Parametry
obrót Rotacja, którą chcesz zastosować.

void void setParent (ParentParent)

Nieobsługiwana operacja. Nie można zmienić rodzica w kamerze – zawsze jest to scena.

Parametry
element nadrzędny Nowy element nadrzędny, z którego będzie korzystał węzeł. Jeśli węzeł będzie pusty, ten węzeł zostanie odłączony od jego elementu nadrzędnego.

void void setVerticalFovDegrees (floatverticalFov)

Ustawia poziomy pola widzenia w przypadku aparatu innego niż kątowy w stopniach. Jeśli to jest kamera AR, Fov pochodzi z ARCore i nie można go ustawić, więc zostanie zgłoszony wyjątek. Wartość domyślna to 90 stopni.

Parametry
pionowaFov
Narzuty
Nieobsługiwany wyjątek operacyjny jeśli to jest kamera AR

void void setWorldPosition (Vector3))

Określ położenie kamery. Aparat zawsze isTopLevel(), więc działa tak samo jak setLocalPosition(Vector3).

Jeśli kamera jest częścią systemu ArSceneView, ta operacja nie jest obsługiwana. Nie można zmienić pozycji kamery, ponieważ jest ona sterowana przez pozycję ARCore.

Parametry
position Pozycja, która ma zostać zastosowana.

nieważny setWorldRotation (obrót Kryterium)

Ustaw obrót kamery. Aparat zawsze isTopLevel(), więc działa tak samo jak setLocalRotation(Quaternion).

Jeśli kamera jest częścią systemu ArSceneView, ta operacja nie jest obsługiwana. Nie można zmienić rotacji kamery. Kontroluje ją położenie kamery ARCore.

Parametry
obrót Rotacja, którą chcesz zastosować.

Vector3 worldToScreenPoint (Vector3))

Przekształć punkt z przestrzeni świata w ekran.

Wartość X jest ujemna, gdy punkt pozostaje w widocznym obszarze, między 0 a szerokością SceneView, gdy punkt znajduje się w widocznym obszarze, i większy niż jego szerokość po prawej stronie widocznego obszaru.

Wartość Y jest ujemna, gdy punkt znajduje się pod widocznym obszarem, od 0 do wysokości SceneView, gdy punkt znajduje się w widocznym obszarze, i więcej niż wysokość, gdy punkt znajduje się powyżej widocznego obszaru.

Wartość Z jest zawsze równa 0, bo wartość zwrotna jest współrzędną 2D.

Parametry
punkt punkt konwersji na świecie
Zwraca
  • nowy wektor, który reprezentuje punkt w przestrzeni ekranu.