只要我将自己的顶点推到几何体上,几何图形就是纯色,而不是具有彩色阴影。对着色自定义几何体的平面着色
应用此代码到一个叫mesh
THREE.PlaneGeometry
给出了以下阴影:
var light = new THREE.DirectionalLight(0xffffff, 1);
light.castShadow = true;
light.shadowDarkness = 0.5;
// ..
THREE.MeshLambertMaterial({ color: 0x66e6b0, shading: THREE.FlatShading });
// ...
mesh.receiveShadow = true;
mesh.castShadow = true;
然而,当我申请相同的代码到THREE.Geometry()
与定制的点和面 ,几何图形是纯黑的。我怎样才能给自定义的几何体和平面几何体一样的阴影?
- 我可以使用
THREE.MeshBasicMaterial
,但是在面上不再有阴影。 - 使用
vertexColors: THREE.FaceColors
并着色每个脸仍然是全黑的。 - A
THREE.AmbientLight
给出颜色,但在脸上没有阴影。
这里是一个fiddle随机产生的面孔都是相同的颜色。相反,我希望它们具有不同的阴影,因为它们是不同的角度(如上图所示)。
你能提供一个jsfiddle吗? – gaitat
@gaitat jsfiddle新增 – interpolack