Visualizzazione ArScene

classe pubblica ArSceneView

Un componente SurfaceView che si integra con ARCore ed esegue il rendering di una scena.

Costanti ereditate

Campi ereditati

Costruttori pubblici

ArSceneView(contesto Contesto)
Crea un oggetto ArSceneView e lo associa a un contesto Android.
ArSceneView(contesto Contesto, Attributi AttributeSet)
Crea un oggetto ArSceneView e lo associa a un contesto Android.

Metodi pubblici

Frame
getArFrame()
Restituisce il frame ARCore più recente se disponibile.
int
getCameraStreamRenderPriority()
Stabilisci la priorità di rendering che controlla l'ordine di rendering dello streaming della videocamera.
PlaneRenderer
getPlaneRenderer()
Restituisce PlaneRenderer, utilizzato per controllare la visualizzazione del piano.
Session (Sessione)
getSession()
Restituisce la sessione ARCore utilizzata da questa vista.
boolean
isEnvironmentalHdrLightingAvailable()
Restituisce true se la videocamera ARCore è configurata con Config.LightEstimationMode.ENVIRONMENTAL_HDR.
boolean
isLightDirectionUpdateEnabled()
Verifica se la luce del sole viene aggiornata ogni frame in base alla stima dell'illuminazione HDR ambientale.
boolean
nullo
in pausa()
Mette in pausa il thread di rendering e la sessione ARCore.
CompletableFuture<Void&GT;
pauseAsync(esecutore Esecutore)
Chiamata senza blocco per mettere in pausa il thread di rendering e la sessione ARCore.
nullo
resume()
Riprendi il thread di rendering e la sessione ARCore.
CompletableFuture<Void&GT;
resumeAsync(esecutore esecutore)
Chiamata non bloccata per riprendere il thread di rendering e la sessione ARCore in background

Questa operazione deve essere chiamata da onRiprendi().

nullo
setCameraStreamRenderPriority(priorità delle int)
Imposta la priorità di rendering per controllare l'ordine di rendering dello stream della videocamera.
nullo
setlightDirectionUpdateEnabled(boolean isLightDirectionUpdateEnabled)
Consente di stabilire se la direzione della luce solare generata dall'illuminazione HDR ambientale deve essere aggiornata per ogni frame.
nullo
setLightEstimationEnabled(attivazione booleana)
Attiva Stima della luce in base al feed della videocamera.
nullo
setupSession(sessione)
Imposta la vista con una sessione AR.

Metodi ereditati

Costruttori pubblici

pubblica ArSceneView (contesto)

Crea un oggetto ArSceneView e lo associa a un contesto Android.

Per il corretto funzionamento del rendering, è necessario chiamare setupSession(Session).

Parametri
context il contesto Android da utilizzare

pubblica ArSceneView (contesto Contesto, AttributiSet attributi)

Crea un oggetto ArSceneView e lo associa a un contesto Android.

Per il corretto funzionamento del rendering, è necessario chiamare setupSession(Session).

Parametri
context il contesto Android da utilizzare
Attributi Android AttributeSet a cui associare

Metodi pubblici

pubblico Frame getArFrame ()

Restituisce il frame ARCore più recente se disponibile. Il frame viene aggiornato all'inizio di ogni frame di disegno. I chiamanti di questo metodo non dovrebbero conservare un riferimento al valore restituito, poiché non sarà valido utilizzare il frame ARCore a partire dal frame successivo.

public int getCameraStreamRenderPriority ()

Stabilisci la priorità di rendering che controlla l'ordine di rendering dello streaming della videocamera. La priorità è compresa tra un intervallo compreso tra 0 (rendere visualizzato prima) e 7 (rendere l'ultimo elemento).

Il valore predefinito è 7, che forza il rendering dello stream della videocamera per ultimo. Questo è il miglior per le prestazioni perché impedisce il sovraccarico. Tuttavia, quando usi un materiale come occluder, ad esempio nell'esempio dei volti aumentati, questo valore deve essere modificato. Altrimenti, l'occluder oscurerà lo streaming della videocamera e verrà visualizzato il nero.

pubblico PlaneRenderer getPlaneRenderer ()

Restituisce PlaneRenderer, utilizzato per controllare la visualizzazione del piano.

pubblica Sessione getSession ()

Restituisce la sessione ARCore utilizzata da questa vista.

pubblico booleano isEnvironmentalHdrLightingAvailable ()

Restituisce true se la videocamera ARCore è configurata con Config.LightEstimationMode.ENVIRONMENTAL_HDR. Quando la modalità di illuminazione HDR ambientale è abilitata, le stime delle luci risultanti verranno applicate alla scena Sceneform.

Restituisce
  • true se l'illuminazione HDR è abilitata in Sceneform perché la stima dell'illuminazione HDR di ARCore è abilitata.

pubblico booleano isLightDirectionUpdateEnabled ()

Verifica se la luce del sole viene aggiornata ogni frame in base alla stima dell'illuminazione HDR ambientale.

Restituisce
  • true se la direzione della luce del sole è aggiornata ogni frame, altrimenti false.

pubblico booleano isLightEstimationEnabled ()

Restituisce
  • restituisce true se è abilitata la stima della luce.

pubblica void in pausa ()

Mette in pausa il thread di rendering e la sessione ARCore.

Questa operazione deve essere chiamata da onpause().

public CompletableFuture<Void> pauseAsync (Executor esecutore)

Chiamata senza blocco per mettere in pausa il thread di rendering e la sessione ARCore.

Questa operazione deve essere chiamata da onpause().

Se pauseAsync viene chiamato mentre è in corso un'altra pausa o un'altra ripresa, la messa in pausa verrà accodata e verrà eseguita al termine dell'operazione corrente.

Parametri
esecutore
Restituisce
  • Un CompletableFuture completato nel thread principale in pausa è stato completato. Il futuro verrà completato in modo eccezionale se non sarà possibile ripristinare il curriculum.

pubblico void ripristina ()

Riprendi il thread di rendering e la sessione ARCore.

Questa operazione deve essere chiamata da onRiprendi().

Genera
Eccezione fotocamera non disponibile Se non è possibile aprire la fotocamera

public CompletableFuture<Void> resumeAsync (Executor esecutore)

Chiamata non bloccata per riprendere il thread di rendering e la sessione ARCore in background

Questa operazione deve essere chiamata da onRiprendi().

Se viene richiamato mentre è in corso un'altra messa in pausa o ripristino, il curriculum verrà accodato e avvenuto dopo il completamento dell'operazione corrente.

Parametri
esecutore
Restituisce
  • Un CompletableFuture è stato completato nel thread principale una volta completato il curriculum. Il futuro verrà completato eccezionalmente se il curriculum non può essere effettuato.

public void setcameraStreamRenderPriority (priorità int)

Imposta la priorità di rendering per controllare l'ordine di rendering dello stream della videocamera. La priorità è compresa tra un intervallo compreso tra 0 (rendere visualizzato prima) e 7 (rendere l'ultimo elemento).

Il valore predefinito è 7, che forza il rendering dello stream della videocamera per ultimo. Questo è il miglior per le prestazioni perché impedisce il sovraccarico. Tuttavia, quando usi un materiale come occluder, ad esempio nell'esempio dei volti aumentati, questo valore deve essere modificato. Altrimenti, l'occluder oscurerà lo streaming della videocamera e verrà visualizzato il nero.

Parametri
priority

public void setLightDirectionUpdateEnabled (boolean isLightDirectionUpdateEnabled)

Consente di stabilire se la direzione della luce solare generata dall'illuminazione HDR ambientale deve essere aggiornata per ogni frame. Se il valore è false, la direzione della luce viene aggiornata una sola volta e non viene più modificata.

Può essere utilizzato per disattivare gli aggiornamenti della direzione delle ombre quando sono fonte di distrazione o indesiderati.

Lo stato predefinito è true, con la direzione della luce solare aggiornata ogni frame.

Parametri
isLightDirectionUpdateEnabled

pubblico void setLightEstimationEnabled (attivazione booleana)

Attiva Stima della luce in base al feed della videocamera. Il colore e l'intensità della luce indiretta del sole saranno modulati dai valori forniti dalla stima della luce di ARCore. Sono interessati gli oggetti illuminati nella scena.

Parametri
Attiva impostato su true per abilitare la stima della luce o su false per utilizzare la stima predefinita, che è un'intensità in pixel pari a 1,0 e il valore di correzione del colore è bianco (1,0, 1,0, 1,0).

pubblica void setupSession (sessione)

Imposta la vista con una sessione AR. Questo metodo deve essere chiamato una volta per fornire la sessione ARCore. La sessione è necessaria affinché venga eseguito il rendering.

La sessione dovrebbe essere configurata con la modalità di aggiornamento LATEST_CAMERA_IMAGE. Senza questa configurazione, l'aggiornamento della sessione ARCore potrebbe bloccare il thread dell'interfaccia utente e compromettere l'esperienza utente.

Parametri
sessione la sessione ARCore da utilizzare per questa vista