2012-11-13 4 views
5

블렌더에서 축구 공 (잘린 20 면체)의 모델을 JSON 로더를 통해 가져 왔으며, 얼굴 색을 변경하려고했습니다. 클릭. 얼굴이 정확하게 식별됩니다. 전체 모델의 색상은 변경할 수 있지만 특정 얼굴은 변경할 수 없습니다. 조금 더 깊게 파고 있는데 색상이 soccerball.geometry.faces [i]에 올바르게 지정되어 있지만 새로운 얼굴 색상이 표시되지 않습니다.블렌더에서 가져온 모델의 Three.js에서 런타임시 얼굴 색 변경

나는 비슷한 스레드를 모두 거쳐 제안 된 솔루션 (다른 재질, dirtyColors, dynamic, colorsNeedUpdate 등)을 시도했지만 아무런 도움이되지 않았습니다.

var loader = new THREE.JSONLoader(); 
var onGeometry = function(geom) { 
soccer = new THREE.Mesh(geom, new THREE.MeshLambertMaterial()); 
soccer.position.set(0, 0, 0); 
soccer.scale.set(2, 2, 2); 
soccer.geometry.dynamic = true; 
soccer.geometry.dirty = true; 
soccer.overdraw = true; 
objects.push(soccer); 
scene.add(soccer); 
}; 

loader.load("models/model.js", onGeometry); 

당신이 날 도와주세요 수 :

이 나는 ​​모델을 가져 오는 방법입니까? 사전에 감사

답변

1
soccer.material.vertexColors = THREE.VertexColors ; 

또는

soccer.material.vertexColors = THREE.FaceColors; 

그 다음 작동하지 않으면 내가 몇 가지 검사를 수행 할 모델 자체를 아브해야합니다.

+0

고맙습니다. – Victor