Three.js 平面阴影

Three.js 平面阴影,three.js,Three.js,这可能是一个初学者的问题,但为什么飞机看起来是平的呢?为什么平面的结构不可见,只有边缘上的尖峰 var geometry=新的三个平面缓冲几何体(100,100,50,50); var顶点=geometry.attributes.position.array; 对于(变量i=-1;i

这可能是一个初学者的问题,但为什么飞机看起来是平的呢?为什么平面的结构不可见,只有边缘上的尖峰

var geometry=新的三个平面缓冲几何体(100,100,50,50);
var顶点=geometry.attributes.position.array;
对于(变量i=-1;i
处理法线。
添加
geometry.computeVertexNormals()

例如

var顶点=geometry.attributes.position.array;
对于(变量i=-1;i
处理法线。
添加
geometry.computeVertexNormals()

例如

var顶点=geometry.attributes.position.array;
对于(变量i=-1;i
Ah,我是否每次更改几何体中的某些内容时都必须重新计算法线?啊,我是否每次更改几何体中的某些内容时都必须重新计算法线?
var geometry = new THREE.PlaneBufferGeometry( 100, 100, 50, 50 );

var vertices = geometry.attributes.position.array;
for ( var i = -1; i < vertices.length; i += 3) {
  vertices[i] = Math.random() * 10;
}

geometry.applyMatrix( new THREE.Matrix4().makeRotationX( - Math.PI / 2.8 ) );

var material = new THREE.MeshPhongMaterial( { ambient: 0x00ff00, color: 0x00ff00, specular: 0x00ff00, shininess: 30, shading: THREE.FlatShading } );
var ground = new THREE.Mesh( geometry, material );
scene.add( ground );
var vertices = geometry.attributes.position.array;
for ( var i = -1; i < vertices.length; i += 3) {
  vertices[i] = Math.random() * 10;
}
geometry.computeVertexNormals();