0

单击它时,我一直在尝试更改立方体的颜色。我遇到的问题是当我使用 MeshFaceMaterial 时它似乎不起作用。到目前为止,我已经设法改变了立方体的单个面的颜色,如下所示:

if ( intersects.length > 0 )
{
    console.log("Hit @ " + toString( intersects[0].point ) );
    // change the color of the closest face.
    intersects[ 0 ].face.color.setRGB( 0.8 * Math.random() + 0.2, 0, 0 ); 
    intersects[ 0 ].object.geometry.colorsNeedUpdate = true;
}

我现在如何更改我的代码,以便在单击一张脸时所有的脸都会改变颜色?谢谢!

4

1 回答 1

0

geometry从属性中获取所有面的列表:

if ( intersects.length > 0 )
{
    console.log("Hit @ " + toString( intersects[0].point ) );
    // change the color of the closest face.
    var faces = intersects[0].object.geometry.faces;
    for (var i = 0; i < faces.length; i++) {
       faces[i].color.setRGB( 0.8 * Math.random() + 0.2, 0, 0 ); 
    }

    intersects[ 0 ].object.geometry.colorsNeedUpdate = true;
}
于 2014-09-05T10:36:23.833 回答