ArSceneView

Öffentliche Klasse ArSceneView

Ein SurfaceView, das sich in ARCore einbinden und eine Szene rendern lässt

Übernommene Konstanten

Übernommene Felder

Public Constructors

ArSceneView(Kontext)
Erstellt ein ArSceneView-Objekt und bindet es an einen Android-Kontext.
ArSceneView(Kontext, AttributeSet-Attribute)
Erstellt ein ArSceneView-Objekt und bindet es an einen Android-Kontext.

Public Methods

Frame
getArFrame
Gibt den neuesten ARCore-Frame zurück, falls er verfügbar ist.
int
getCameraStreamRenderPriority()
Hiermit wird die Rendering-Priorität bestimmt, mit der die Reihenfolge des Renderings des Kamerastreams gesteuert wird.
PlaneRenderer
getPlaneRenderer
Gibt PlaneRenderer zurück, mit dem die Visualisierung der Ebene gesteuert wird.
Sitzung
getSession()
Gibt die ARCore-Sitzung zurück, die von dieser Ansicht verwendet wird.
boolean
isEnvironmentalHdrLightingAvailable
Gibt „true“ zurück, wenn die ARCore-Kamera mit Config.LightEstimationMode.ENVIRONMENTAL_HDR konfiguriert wurde.
boolean
isLightDirectionUpdateEnabled()
Prüft anhand der geschätzten Umgebungslichtverhältnisse, ob das Sonnenlicht jeden Frame aktualisiert wird.
boolean
Ungültig
pause()
Pausiert den Rendering-Thread und die ARCore-Sitzung.
CompletableFuture<Void>
pauseAsync(Executor-Executor)
Nicht blockierender Aufruf zum Pausieren des Rendering-Threads und der ARCore-Sitzung.
Ungültig
continue()
Setzt den Rendering-Thread und die ARCore-Sitzung fort.
CompletableFuture<Void>
continueAsync(Executor-Executor)
Anruf wird nicht blockiert, um Rendering-Thread und ARCore-Sitzung im Hintergrund fortzusetzen

Dies muss über onResume() aufgerufen werden.

Ungültig
setCameraStreamRenderPriority(int-Priorität)
Legen Sie die Rendering-Priorität fest, um die Reihenfolge festzulegen, in der der Kamerastream gerendert wird.
Ungültig
setLightDirectionUpdateEnabled(boolesche isLightDirectionUpdateEnabled)
Legt fest, ob die durch Umgebungs-HDR-Beleuchtung erzeugte Sonnenlichtrichtung bei jedem Frame aktualisiert werden soll.
Ungültig
setLightEstimationEnabled(boolesche Aktivierung)
Lichtschätzung basierend auf dem Kamerafeed aktivieren
Ungültig
setupSession(Session)
Ansicht mit einer AR-Sitzung einrichten

Übernommene Methoden

Public Constructors

public ArSceneView (Kontext)

Erstellt ein ArSceneView-Objekt und bindet es an einen Android-Kontext.

Damit das Rendering wie gewünscht funktioniert, muss setupSession(Session) aufgerufen werden.

Parameter
context den zu verwendenden Android-Kontext
Weitere Informationen

public ArSceneView (Context context, AttributeSet attrs)

Erstellt ein ArSceneView-Objekt und bindet es an einen Android-Kontext.

Damit das Rendering wie gewünscht funktioniert, muss setupSession(Session) aufgerufen werden.

Parameter
context den zu verwendenden Android-Kontext
attrs das Android AttributeSet, mit dem eine Verknüpfung hergestellt werden soll
Weitere Informationen

Public Methods

public Frame getArFrame ()

Gibt den neuesten ARCore-Frame zurück, falls er verfügbar ist. Der Frame wird zu Beginn jedes Frames der Zeichnung aktualisiert. Aufrufer dieser Methode sollten keinen Verweis auf den Rückgabewert beibehalten, da die Verwendung des ARCore-Frames ab dem nächsten Frame ungültig ist.

public int getCameraStreamRenderPriority ()

Hiermit wird die Rendering-Priorität bestimmt, mit der die Reihenfolge des Renderings des Kamerastreams gesteuert wird. Die Priorität liegt zwischen 0 (gerendert) und 7 (letztes Rendering).

Der Standardwert ist 7, wodurch der Kamerastream zuletzt gerendert wird. Diese Option eignet sich am besten für die Leistung, da sie ein Überschneidungen verhindert. Wenn Sie ein Material als Verdeckung verwenden (z. B. im Beispiel für Augmented Faces), sollte dies geändert werden. Andernfalls verdeckt der Kamerastream nicht. Schwarz wird gerendert.

öffentlich PlaneRenderer getPlaneRenderer ()

Gibt PlaneRenderer zurück, mit dem die Visualisierung der Ebene gesteuert wird.

public Session getSession ()

Gibt die ARCore-Sitzung zurück, die von dieser Ansicht verwendet wird.

Öffentlich boolesch isEnvironmentalHdrLightingAvailable ()

Gibt „true“ zurück, wenn die ARCore-Kamera mit Config.LightEstimationMode.ENVIRONMENTAL_HDR konfiguriert wurde. Wenn der Umgebungs-HDR-Modus aktiviert ist, werden die resultierenden Lichtschätzungen auf die Szenenszene angewendet.

Rückgabe:
  • "true", wenn die HDR-Beleuchtung in Sceneform aktiviert ist, da die ARCore-HDR-Belichtung aktiviert ist.

Öffentlich boolesch isLightDirectionUpdateEnabled ()

Prüft anhand der geschätzten Umgebungslichtverhältnisse, ob das Sonnenlicht jeden Frame aktualisiert wird.

Rückgabe:
  • True, wenn die Richtung des Sonnenlichts in jedem Frame aktualisiert wird, andernfalls False.

Öffentlich boolesch isLightEstimationEnabled ()

Rückgabe:
  • Gibt „true“ zurück, wenn die Lichtschätzung aktiviert ist.

public void pause ()

Pausiert den Rendering-Thread und die ARCore-Sitzung.

Dies muss über onPause() aufgerufen werden.

public CompletableFuture<Void> pauseAsync (Executor Executor)

Nicht blockierender Aufruf zum Pausieren des Rendering-Threads und der ARCore-Sitzung.

Dies sollte über onPause() aufgerufen werden.

Wenn „pauseAsync“ aufgerufen wird, während eine weitere Pause ausgeführt wird, wird die Pause in die Warteschlange gestellt und ausgeführt, sobald der aktuelle Vorgang abgeschlossen ist.

Parameter
Executor
Rückgabe:
  • Ein CompletableFuture im Hauptthread der Pause wurde abgeschlossen. Die Zukunft wird in Ausnahmefällen abgeschlossen, wenn der Lebenslauf nicht möglich ist.

Öffentlich void Lebenslauf ()

Setzt den Rendering-Thread und die ARCore-Sitzung fort.

Dies muss über onResume() aufgerufen werden.

Throws
Ausnahme: Kameranicht verfügbar wenn die Kamera nicht geöffnet werden kann

public CompletableFuture<Void> continueAsync (Executor-Executor)

Anruf wird nicht blockiert, um Rendering-Thread und ARCore-Sitzung im Hintergrund fortzusetzen

Dies muss über onResume() aufgerufen werden.

Wird aufgerufen, während eine weitere Pause oder ein Fortsetzen ausgeführt wird, wird der Lebenslauf in die Warteschlange gestellt und nach Abschluss des aktuellen Vorgangs ausgeführt.

Parameter
Executor
Rückgabe:
  • Ein CompletableFuture-Objekt im Haupt-Thread, sobald der Lebenslauf abgeschlossen ist. Die Zukunft wird in Ausnahmefällen abgeschlossen werden, wenn der Lebenslauf nicht möglich ist.

public void setCameraStreamRenderPriority (int Priorität)

Legen Sie die Rendering-Priorität fest, um die Reihenfolge festzulegen, in der der Kamerastream gerendert wird. Die Priorität liegt zwischen 0 (gerendert) und 7 (letztes Rendering).

Der Standardwert ist 7, wodurch der Kamerastream zuletzt gerendert wird. Diese Option eignet sich am besten für die Leistung, da sie ein Überschneidungen verhindert. Wenn Sie ein Material als Verdeckung verwenden (z. B. im Beispiel für Augmented Faces), sollte dies geändert werden. Andernfalls verdeckt der Kamerastream nicht. Schwarz wird gerendert.

Parameter
priority

public void setLightDirectionUpdateEnabled (boole isLightDirectionUpdateEnabled)

Legt fest, ob die durch Umgebungs-HDR-Beleuchtung erzeugte Sonnenlichtrichtung bei jedem Frame aktualisiert werden soll. Bei „false“ wird die Lichtrichtung einmal aktualisiert und danach nicht mehr geändert.

Hiermit lassen sich Aktualisierungen der Schattenrichtung deaktivieren, wenn sie ablenken oder unerwünscht sind.

Der Standardzustand ist „true“ und die Richtung der Sonneneinstrahlung wird in jedem Frame aktualisiert.

Parameter
isLightDirectionUpdateEnabled

public void setLightEstimationEnabled (boolesche Aktivierung)

Lichtschätzung basierend auf dem Kamerafeed aktivieren Die Farbe und die Intensität des indirekten Sonnenlichts werden durch Werte moduliert, die von der ARCore-Lichtschätzung bezogen werden. Litigierte Objekte in der Szene sind davon betroffen.

Parameter
aktivieren Wird auf „true“ gesetzt, um die Lichtschätzung zu aktivieren, oder auf „false“, um die Standardschätzung zu verwenden. Diese ist eine Pixelintensität von 1,0 und der Farbkorrekturwert von Weiß (1,0, 1,0, 1,0).

public void setupSession (Session-Sitzung)

Ansicht mit einer AR-Sitzung einrichten Diese Methode muss einmal aufgerufen werden, um die ARCore-Sitzung bereitzustellen. Die Sitzung ist für jedes Rendering erforderlich.

Die Sitzung muss mit dem Aktualisierungsmodus von LATEST_CAMERA_IMAGE konfiguriert werden. Ohne diese Konfiguration könnte die Aktualisierung der ARCore-Sitzung den UI-Thread blockieren und die Nutzerfreundlichkeit beeinträchtigen.

Parameter
session ARCore-Sitzung für diese Ansicht
Weitere Informationen