Widok przestrzenny

klasa publiczna ArSceneView

SurfaceView, który integruje się z ARCore i renderuje scenę.

Stałe dziedziczone

Dziedziczone pola

Budownictwo publiczne

ArSceneView(Kontekst kontekst)
Tworzy obiekt ArSceneView i łączy go z kontekstem Androida.
ArSceneView(kontekst Kontekstu, atrybuty)
Tworzy obiekt ArSceneView i łączy go z kontekstem Androida.

Metody publiczne

Ramka
getArFrame
Zwraca najnowszą ramkę ARCore, jeśli jest dostępna.
int,
getCameraStreamRenderPriority()
Pobierz priorytet renderowania, który steruje kolejnością renderowania strumienia kamery.
Renderowanie samolotów
getPlaneRenderer()
Zwraca PlaneRenderer używany do sterowania wizualizacją platformy.
Sesja
getSession()
Zwraca sesję ARCore używaną w tym widoku.
wartość logiczna
isEnvironmentalHdrLightingAvailable()
Zwraca wartość „true”, jeśli kamera ARCore jest skonfigurowana z konfiguracją Config.LightEstimationMode.ENVIRONMENTAL_HDR.
wartość logiczna
isLightDirectionUpdateEnabled()
Sprawdza, czy słońce jest aktualizowane w każdej klatce na podstawie szacowanego oświetlenia środowiska.
wartość logiczna
nieważne
pause()
Wstrzymuje wątek renderowania i sesję ARCore.
CompletableFuture<Void>
pauseAsync (wykonawca wykonawcy)
Nieblokujące wywołanie, aby wstrzymać wątek renderowania i sesję ARCore.
nieważne
wznowienie()
Wznawia wątek renderowania i sesję ARCore.
CompletableFuture<Void>
resumeAsync (wykonawca wykonawcy)
Nieblokujące wywołanie, aby wznowić wątek renderowania i sesję ARCore w tle

Ta funkcja musi być wywoływana z funkcji onWznów().

nieważne
setCameraStreamRenderPriority(priorytet)
Ustaw priorytet renderowania, aby kontrolować kolejność renderowania strumienia kamery.
nieważne
setLightDirectionUpdateEnabled(wartość logiczna isLightDirectionUpdateEnabled)
Określa, czy kierunek światła słonecznego generowany przez oświetlenie otoczenia w trybie HDR ma być aktualizowany w każdej klatce.
nieważne
setLightEstimationEnabled (wartość logiczna włączona)
Włącz szacowanie światła na podstawie obrazu z kamery.
nieważne
setupSession(sesja sesji)
Skonfiguruj widok danych za pomocą sesji AR.

Metody dziedziczone

Budownictwo publiczne

publiczny ArSceneView (kontekst))

Tworzy obiekt ArSceneView i łączy go z kontekstem Androida.

Aby renderowanie działało prawidłowo, musisz wywołać metodę setupSession(Session).

Parametry
sytuacja kontekstu Androida,

publiczne ArSceneView (kontekst, atrybuty)

Tworzy obiekt ArSceneView i łączy go z kontekstem Androida.

Aby renderowanie działało prawidłowo, musisz wywołać metodę setupSession(Session).

Parametry
sytuacja kontekstu Androida,
atrybuty atrybut Android AttributeSet, z którym ma być powiązane powiązanie
Zobacz również

Metody publiczne

Ramka publiczna getArFrame ()

Zwraca najnowszą ramkę ARCore, jeśli jest dostępna. Ramka jest aktualizowana na początku każdej klatki rysunku. Wywołujące tę metodę nie powinny zawierać odwołania do wartości zwracanej, ponieważ użycie klatki ARCore od następnej klatki będzie nieprawidłowe.

public int getCameraStreamRenderPriority ()

Pobierz priorytet renderowania, który steruje kolejnością renderowania strumienia kamery. Priorytet musi mieścić się w zakresie od 0 (wyrenderowano pierwszy) i 7 (wyrenderowano jako ostatni).

Wartość domyślna to 7, co wymusza renderowanie kamery jako ostatniej. To najlepsze rozwiązanie w przypadku wydajności, ponieważ zapobiega przejęciu. Jeśli jednak używasz tego materiału jako elementu przesłaniającego (na przykład w próbce obszernych twarzy), musisz to zmienić. W przeciwnym razie przesłania strumień transmisji z kamery. Czarny zostanie wyrenderowany.

PlaneRenderer getPlaneRenderer ()

Zwraca PlaneRenderer używany do sterowania wizualizacją platformy.

Sesja getSession ()

Zwraca sesję ARCore używaną w tym widoku.

publiczna wartość logiczna isEnvironmentalHdrLightingAvailable()

Zwraca wartość „true”, jeśli kamera ARCore jest skonfigurowana z konfiguracją Config.LightEstimationMode.ENVIRONMENTAL_HDR. Gdy tryb Oświetlenie środowiska jest włączony, uzyskane oświetlenie będzie stosowane do sceny sceny.

Zwraca
  • prawda, jeśli oświetlenie Sceneform jest włączone w trybie HDR, ponieważ włączone jest szacowanie światła w ARCore.

publiczna wartość logiczna isLightDirectionUpdateEnabled ()

Sprawdza, czy słońce jest aktualizowane w każdej klatce na podstawie szacowanego oświetlenia środowiska.

Zwraca
  • true (prawda), jeśli kierunek słoneczny jest aktualizowany w każdej klatce (fałsz), a false (fałsz).

publiczna wartość logiczna isLightEstimationEnabled ()

Zwraca
  • zwraca wartość „prawda”, jeśli włączone jest szacowanie światła.

void void pause ()

Wstrzymuje wątek renderowania i sesję ARCore.

Ta funkcja musi być wywoływana z funkcji onpause().

public CompletableFuture<Void> pauseAsync (Wykonawca)

Nieblokujące wywołanie, aby wstrzymać wątek renderowania i sesję ARCore.

Ta funkcja powinna być wywoływana z funkcji onpause().

Jeśli funkcja stopAsync jest wywoływana w trakcie innego wstrzymania lub wznawiania, wstrzymanie zostanie umieszczone w kolejce i nastąpi po zakończeniu bieżącej operacji.

Parametry
wykonawca
Zwraca
  • Zakończono działanie CompletableFuture w głównym wątku podczas wstrzymania. Przyszłość willi zakończy się wyjątkowo, jeśli nie uda się wznowić CV.

publiczny void wznów ()

Wznawia wątek renderowania i sesję ARCore.

Ta funkcja musi być wywoływana z funkcji onWznów().

Narzuty
Kamera niedostępna jeśli nie można otworzyć aparatu

public CompletableFuture<Void> resumeAsync (Wykonawca wykonawcy)

Nieblokujące wywołanie, aby wznowić wątek renderowania i sesję ARCore w tle

Ta funkcja musi być wywoływana z funkcji onWznów().

Jeśli zostanie wywołane podczas innego wstrzymania lub wznowienia, CV zostanie dodane do kolejki i nastąpi po zakończeniu bieżącej operacji.

Parametry
wykonawca
Zwraca
  • Po zakończeniu wznawiania w oknie głównym ukończono CompletableFuture. Przyszłość zostanie całkowicie ukończona, jeśli nie można wznowić CV.

void voidsetCameraStreamRenderPriority(priorytet)

Ustaw priorytet renderowania, aby kontrolować kolejność renderowania strumienia kamery. Priorytet musi mieścić się w zakresie od 0 (wyrenderowano pierwszy) i 7 (wyrenderowano jako ostatni).

Wartość domyślna to 7, co wymusza renderowanie kamery jako ostatniej. To najlepsze rozwiązanie w przypadku wydajności, ponieważ zapobiega przejęciu. Jeśli jednak używasz tego materiału jako elementu przesłaniającego (na przykład w próbce obszernych twarzy), musisz to zmienić. W przeciwnym razie przesłania strumień transmisji z kamery. Czarny zostanie wyrenderowany.

Parametry
rekrutacja priorytetowa

void voidsetLightDirectionUpdateEnabled(wartość logiczna isLightDirectionUpdateEnabled)

Określa, czy kierunek światła słonecznego generowany przez oświetlenie otoczenia w trybie HDR ma być aktualizowany w każdej klatce. Jeśli zasada ma wartość Fałsz, kierunek światła jest zaktualizowany tylko raz, a następnie nie jest już zmieniony.

Możesz go użyć, by wyłączyć aktualizacje kierunku cienia, które rozpraszają lub niechciane.

Domyślny stan to prawda. Światło słoneczne jest aktualizowane w każdej klatce.

Parametry
IsLightDirectionUpdateEnabled

void voidsetLightEstimationEnabled(wartość logiczna włączona)

Włącz szacowanie światła na podstawie obrazu z kamery. Kolor i intensywność światła pośredniego będzie modyfikowana na podstawie wartości wynikających z oszacowania światła ARCore. Będzie to miało wpływ na obiekty litowe w scenie.

Parametry
włącz Ustaw wartość true, aby włączyć szacowanie światła lub ustawić wartość false, aby użyć domyślnej wartości szacunkowej, czyli intensywności kolorów 1,0 i wartości korekcji kolorów białej (1,0, 1,0, 1,0).

void void setupSession (Sesja))

Skonfiguruj widok danych za pomocą sesji AR. Tę metodę należy wywołać raz, aby udostępnić sesję ARCore. Sesja jest wymagana do renderowania.

Sesja powinna być skonfigurowana w trybie aktualizacji LATEST_CAMERA_IMAGE. Bez tej konfiguracji aktualizacja sesji ARCore może blokować wątek interfejsu, co pogarsza wrażenia użytkowników.

Parametry
sesja sesja ARCore, której chcesz używać w tym widoku danych