Questa è la classe base di molti oggetti in three.js e fornisce un insieme di proprietà e metodi
per manipolare gli oggetti 3D nello spazio.
Si noti che questa classe può essere utilizzata per raggruppare gli oggetti tramite il metodo
[page:.add]( object ) il quale aggiunge l'oggetto come figlio, tuttavia è meglio usare [page:Group] per questo.
Il cotruttore non prende argomenti.
Array con clip di animazione dell'oggetto.
Se l'oggetto viene renderizzato nella mappa delle ombre. Il valore predefinito è `false`.
Array con i children dell'oggetto. Vedi [page:Group] per informazioni su come raggrupare manualmente gli oggetti.
Materiale depth personalizzato da utilizzare durante il rendering della mappa di depth. Può essere utilizzato solo nel contesto delle mesh. Quando si proietta un'ombra con [page:DirectionalLight] o [page:SpotLight], se si modificano le posizioni dei vertici nello shader dei vertici è necessario specificare un customDepthMaterial per le shadow corrette. Il valore predefinito è `undefined`.
Lo stesso di [page:.customDepthMaterial customDepthMaterial], ma viene utilizzato con [page:PointLight]. Il valore predefinito è `undefined`.
Quando questo è impostato, controlla ogni fotogramma, se l'oggetto è nel frustrum della telecamera prima renderizzare l'oggetto. Se è impostato a `false` l'oggetto viene renderizzato ad ogni fotogramma anche se non si trova nel frustrum della telecamera. Il valore predefinito è `true`.
sola lettura – Numero univoco per questa istanza.
Flag di sola lettura per controllare se un dato oggetto è di tipo [name].
Il layer di appartenenza dell'oggetto. L'oggetto è visibile solo se ha al più un layer in comune con la [page:Camera telecamera] utilizzata. Questa proprietà può anche essere utilizata per filtrare gli oggetti non voluti nell'intersezione di test del reycasting quando si usa il [page:Raycaster].
La matrice di trasformazione locale.
Quando viene settato calcola la matrice di posizione, (rotazione o quaternione) e ridimensiona ogni fotogramma ed inoltre ricalcola la proprietà matrixWorld. L'impostazione predefinita è [page:Object3D.DefaultMatrixAutoUpdate] (true).
La trasformazione globale dell'oggetto. Se l'Object3D non ha un genitore, è identico al [page:.matrix] della trasformazione locale.
Il valore predefinito è true. Se impostato, il renderer controlla ogni frame se l'oggetto e i suo figli necessitano di aggiornare la matrice. Quando non lo è, devi mantenere tu stesso tutte le matrici nell'oggetto e i suoi figli.
Quando viene settato calcola la matrixWorld in quel frame e reimposta questa proprietà a false. Il valore predefinito è `false`.
Questo viene passato allo shader e utilizzato per calcolare la posizione dell'oggetto.
Nome opzionale dell'oggetto (non è necessario che sia univoco). Il valore predefinito è una stringa vuota.
Questo viene passato allo shader e utilizzato per calcolare l'illuminazione per l'oggetto.
È la trasposizione dell'inverso della sottomatrice 3x3 in alto a sinistra di modelViewMatrix di questo oggetto.
Il motivo di questa matrice speciale è che il semplice utilizzo della matrice modelViewMatrix potrebbe causare una lunghezza non unitaria delle normali
(in caso di scalatura) o una direzione non perpendicolare (in caso di scalatura non uniforme).
Dall'altra parte, la parte di traslazione della matrice modelViewMatrix non è rilevante per il calcolo delle normali. Quindi una Matrix3 è sufficiente.
Una callback opzionale che viene eseguita immediatamente dopo che un oggetto 3D è stato renderizzato. Questa funzione è chiamata con i seguenti parametri: renderer, scene, camera, geometry, material, group.
Si noti che questa funzione di callback viene eseguita per oggi 3D `renderizzabili` (renderable). Ovvero oggetti 3D che definiscono il loro aspetto visivo con geometrie e materiali come istanze di [page:Mesh], [page:Line], [page:Points] o [page:Sprite]. Invece, le istanze di [page:Object3D], [page:Group] o [page:Bone] non sono renderizzabili e quindi questa callback non viene eseguita su questi oggetti.
Una callback opzionale che viene eseguita immediatamente prima che un oggetto 3D è stato renderizzato. Questa funzione è chiamata con i seguenti parametri: renderer, scene, camera, geometry, material, group.
Si noti che questa funzione di callback viene eseguita per oggi 3D `renderizzabili` (renderable). Ovvero oggetti 3D che definiscono il loro aspetto visivo con geometrie e materiali come istanze di [page:Mesh], [page:Line], [page:Points] o [page:Sprite]. Invece, le istanze di [page:Object3D], [page:Group] o [page:Bone] non sono renderizzabili e quindi questa callback non viene eseguita su questi oggetti.
Genitore dell'oggetto nel [link:https://en.wikipedia.org/wiki/Scene_graph grafo della scena]. Un oggetto può avere più di un genitore.
Un [page:Vector3] che rappresenta la posizione locale dell'oggetto. Il valore predefinito è `(0, 0, 0)`.
Rotazione locale dell'oggetto come un [page:Quaternion Quaternion].
Se il materiale riceve ombre. Il valore predefinito è `false`.
Questo valore consente di sovrascrivere l'ordine di rendering predefinito degli oggetti del [link:https://en.wikipedia.org/wiki/Scene_graph grafico di scena] sebbene gli oggetti opachi e trasparenti rimangano ordinati in modo indipendente. Quando questa proprietà viene impostata per un'istanza di [page:Group Group], tutti gli oggetti discendenti saranno ordinati e renderizzati insieme. L'ordinamento è dal più piccolo al più grande renderOrder. Il valore predefinito è `0`.
La rotazione locale dell'oggetto (vedi [link:https://en.wikipedia.org/wiki/Euler_angles gli angoli di Eulero]), in radianti.
La scala locale dell'oggetto. Il valore predefinito è [page:Vector3]( 1, 1, 1 ).
Questa proprietà viene utilizzata dal metodo [page:.lookAt lookAt], per esempio, per determinare l'orientamento del risultato.
L'impostazione predefinita è [page:Object3D.DefaultUp] - che è, `( 0, 1, 0 )`.
Un oggetto che può essere utilizzato per memorizzare i dati personalizzati di un Object3D. Non dovrebbe contenere riferimenti a funzioni poiché queste non verranno clonate.
[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] dell'istanza dell'oggetto. Viene assegnato automaticamente, non dovrebbe essere modificato.
L'oggetto viene visualizzato se `true`. Il valore predefinito è `true`.
Le proprietà statiche e i metodi sono definiti per classe piuttosto che per istanza della classe. Questo significa che modificando [page:Object3D.DefaultUp] o [page:Object3D.DefaultMatrixAutoUpdate] verranno modificati i valori di [page:.up up] e [page:.matrixAutoUpdate matrixAutoUpdate] per `ogni` istanza di Object3D (o classi derivate) creata dopo che la modifica è stata fatta (gli Object3D già creati non saranno interessati).
La direzione predefinita di [page:.up up] per gli oggetti, utilizzata anche come posizione predefinita per [page:DirectionalLight],
[page:HemisphereLight] e [page:Spotlight] (che crea luci che brillano dall'alto verso il basso).
Impostare su ( 0, 1, 0 ) per impostazione predefinita.
L'impostazione predefinita per [page:.matrixAutoUpdate matrixAutoUpdate] per Object3D appena creati.
I metodi [page:EventDispatcher EventDispatcher] sono disponibili in questa classe.
Aggiunge l'`object` come figlio di questo oggetto. È possibile aggiungere un numero arbitrario di oggetti.
Qualsiasi genitore corrente su un oggetto passato qui verrà rimosso, poiché un oggetto può avere al più un genitore.
Vedi [page:Group] per avere informazioni per raggruppare manualmente gli oggetti.
Applica la matrice di trasformazione all'oggetto e aggiorna la posizione, la rotazione e la scala dell'oggetto.
Applica la rotazione rappresentata dal quaternione dell'oggetto.
Aggiunge l'`object` come figlio di questo oggetto, mantenendo la trasformazione world dell'oggetto.
Nota: Questo metodo non supporta i grafici della scena con nodi con scalatura non uniforme.
recursive -- se true, anche i discendenti dell'oggetto vengono clonati. Il valore predefinito è true.
Restituisce un clone di questo oggetto e opzionalmente tutti i discendenti.
recursive -- se true, anche i discendenti dell'oggetto vengono copiati. Il valore predefinito è true.
Copia l'oggetto passato in questo oggetto.
Nota: Gli event listener e le callback definite dall'utente ([page:.onAfterRender] e [page:.onBeforeRender]) non vengono copiate.
id -- Numero univoco dell'istanza dell'oggetto
Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con l'id corrispondente.
Si noti che gli id sono assegnati in ordine cronologico: 1, 2, 3, ..., incrementando di uno per ogni nuovo oggetto.
name -- Stringa da abbinare alla proprietà Object3D.name dei figli.
Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con il nome corrispondente.
Si noti che per molti oggetti il nome è una stringa vuota da impostazione predefinita. Dovrai impostarlo manualmente per
utilizzare questo metodo.
name -- il nome della proprietà da cercare.
value -- il valore della proprietà data.
Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con la proprietà che corrisponde al valore passato.
[page:Vector3 target] — il risultato verrà copiato in questo Vector3.
Restituisce un vettore che rappresenta la posizione dell'oggetto nello spazio world.
[page:Quaternion target] — il risultato sarà copiato in questo Quaternione.
Restituisce un quaternione che rappreseta la rotazione dell'oggetto nello spazio world.
[page:Vector3 target] — il risultato sarà copiato in questo Vector3.
Restituisce un vettore dei fattori di scala applicati all'oggetto per ciascun asse nello spazio world.
[page:Vector3 target] — il risultato sarà copiato in questo Vector3.
Restituisce un vettore che rappresenta la direzione dell'asse z positivo dell'oggetto nello spazio world.
vector - Un vettore che rappresenta la posizione nello spazio locale di questo oggetto.
Converte il vettore dallo spazio locale dell'oggetto allo spazio world.
vector - Un vettore che rappresenta la posizione nello spazio world.
Facoltativamente, le componenti [page:.x x], [page:.y y] e [page:.z z] della posizione nello spazio world.
Ruota l'oggetto in modo che sia rivolto verso un punto nello spazio world.
Questo metodo non supporta oggetti con genitore/i con scalabilità non uniforme.
Metodo astratto (vuoto) per ottenere le intersezioni tra un raggio casted e questo oggetto. Sottoclassi come [page:Mesh], [page:Line], e [page:Points] implementano questo metodo per utilizzare il raycasting.
Rimuove `object` come figlio di questo oggetto. Può essere rimosso un numero arbitrario di oggetti.
Rimuove questo oggetto dal suo attuale genitore.
Rimuove tutti i figli dall'oggetto.
axis -- Un vettore normalizzato nello spazio dell'oggetto.
angle -- L'angolo in radianti.
Ruota un oggetto lungo l'asse nello spazio dell'oggetto. Si presume che l'asse sia normalizzato.
axis -- Un vettore normalizzato nello spazio world.
angle -- L'angolo in radianti.
Ruota un oggetto lungo l'asse nello spazio world. Si presume che l'asse sia normalizzato.
Presuppone che nessun genitore sia ruotato.
rad - l'angolo di rotazione in radianti.
Ruota l'oggetto attorno all'asse x nello spazio locale.
rad - l'angolo di rotazione in radianti.
Ruota l'oggetto attorno all'asse y nello spazio locale.
rad - l'angolo di rotazione in radianti.
Ruota l'oggetto attorno all'asse z nello spazio locale.
axis -- Un vettore normalizzato nello spazio dell'oggetto.
angle -- l'angolo in radianti
Chiama [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] )
sul [page:.quaternion quaternione].
euler -- L'angolo di Eulero che specifica la quantità di rotazione.
Chiama [page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler] )
sul [page:.quaternion quaternione].
m -- ruota il quaternione della componente rotazione della matrice.
Chiama [page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m] )
sul [page:.quaternion quaternione].
Si noti che questo presuppone che il 3x3 superiore di m è una matrice di rotazione pura (cioè non ridimnsionata).
q -- Quaternione normalizzato.
Copia il quaternione passato nel [page:.quaternion quaternione].
meta -- oggetto contentene metadati come i materiali, le texture o le immagini per l'oggetto.
Converte l'oggetto al formato three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene].
axis -- Un vettore normalizzato nello spazio dell'oggetto.
distance -- La distanza da traslare.
Trasla un oggetto in base alla distanza lungo un asse nello spazio dell'oggetto. Questo asse si presuppone sia normalizzato.
Trasla l'oggetto lungo l'asse x nello spazio dell'ogetto per unità di `distance`.
Trasla l'oggetto lungo l'asse y nello spazio dell'ogetto per unità di `distance`.
Trasla l'oggetto lungo l'asse z nello spazio dell'ogetto per unità di `distance`.
callback - Una funzione con primo argomento un oggetto Object3D.
Esegue la callback su questo oggetto e tutti i discendenti.
Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
callback - Una funzione con primo argomento un oggetto Object3D.
Simile a traverse, ma la callback viene eseguita solo su oggetti visibili.
I discendenti di oggetti invisibili non vengono attraversati.
Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
callback - Una funzione con primo argomento un oggetto Object3D..
Esegue la callback su tutti i predecessori.
Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
Aggiorna la trasformazione locale.
Aggiorna la trasformazione globale di un oggetto e i suoi discendenti.
updateParents - aggiorna ricorsivamente la trasformazione globale dei predecessori.
updateChildren - aggiorna ricorsivamente la trasformazione globale dei discendenti.
Aggiorna la trasformazione globale dell'oggetto.
vector - Un vettore che rappresenta una posizione nello spazio world.
Converte il vettore dallo spazio world allo spazio locale di questo oggetto.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]