2014-11-14 6 views
7

Sto provando ad usare THREE.meshphongmaterial da questo tutorial: http://solutiondesign.com/webgl-and-three-js-texture-mapping/THREE.meshphongmaterial non funziona - Dare colore nero

Ma non sta funzionando e dando colore nero. Ecco l'jsfiddle per esso: http://jsfiddle.net/8hrk7mu6/12/

problema è nella linea 32:

var material = new THREE.MeshPhongMaterial({ ambient: 0x050505, color: 0x0033ff, specular: 0x555555, shininess: 30 }); 

Perché è che non funziona? Se uso THREE.MeshNormalMaterial, allora funziona.

var material = new THREE.MeshNormalMaterial(); 

Successivamente, voglio utilizzare la texture da un'immagine nel mio codice. Neanche questo funziona. Solo THREE.MeshNormalMaterial funziona. Perché?

risposta

18

Risulta necessario aggiungere luce. Senza luce, meshphongmaterial dà colore nero.

quindi ho dovuto aggiungere qualcosa di simile:

var light = new THREE.DirectionalLight(0xffffff); 
light.position.set(0, 1, 1).normalize(); 
scene.add(light); 

preso da questo link: https://github.com/mrdoob/three.js/issues/2766

Problemi correlati