You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

500 lines
21 KiB

<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>[name]</h1>
<p class="desc">
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.<br /><br />
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.
</p>
<h2>Costruttore</h2>
<h3>[name]()</h3>
<p>
Il cotruttore non prende argomenti.
</p>
<h2>Proprietà</h2>
<h3>[property:AnimationClip animations]</h3>
<p>Array con clip di animazione dell'oggetto.</p>
<h3>[property:Boolean castShadow]</h3>
<p>Se l'oggetto viene renderizzato nella mappa delle ombre. Il valore predefinito è `false`.</p>
<h3>[property:Array children]</h3>
<p>Array con i children dell'oggetto. Vedi [page:Group] per informazioni su come raggrupare manualmente gli oggetti.</p>
<h3>[property:Material customDepthMaterial]</h3>
<p>
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`.
</p>
<h3>[property:Material customDistanceMaterial]</h3>
<p>
Lo stesso di [page:.customDepthMaterial customDepthMaterial], ma viene utilizzato con [page:PointLight].
Il valore predefinito è `undefined`.
</p>
<h3>[property:Boolean frustumCulled]</h3>
<p>
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`.
</p>
<h3>[property:Integer id]</h3>
<p>sola lettura – Numero univoco per questa istanza.</p>
<h3>[property:Boolean isObject3D]</h3>
<p>
Flag di sola lettura per controllare se un dato oggetto è di tipo [name].
</p>
<h3>[property:Layers layers]</h3>
<p>
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].
</p>
<h3>[property:Matrix4 matrix]</h3>
<p>La matrice di trasformazione locale.</p>
<h3>[property:Boolean matrixAutoUpdate]</h3>
<p>
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).
</p>
<h3>[property:Matrix4 matrixWorld]</h3>
<p>
La trasformazione globale dell'oggetto. Se l'Object3D non ha un genitore, è identico al [page:.matrix] della trasformazione locale.
</p>
<h3>[property:Boolean matrixWorldAutoUpdate]</h3>
<p>
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.
</p>
<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
<p>
Quando viene settato calcola la matrixWorld in quel frame e reimposta questa proprietà a false. Il valore
predefinito è `false`.
</p>
<h3>[property:Matrix4 modelViewMatrix]</h3>
<p>Questo viene passato allo shader e utilizzato per calcolare la posizione dell'oggetto.</p>
<h3>[property:String name]</h3>
<p>Nome opzionale dell'oggetto (non è necessario che sia univoco). Il valore predefinito è una stringa vuota.</p>
<h3>[property:Matrix3 normalMatrix]</h3>
<p>
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.<br /><br />
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).<br /><br />
Dall'altra parte, la parte di traslazione della matrice modelViewMatrix non è rilevante per il calcolo delle normali. Quindi una Matrix3 è sufficiente.
</p>
<h3>[property:Function onAfterRender]</h3>
<p>
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.
</p>
<p>
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.
</p>
<h3>[property:Function onBeforeRender]</h3>
<p>
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.
</p>
<p>
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.
</p>
<h3>[property:Object3D parent]</h3>
<p>Genitore dell'oggetto nel [link:https://en.wikipedia.org/wiki/Scene_graph grafo della scena]. Un oggetto può avere più
di un genitore.</p>
<h3>[property:Vector3 position]</h3>
<p>Un [page:Vector3] che rappresenta la posizione locale dell'oggetto. Il valore predefinito è `(0, 0, 0)`.</p>
<h3>[property:Quaternion quaternion]</h3>
<p>Rotazione locale dell'oggetto come un [page:Quaternion Quaternion].</p>
<h3>[property:Boolean receiveShadow]</h3>
<p>Se il materiale riceve ombre. Il valore predefinito è `false`.</p>
<h3>[property:Number renderOrder]</h3>
<p>
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`.
</p>
<h3>[property:Euler rotation]</h3>
<p>
La rotazione locale dell'oggetto (vedi [link:https://en.wikipedia.org/wiki/Euler_angles gli angoli di Eulero]), in radianti.
</p>
<h3>[property:Vector3 scale]</h3>
<p>
La scala locale dell'oggetto. Il valore predefinito è [page:Vector3]( 1, 1, 1 ).
</p>
<h3>[property:Vector3 up]</h3>
<p>
Questa proprietà viene utilizzata dal metodo [page:.lookAt lookAt], per esempio, per determinare l'orientamento del risultato.<br />
L'impostazione predefinita è [page:Object3D.DefaultUp] - che è, `( 0, 1, 0 )`.
</p>
<h3>[property:Object userData]</h3>
<p>
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.
</p>
<h3>[property:String uuid]</h3>
<p>
[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] dell'istanza dell'oggetto.
Viene assegnato automaticamente, non dovrebbe essere modificato.
</p>
<h3>[property:Boolean visible]</h3>
<p>L'oggetto viene visualizzato se `true`. Il valore predefinito è `true`.</p>
<h2>Proprietà Statiche</h2>
<p>
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).
</p>
<h3>[property:Vector3 DefaultUp]</h3>
<p>
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).<br />
Impostare su ( 0, 1, 0 ) per impostazione predefinita.
</p>
<h3>[property:Boolean DefaultMatrixAutoUpdate]</h3>
<p>
L'impostazione predefinita per [page:.matrixAutoUpdate matrixAutoUpdate] per Object3D appena creati.<br />
</p>
<h2>Metodi</h2>
<p>I metodi [page:EventDispatcher EventDispatcher] sono disponibili in questa classe.</p>
<h3>[method:this add]( [param:Object3D object], ... )</h3>
<p>
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.<br /><br />
Vedi [page:Group] per avere informazioni per raggruppare manualmente gli oggetti.
</p>
<h3>[method:undefined applyMatrix4]( [param:Matrix4 matrix] )</h3>
<p>Applica la matrice di trasformazione all'oggetto e aggiorna la posizione, la rotazione e la scala dell'oggetto.</p>
<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
<p>Applica la rotazione rappresentata dal quaternione dell'oggetto.</p>
<h3>[method:this attach]( [param:Object3D object] )</h3>
<p>
Aggiunge l'`object` come figlio di questo oggetto, mantenendo la trasformazione world dell'oggetto.<br/><br/>
Nota: Questo metodo non supporta i grafici della scena con nodi con scalatura non uniforme.
</p>
<h3>[method:Object3D clone]( [param:Boolean recursive] )</h3>
<p>
recursive -- se true, anche i discendenti dell'oggetto vengono clonati. Il valore predefinito è true.<br /><br />
Restituisce un clone di questo oggetto e opzionalmente tutti i discendenti.
</p>
<h3>[method:this copy]( [param:Object3D object], [param:Boolean recursive] )</h3>
<p>
recursive -- se true, anche i discendenti dell'oggetto vengono copiati. Il valore predefinito è true.<br /><br />
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.
</p>
<h3>[method:Object3D getObjectById]( [param:Integer id] )</h3>
<p>
id -- Numero univoco dell'istanza dell'oggetto<br /><br />
Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con l'id corrispondente.<br />
Si noti che gli id sono assegnati in ordine cronologico: 1, 2, 3, ..., incrementando di uno per ogni nuovo oggetto.
</p>
<h3>[method:Object3D getObjectByName]( [param:String name] )</h3>
<p>
name -- Stringa da abbinare alla proprietà Object3D.name dei figli. <br /><br />
Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con il nome corrispondente.<br />
Si noti che per molti oggetti il nome è una stringa vuota da impostazione predefinita. Dovrai impostarlo manualmente per
utilizzare questo metodo.
</p>
<h3>[method:Object3D getObjectByProperty]( [param:String name], [param:Any value] )</h3>
<p>
name -- il nome della proprietà da cercare. <br />
value -- il valore della proprietà data. <br /><br />
Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con la proprietà che corrisponde al valore passato.
</p>
<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
<p>
[page:Vector3 target] — il risultato verrà copiato in questo Vector3. <br /><br />
Restituisce un vettore che rappresenta la posizione dell'oggetto nello spazio world.
</p>
<h3>[method:Quaternion getWorldQuaternion]( [param:Quaternion target] )</h3>
<p>
[page:Quaternion target] — il risultato sarà copiato in questo Quaternione. <br /><br />
Restituisce un quaternione che rappreseta la rotazione dell'oggetto nello spazio world.
</p>
<h3>[method:Vector3 getWorldScale]( [param:Vector3 target] )</h3>
<p>
[page:Vector3 target] — il risultato sarà copiato in questo Vector3. <br /><br />
Restituisce un vettore dei fattori di scala applicati all'oggetto per ciascun asse nello spazio world.
</p>
<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
<p>
[page:Vector3 target] — il risultato sarà copiato in questo Vector3. <br /><br />
Restituisce un vettore che rappresenta la direzione dell'asse z positivo dell'oggetto nello spazio world.
</p>
<h3>[method:Vector3 localToWorld]( [param:Vector3 vector] )</h3>
<p>
vector - Un vettore che rappresenta la posizione nello spazio locale di questo oggetto.<br /><br />
Converte il vettore dallo spazio locale dell'oggetto allo spazio world.
</p>
<h3>[method:undefined lookAt]( [param:Vector3 vector] )<br />
[method:undefined lookAt]( [param:Float x], [param:Float y], [param:Float z] )</h3>
<p>
vector - Un vettore che rappresenta la posizione nello spazio world.<br /><br />
Facoltativamente, le componenti [page:.x x], [page:.y y] e [page:.z z] della posizione nello spazio world.<br /><br />
Ruota l'oggetto in modo che sia rivolto verso un punto nello spazio world.<br /><br />
Questo metodo non supporta oggetti con genitore/i con scalabilità non uniforme.
</p>
<h3>[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
<p>
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.
</p>
<h3>[method:this remove]( [param:Object3D object], ... )</h3>
<p>
Rimuove `object` come figlio di questo oggetto. Può essere rimosso un numero arbitrario di oggetti.
</p>
<h3>[method:this removeFromParent]()</h3>
<p>
Rimuove questo oggetto dal suo attuale genitore.
</p>
<h3>[method:this clear]()</h3>
<p>
Rimuove tutti i figli dall'oggetto.
</p>
<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
<p>
axis -- Un vettore normalizzato nello spazio dell'oggetto.<br />
angle -- L'angolo in radianti.<br /><br />
Ruota un oggetto lungo l'asse nello spazio dell'oggetto. Si presume che l'asse sia normalizzato.
</p>
<h3>[method:this rotateOnWorldAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
<p>
axis -- Un vettore normalizzato nello spazio world. <br />
angle -- L'angolo in radianti.<br /><br />
Ruota un oggetto lungo l'asse nello spazio world. Si presume che l'asse sia normalizzato.
Presuppone che nessun genitore sia ruotato.
</p>
<h3>[method:this rotateX]( [param:Float rad] )</h3>
<p>
rad - l'angolo di rotazione in radianti.<br /><br />
Ruota l'oggetto attorno all'asse x nello spazio locale.
</p>
<h3>[method:this rotateY]( [param:Float rad] )</h3>
<p>
rad - l'angolo di rotazione in radianti.<br /><br />
Ruota l'oggetto attorno all'asse y nello spazio locale.
</p>
<h3>[method:this rotateZ]( [param:Float rad] )</h3>
<p>
rad - l'angolo di rotazione in radianti.<br /><br />
Ruota l'oggetto attorno all'asse z nello spazio locale.
</p>
<h3>[method:undefined setRotationFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
<p>
axis -- Un vettore normalizzato nello spazio dell'oggetto.<br />
angle -- l'angolo in radianti<br /><br />
Chiama [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] )
sul [page:.quaternion quaternione].
</p>
<h3>[method:undefined setRotationFromEuler]( [param:Euler euler] )</h3>
<p>
euler -- L'angolo di Eulero che specifica la quantità di rotazione.<br />
Chiama [page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler] )
sul [page:.quaternion quaternione].
</p>
<h3>[method:undefined setRotationFromMatrix]( [param:Matrix4 m] )</h3>
<p>
m -- ruota il quaternione della componente rotazione della matrice.<br />
Chiama [page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m] )
sul [page:.quaternion quaternione].<br /><br />
Si noti che questo presuppone che il 3x3 superiore di m è una matrice di rotazione pura (cioè non ridimnsionata).
</p>
<h3>[method:undefined setRotationFromQuaternion]( [param:Quaternion q] )</h3>
<p>
q -- Quaternione normalizzato.<br /><br />
Copia il quaternione passato nel [page:.quaternion quaternione].
</p>
<h3>[method:Object toJSON]( [param:Object meta] )</h3>
<p>
meta -- oggetto contentene metadati come i materiali, le texture o le immagini per l'oggetto.<br />
Converte l'oggetto al formato three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene].
</p>
<h3>[method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )</h3>
<p>
axis -- Un vettore normalizzato nello spazio dell'oggetto.<br />
distance -- La distanza da traslare.<br /><br />
Trasla un oggetto in base alla distanza lungo un asse nello spazio dell'oggetto. Questo asse si presuppone sia normalizzato.
</p>
<h3>[method:this translateX]( [param:Float distance] )</h3>
<p>Trasla l'oggetto lungo l'asse x nello spazio dell'ogetto per unità di `distance`.</p>
<h3>[method:this translateY]( [param:Float distance] )</h3>
<p>Trasla l'oggetto lungo l'asse y nello spazio dell'ogetto per unità di `distance`.</p>
<h3>[method:this translateZ]( [param:Float distance] )</h3>
<p>Trasla l'oggetto lungo l'asse z nello spazio dell'ogetto per unità di `distance`.</p>
<h3>[method:undefined traverse]( [param:Function callback] )</h3>
<p>
callback - Una funzione con primo argomento un oggetto Object3D.<br /><br />
Esegue la callback su questo oggetto e tutti i discendenti.<br/>
Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
</p>
<h3>[method:undefined traverseVisible]( [param:Function callback] )</h3>
<p>
callback - Una funzione con primo argomento un oggetto Object3D.<br /><br />
Simile a traverse, ma la callback viene eseguita solo su oggetti visibili.
I discendenti di oggetti invisibili non vengono attraversati.<br/>
Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
</p>
<h3>[method:undefined traverseAncestors]( [param:Function callback] )</h3>
<p>
callback - Una funzione con primo argomento un oggetto Object3D..<br /><br />
Esegue la callback su tutti i predecessori.<br/>
Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
</p>
<h3>[method:undefined updateMatrix]()</h3>
<p>Aggiorna la trasformazione locale.</p>
<h3>[method:undefined updateMatrixWorld]( [param:Boolean force] )</h3>
<p>Aggiorna la trasformazione globale di un oggetto e i suoi discendenti.</p>
<h3>[method:undefined updateWorldMatrix]( [param:Boolean updateParents], [param:Boolean updateChildren] )</h3>
<p>
updateParents - aggiorna ricorsivamente la trasformazione globale dei predecessori.<br />
updateChildren - aggiorna ricorsivamente la trasformazione globale dei discendenti.<br /><br />
Aggiorna la trasformazione globale dell'oggetto.
</p>
<h3>[method:Vector3 worldToLocal]( [param:Vector3 vector] )</h3>
<p>
vector - Un vettore che rappresenta una posizione nello spazio world.<br /><br />
Converte il vettore dallo spazio world allo spazio locale di questo oggetto.
</p>
<h2>Source</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>