ThreeJs的学习:BufferGeometry理解(1) 生成正方形立方体

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 );

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章