ブレンダーから(JSONローダーを介して)サッカーボール(切頂二十面体)のモデルをインポートしました。クリックすると顔の色を変更したいと思いました。顔が正しく識別されているモデル全体の色を変更できますが、特定の顔は変更できません。もう少し掘り下げてみたところ、soccerball.geometry.faces [i]に色が正しく割り当てられていることがわかりましたが、新しい顔の色は表示されていません。
私はすべての同様のスレッドを調べ、提案されたすべてのソリューション(異なるマテリアル、dirtyColors、動的、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);
手伝ってくれませんか?前もって感謝します