【发布时间】:2014-05-06 13:28:08
【问题描述】:
我正在尝试使用 Three.js 为网页 3D 示例创建一个棋盘。但是,我当前的代码分配了三种颜色,我只需要两种颜色(黑/白)。如何重构数学以生成正确的棋盘格?
// Geometry
var cbgeometry = new THREE.PlaneGeometry( 500, 500, 8, 8 );
// Materials
var cbmaterials = [];
cbmaterials.push( new THREE.MeshBasicMaterial( { color: 0xffffff, side: THREE.DoubleSide }) );
cbmaterials.push( new THREE.MeshBasicMaterial( { color: 0x000000, side: THREE.DoubleSide }) );
cbmaterials.push( new THREE.MeshBasicMaterial( { color: 0x0000ff, side: THREE.DoubleSide }) );
// Assign a material to each face (each face is 2 triangles)
var l = cbgeometry.faces.length / 2;
for( var i = 0; i < l; i ++ ) {
var j = 2 * i;
cbgeometry.faces[ j ].materialIndex = i % 3;
cbgeometry.faces[ j + 1 ].materialIndex = i % 3;
}
// Mesh
cb = new THREE.Mesh( cbgeometry, new THREE.MeshFaceMaterial( cbmaterials ) );
scene.add( cb );
【问题讨论】:
标签: javascript three.js geometry plane