在从搅拌机导入的模型中在Three.js中运行期间更改面颜色

时间:2012-11-13 09:08:21

标签: javascript three.js blender

我从搅拌机(通过JSON加载器)导入了一个足球模型(截断的二十面体),我想在点击时更改面部颜色。正确识别面部我可以更改整个模型的颜色,但不能更改特定面部。我挖得更深了一些,我发现颜色被正确地分配给soccerball.geometry.faces [i]但是没有显示新的面部颜色。

我已经浏览了所有类似的线程并尝试了所有提议的解决方案(不同的材料,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 个答案:

答案 0 :(得分:1)

soccer.material.vertexColors = THREE.VertexColors ;

soccer.material.vertexColors = THREE.FaceColors;

如果这不起作用,那么我需要对模型本身进行一些测试。