【问题标题】:Changing face colors during run-time in Three.js on a model imported from blender在从搅拌机导入的模型上运行时在 Three.js 中更改面部颜色
【发布时间】:2012-11-01 17:15:52
【问题描述】:

我从搅拌机(通过 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);

你能帮帮我吗?提前致谢

【问题讨论】:

    标签: javascript three.js blender


    【解决方案1】:
    soccer.material.vertexColors = THREE.VertexColors ;
    

    soccer.material.vertexColors = THREE.FaceColors;
    

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

    【讨论】:

      猜你喜欢
      • 2015-08-24
      • 2012-07-14
      • 2017-04-18
      • 2015-10-03
      • 2013-02-21
      • 1970-01-01
      • 2014-11-28
      • 2021-09-12
      • 2013-09-28
      相关资源
      最近更新 更多