In Sceneform Scene viene creato un grafico scenografico, un'organizzazione gerarchica dei contenuti di una scena. Una scena può avere zero o più nodi secondari e ogni nodo può avere zero o più nodi secondari.
La scena fornisce anche hit hit, un modo per rilevare quale nodo viene toccato da un MotionEvent o Ray.
Corsi nidificati
interfaccia | Scena.OnPeekTouchListener | Definizione di interfaccia per un callback da richiamare quando viene inviato un evento touch in una scena. | |
interfaccia | Scena.OnTouchListener | Definizione di interfaccia per un callback da richiamare quando viene inviato un evento touch in una scena. | |
interfaccia | Scena.OnUpdateListener | Definizione di interfaccia per un callback da richiamare una volta per frame immediatamente prima dell'aggiornamento della scena. |
Campi
public static final EnvironmentalHdrParameters | DEFAULT_HDR_PARAMETER |
Costruttori pubblici
Metodi pubblici
nullo |
addOnPeekTouchListener(Scene.OnPeekTouchListener onPeekTouchListener)
Aggiunge un listener che verrà chiamato prima di
Scene.OnTouchListener . |
nullo |
addOnUpdateListener(Scene.OnUpdateListener onUpdateListener)
Aggiunge un listener che verrà chiamato una volta per frame immediatamente prima dell'aggiornamento della scena.
|
Fotocamera |
getCamera()
Ottieni la videocamera utilizzata per il rendering della scena.
|
Nodo |
getSunlight()
Recupera il nodo di luce solare predefinito.
|
Scene |
getView()
Restituisce la SceneView utilizzata per creare la scena.
|
Risultato test |
hitTest(MotionEvent motionEvent)
Esegue un test per verificare se un evento di movimento tocca i nodi all'interno della scena, in base a un test hit da raggio la cui origine è la posizione dello schermo dell'evento di movimento e restituisce un HitTestResult contenente il nodo più vicino allo schermo.
|
Risultato test | |
ArrayList<HitTestResult> |
hitTestAll(raggio Ray)
Esegue un test per verificare se un raggio raggiunge i nodi all'interno della scena e restituisce un elenco di
HitTestResults contenente tutti i nodi interessati, ordinati in base alla distanza.
|
ArrayList<HitTestResult> |
hitTestAll(evento MotionEvent)
Esegue un test per vedere se un evento di movimento sta toccando un nodo qualsiasi della scena e restituisce un elenco di HitTestResults contenente tutti i nodi interessati, ordinati in base alla distanza.
|
nullo |
onAddChild(Nodo secondario)
|
nullo |
onRemoveChild(nodo secondario)
|
Nodo |
overlapTest(nodo Node)
Test per verificare se la forma di collisione del nodo specificato si sovrappone alla forma di collisione di altri nodi nella scena utilizzando
getCollisionShape() . |
ArrayList<Node> |
overlapTestAll(nodo Node)
Esegue test per vedere se un nodo si sovrappone a qualsiasi altro nodo della scena utilizzando
getCollisionShape() . |
nullo |
removeOnPeekTouchListener(Scene.OnPeekTouchListener onPeekTouchListener)
Rimuove un listener che verrà chiamato prima che venga richiamato
Scene.OnTouchListener . |
nullo |
removeOnUpdateListener(Scene.OnUpdateListener onUpdateListener)
Rimuove un listener che verrà chiamato una volta per frame immediatamente prima dell'aggiornamento della scena.
|
nullo |
setLightEstimated(Correzione del colore Color, numero in pixel dell'immagine in virgola mobile)
Imposta la stima della luce per modulare l'illuminazione e l'intensità della scena.
|
nullo |
setOnTouchListener(Scene.OnTouchListener su TouchTouch)
Registra un callback da attivare quando la scena viene toccata.
|
Metodi ereditati
Campi
public static final EnvironmentalHdrParameters DEFAULT_HDR_PARAMETERS
Costruttori pubblici
pubblica Scena (visualizzazione SceneView)
Crea una scena con il contesto specificato.
Parametri
vista |
---|
Metodi pubblici
public void addOnPeekTouchListener (Scene.OnPeekTouchListener onPeekTouchListener)
Aggiunge un listener che verrà chiamato prima di Scene.OnTouchListener
. Viene richiamato anche se il gesto è stato utilizzato, consentendo di osservare tutti gli eventi di movimento inviati nella scena. Viene chiamato anche se il tocco non è posizionato su un nodo, nel qual caso
getNode()
sarà null. I listener vengono chiamati nell'ordine in cui sono stati aggiunti.
Parametri
onPeekTouchListener | l'ascoltatore touch tocco per aggiungere |
---|
public void addOnUpdateListener (Scene.OnUpdateListener onUpdateListener)
Aggiunge un listener che verrà chiamato una volta per frame immediatamente prima dell'aggiornamento della scena. I listener vengono chiamati nell'ordine in cui sono stati aggiunti.
Parametri
onUpdateListener | il listener di aggiornamenti da aggiungere |
---|
pubblica Videocamera getVideocamera ()
Ottieni la videocamera utilizzata per il rendering della scena. La videocamera è un tipo di nodo.
Restituisce
- la fotocamera utilizzata per eseguire il rendering della scena
pubblico Nodo getSunlight ()
Recupera il nodo di luce solare predefinito.
Restituisce
- il nodo della luce solare utilizzato per illuminare la scena
pubblico HitTestResult hitTest (MotionEvent motionEvent)
Esegue un test per verificare se un evento di movimento tocca i nodi all'interno della scena, in base a un test hit da raggio la cui origine è la posizione dello schermo dell'evento di movimento e restituisce un HitTestResult contenente il nodo più vicino allo schermo.
Parametri
movimentoEvento | L'evento di movimento da utilizzare per il test. |
---|
Restituisce
- Il risultato include il primo nodo interessato dall'evento di movimento (potrebbe essere nullo) e informazioni sul punto in cui l'evento di movimento ha colpito il nodo nello spazio mondiale
pubblico HitTestResult hitTest (Ray ray)
Esegue un test per vedere se un raggio colpisce eventuali nodi all'interno della scena e genera un HitTestResult contenente il nodo più vicino all'origine del raggio che si interseca con il raggio.
Parametri
Ray | raggio da utilizzare per il test |
---|
Restituisce
- il risultato include il primo nodo che è stato colpito dal raggio (potrebbe essere nullo) e informazioni su dove il raggio ha colpito il nodo nello spazio mondiale
Vedi anche
pubblico ArrayList<HitTestResult> hitTestAll (Ray ray)
Esegue un test per verificare se un raggio raggiunge i nodi all'interno della scena e restituisce un elenco di HitTestResults contenente tutti i nodi interessati, ordinati in base alla distanza.
Parametri
Ray | Il raggio da utilizzare per il test. |
---|
Restituisce
- Completato con HitTestResult per ogni nodo selezionato in base alla distanza. Vuoto se non è stato colpito alcun nodo.
Vedi anche
pubblico ArrayList<HitTestResult> hitTestAll (MotionEvent motionEvent)
Esegue un test per vedere se un evento di movimento sta toccando un nodo qualsiasi della scena e restituisce un elenco di HitTestResults contenente tutti i nodi interessati, ordinati in base alla distanza.
Parametri
movimentoEvento | L'evento di movimento da utilizzare per il test. |
---|
Restituisce
- Completato con HitTestResult per ogni nodo selezionato in base alla distanza. Vuoto se non è stato colpito alcun nodo.
pubblico Nodo overlapTest (nodo nodo)
Test per verificare se la forma di collisione del nodo specificato si sovrappone alla forma di collisione di altri nodi nella scena utilizzando getCollisionShape()
. Il nodo utilizzato per il test non deve essere attivo.
Parametri
nodo | Il nodo da utilizzare per il test. |
---|
Restituisce
- Un nodo che si sovrappone al nodo di test. Se nessun nodo si sovrappone al nodo di test, questo è null. Se più nodi si sovrappongono, il nodo di test potrebbe essere uno dei due.
Vedi anche
pubblico ArrayList<Node> overlapTestAll (Nodo)
Esegue test per vedere se un nodo si sovrappone a qualsiasi altro nodo della scena utilizzando getCollisionShape()
. Il nodo utilizzato per il test non deve essere attivo.
Parametri
nodo | Il nodo da utilizzare per il test. |
---|
Restituisce
- Un elenco di tutti i nodi che si sovrappongono al nodo di test. Se nessun nodo si sovrappone al nodo di test, l'elenco è vuoto.
Vedi anche
public void removeOnPeekTouchListener (Scene.OnPeekTouchListener onPeekTouchListener)
Rimuove un listener che verrà chiamato prima che venga richiamato Scene.OnTouchListener
.
Viene richiamato anche se il gesto è stato utilizzato, consentendo di osservare tutti gli eventi di movimento inviati nella scena. Ciò viene chiamato anche se il tocco non è relativo a un nodo, nel qual caso
getNode()
sarà null.
Parametri
onPeekTouchListener | l'ascoltatore touch tocco |
---|
public void removeOnUpdateListener (Scene.OnUpdateListener onUpdateListener)
Rimuove un listener che verrà chiamato una volta per frame immediatamente prima dell'aggiornamento della scena.
Parametri
onUpdateListener | il listener di aggiornamenti da rimuovere |
---|
public void setLightEstimated (Colore correzione colore, numero in virgola mobile in virgola mobile)
Imposta la stima della luce per modulare l'illuminazione e l'intensità della scena. Le luci utilizzate utilizzeranno una combinazione di questi valori e il colore e l'intensità delle luci. Un valore di colore di colore bianco e pixelIntensità pari a 1 indica che non vengono apportate modifiche alle impostazioni di luminosità.
Viene utilizzata internamente dalle scene AR Sceneform per regolare l'illuminazione in base ai valori di ARCore. Una scena AR la chiamerà automaticamente, sostituendo eventualmente altre impostazioni. Nella maggior parte dei casi, non è necessario chiamarlo esplicitamente.
Parametri
Correzione colore | modula il colore dell'illuminazione della scena. |
---|---|
pixel, intensità | modula l'intensità luminosa della scena. |
public void setOnTouchListener (Scene.OnTouchListener onTouchListener)
Registra un callback da attivare quando la scena viene toccata. Il callback viene richiamato dopo l'invio dell'evento touch ai nodi della scena se nessun nodo ha consumato l'evento. Ciò è detto anche se il tocco non è posizionato su un nodo, nel qual caso getNode()
sarà null.
Parametri
onTouchListener | l'ascoltatore tattile da collegare |
---|