2012-11-13 2 views
5

(JSONローダー経由で)ブレンダーからサッカーボール(切り捨てられた20面体)のモデルをインポートしました。をクリックします。顔が正しく識別されていますが、モデル全体の色は変更できますが、特定の顔は変更できません。私はちょっと掘り下げて、色が正しく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

関連する問題