THREE.meshphongmaterial不工作 - 给黑色

dc9*_*c95 10 javascript three.js

我试图在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 } );
Run Code Online (Sandbox Code Playgroud)

为什么不起作用?如果我使用THREE.MeshNormalMaterial,那么它的工作原理.

var material = new THREE.MeshNormalMaterial();
Run Code Online (Sandbox Code Playgroud)

后来,我想在代码中使用图像中的纹理.这也不起作用.只有THREE.MeshNormalMaterial工作.为什么?

dc9*_*c95 28

事实证明有必要增加光线.没有光线,meshphongmaterial会产生黑色.

所以我不得不添加这样的东西:

var light = new THREE.DirectionalLight( 0xffffff );
light.position.set( 0, 1, 1 ).normalize();
scene.add(light);
Run Code Online (Sandbox Code Playgroud)

从这个链接得到它:https://github.com/mrdoob/three.js/issues/2766