2014-09-05 3 views
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; 
} 

가 어떻게 지금 내 코드를 변경합니까 : 지금까지이 같은 큐브의 한면의 색상을 변경 관리해야? 감사합니다.

답변

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; 
} 
+0

너무! 그건 대접이야! –