我已经从搅拌机(通过 JSON 加载器)导入了一个足球模型(截断的二十面体),我想在点击时更改面部颜色。正确识别面我可以更改整个模型的颜色,但不能更改特定面。我挖得更深了,我发现颜色被正确分配给了 footballball.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);
你能帮我么?提前致谢