var bgeometry = new THREE.BufferGeometry();
/*
// BufferGeometry形成一个最简单的平面
// 一个平面由两个三角形组成,每个三角形由3个坐标,每个坐标由XYZ组成
// 所以一个平面需要六个坐标
var vertices = new Float32Array( [
// 三角形1 - 三个顶点
-10 ,10, 0,
-10 ,-10, 0,
10 , -10, 0,
// 三角形2 - 三个顶点
10 , -10, 0,
10, 10, 0,
-10 ,10, 0
] );
*/
// 每六个坐标形成一个平面,6个平面合并成封闭的一个立方形
var vertices = new Float32Array( [
1,10,10,1,-10,10,1,10,-10,1,-10,10,1,-10,-10,1,10,-10, // 第一个平面(左)
-1,10,-10,-1,-10,-10,-1,10,10,-1,-10,-10,-1,-10,10,-1,10,10,// 第二个平面(右)
-1,10,-10,-1,10,10,1,10,-10,-1,10,10,1,10,10,1,10,-10, // 第三个平面(后)
-1,-10,10,-1,-10,-10,1,-10,10,-1,-10,-10,1,-10,-10,1,-10,10,// 第四个平面(前)
-1,10,10,-1,-10,10,1,10,10,-1,-10,10,1,-10,10,1,10,10, // 第五个平面(下)
1,10,-10,1,-10,-10,-1,10,-10,1,-10,-10,-1,-10,-10,-1,10,-10 // 第六个平面(上)
] );
//材质
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
//增加坐标点,坐标点是X,Y,Z的布局,可以自己任意设置
bgeometry.addAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
var mesh = new THREE.Mesh( bgeometry, material );

|