我一直试图在点击时更改立方体的颜色。我遇到的问题是,当我使用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;
}
如何更改我的代码,以便在单击一个面时所有面都会改变颜色? 谢谢!
答案 0 :(得分: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;
}