我正在尝试使用本教程中的 THREE.meshphongmaterial
:http://solutiondesign.com/webgl-and-three-js-texture-mapping/
但它不工作并给出黑色。这是它的 jsfiddle:http://jsfiddle.net/8hrk7mu6/12/
问题在第 32 行:
var material = new THREE.MeshPhongMaterial( { ambient: 0x050505, color: 0x0033ff, specular: 0x555555, shininess: 30 } );
为什么它不起作用?如果我使用 THREE.MeshNormalMaterial
,那么它就可以工作。
var material = new THREE.MeshNormalMaterial();
稍后,我想在我的代码中使用图像中的纹理。那也行不通。只有 THREE.MeshNormalMaterial
有效。为什么?
最佳答案
原来有必要加光。没有光,meshphongmaterial
呈现黑色。
所以我不得不添加这样的东西:
var light = new THREE.DirectionalLight( 0xffffff );
light.position.set( 0, 1, 1 ).normalize();
scene.add(light);
关于javascript - THREE.meshphongmaterial 不工作 - 呈现黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937966/