我想从圆柱体创建一个轮子(因为导入3D模型会使其变慢)。但是我不能使用具有圆柱几何的多种材料。它仅使用数组中的第一个材质。
var geometry = new THREE.CylinderGeometry(this.diameterWheel/2,this.diameterWheel/2,this.lastikGenisligi, 20, 4);
var materialArray = [];
materialArray.push(new THREE.MeshBasicMaterial( { color: 0x000000 }));
materialArray.push(new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( '../textures/wheel.png' ) }));
materialArray.push(new THREE.MeshBasicMaterial( { color: 0x0000FF }));
materialArray.push(new THREE.MeshBasicMaterial( { color: 0xFF0000 }));
var material = new THREE.MeshFaceMaterial(materialArray);
var mesh = new THREE.Mesh(geometry, material);
我想要创建的是一个轮子,它在上侧和下侧都有wheel.png轮子图像,在它们之间有黑色覆盖。
答案 0 :(得分:0)
您需要遍历圆柱体上的每个面,并告诉面部使用哪种阵列材质。
geometry.faces[a].materialIndex = b;
其中a是面部索引。你需要弄清楚自己哪个面是通过某个系统选择正确的材料,即。使用一种颜色等面向0-10。这取决于圆柱几何参数。而b是物质指数。