更改多维数据集的脸的颜色(Change the colors of a cube's fac

2019-07-20 01:31发布

我居然发现这个问题,但它说material.color不存在。 我需要知道如何改变一个立方体我画的各个面的颜色:

var newCube = new THREE.Mesh(new three.CubeGeometry(size, size, size), new three.MeshNormalMaterial({ vertexColors: three.FaceColors }));

Answer 1:

这里是你如何设置和改变一个立方体的脸的颜色:

var geometry = new THREE.BoxGeometry( size, size, size );
for ( var i = 0; i < geometry.faces.length; i ++ ) {
    geometry.faces[ i ].color.setHex( Math.random() * 0xffffff );
}

var material = new THREE.MeshBasicMaterial( { color: 0xffffff, vertexColors: THREE.FaceColors } );

如果geometry.faces[i].color 的几何形状已经呈现改变之后 ,你必须设置geometry.colorsNeedUpdate = true 。 (这不需要canvasRenderer 。)

three.js所r.84



Answer 2:

这里是一个小提琴为谁在这里结束,并要查看此代码的工作人员。

我做了一个盒子绑3种颜色的面孔:

// colors
red = new THREE.Color(1, 0, 0);
green = new THREE.Color(0, 1, 0);
blue = new THREE.Color(0, 0, 1);
var colors = [red, green, blue];

for (var i = 0; i < 3; i++) {
    geometry.faces[4 * i].color = colors[i];
    geometry.faces[4 * i + 1].color = colors[i];
    geometry.faces[4 * i + 2].color = colors[i];
    geometry.faces[4 * i + 3].color = colors[i];
}

面部颜色在改变animate循环。


还要检查在这里一个相关的问题有很大的答案表明对使用材料指数和群体THREE.BufferGeometry实例。



文章来源: Change the colors of a cube's faces