2012-06-04 14 views

risposta

35

Si noti che questo è leggermente modificato nella revisione di Three.js r50. Rendendo entrambi i lati di un piano può essere raggiunto attraverso la proprietà side sul materiale, cioè

plane.material.side = THREE.DoubleSide; 

Aspetto here per maggiori dettagli.

+0

sai come ottenere 2 diverse textures sui 2 lati? Chiunque? – mattdlockyer

+0

@mattdlockyer Ho avuto la stessa domanda e questo mi ha aiutato: http://stackoverflow.com/questions/11709760/how-can-i-put-two-different-textures-on-the-front-and-back-of -un aereo – imbrizi

14

Non è visibile perché il backface del piano non viene reso (o meglio, un piano non ha backfaces per impostazione predefinita.) In una nota a margine, dare un'occhiata a backface-culling per quanto riguarda questo anche se non è il problema in questo caso, potrebbe darti un po 'di informazioni sul rendering).

Three.js ti offre un modo molto semplice per eseguire il rendering dei backfaces.

In Three.js - R49 e sotto:

Tutto quello che dovete fare è impostare il doubleSided - di proprietà del vostro aereo-Object true.

plane.doubleSided = true; 

Per le versioni più recenti - R50 e fino

In versioni più recenti, come donnyb già detto correttamente nella sua risposta, la proprietà è stata spostata dalla Object3D - oggetto alla Material - oggetto, in modo da 'd bisogno di impostare un po' diverso, in questo modo:

plane.material.side = THREE.DoubleSide; 

modificato anche il vostro violino per mostrarvi: http://jsfiddle.net/VsWb9/1084/

utilizza un Three.js - versione più recente di r50, la proprietà è impostata sulla riga 35

+0

Questo non funziona più in base ai test in r.58 – mattdlockyer

+0

@mattdlockyer ha aggiornato la risposta alle nuove versioni anche – GNi33

+0

ottimo lavoro, non sapevo che la soluzione fosse per quelle revisioni, buono a sapersi. Grazie! – mattdlockyer

Problemi correlati