我在 Three.js 中创建了一个自定义几何图形。现在,我想创建一个使用平滑着色 Lambert 材质的网格。使用循环,我创建了顶点数组,然后是面,然后我调用了
geometry.computeCentroids();
geometry.computeFaceNormals();
geometry.computeVertexNormals();
var colorMaterial = new THREE.MeshLambertMaterial( {color: 0x0000ff, side: THREE.DoubleSide} );
var mesh = new THREE.Mesh( geometry, colorMaterial );
scene.add(mesh);
结果几乎是完美的,除了它看起来好像正在使用材料shading: THREE.FlatShading
,如下所示:
虽然我期待一个通常期望的默认外观shading: THREE.SmoothShading
. 我需要添加/更改什么以获得平滑的兰伯特阴影?
(如果有帮助,完整的实时示例位于http://stemkoski.github.io/Three.js/Marching-Cubes.html,几何和网格围绕第 250-280 行创建。)