3
我正在通过构建自定义位置的面创建自定义几何。我正在使用MeshNormalMaterial
作为材质,我想为彼此独立定义面的颜色。但是,无论我设置了什么颜色,我仍然可以获得相同的效果。自定义几何颜色
我下面的代码:
var geometry = new THREE.Geometry();
for (var i = 0; i < length - 1; i++) {
for (var j = 0; j < length - 1; j++) {
geometry.vertices.push(new THREE.Vector3(x[i][j], y[i][j], z[i][j]));
geometry.vertices.push(new THREE.Vector3(x[i + 1][j], y[i + 1][j], z[i + 1][j]));
geometry.vertices.push(new THREE.Vector3(x[i + 1][j + 1], y[i + 1][j + 1], z[i + 1][j + 1]));
geometry.vertices.push(new THREE.Vector3(x[i][j + 1], y[i][j + 1], z[i][j + 1]));
var face = new THREE.Face4(index, index + 1, index + 2, index + 3);
face.color.setHex(color);
geometry.faces.push(face);
index += 4;
}
}
geometry.computeFaceNormals();
var object = new THREE.Mesh(geometry, new MeshNormalMaterial());
parent.add(object);
我应该改变上面的代码,例如我可以设置脸部颜色,让他们实际显示我设置的颜色?