【问题标题】:wireframe overlay on Collada textures - three.jsCollada 纹理上的线框覆盖 - three.js
【发布时间】:2012-01-17 23:48:59
【问题描述】:

当我使用带有 .jpg 纹理的 Collada 模型时,three.js 似乎在纹理上覆盖了线框网格。 我的问题 - 有没有办法移除线框?

这里有一个例子; http://movealpha.com/dae/test1.html

这是同一个示例,移除了 Collada 纹理以显示底层线框; http://movealpha.com/dae/test2.html

这是一个问题还是有一种简单的方法可以删除线框覆盖?

ps。感谢 mrDoob 提供了一个真正令人敬畏的 javascript 库 - 我们共同不值得!

【问题讨论】:

    标签: textures collada three.js wireframe


    【解决方案1】:

    mrdoob 在 github 上回答了这个问题; https://github.com/mrdoob/three.js/issues/885

    这是他的答案的副本

    这是 CanvasRenderer 的限制。设置 material.overdraw = true 可能会改善事情。您可以找到具有您所需要的材料的对象 想要改变:

    var object = collada.scene.getChildByName( 'object_name', true );
    object.material.overdraw = true;
    

    【讨论】:

      【解决方案2】:

      通过为 collada.scene 中的所有(!)子项设置 material.overdraw=0.5,它对我有用。在我的例子中,孩子里面有孩子。

      var loader = new THREE.ColladaLoader();
      loader.load( 'model.dae', function ( collada ) {
      var dae = collada.scene;
      for (var i=0; i<dae.children.length; i++) {
              for (var j=0; j<dae.children[i].children.length; j++) {
                  dae.children[i].children[j].material.overdraw=0.5;
              }
          }
      scene.add(dae);    
      }
      

      【讨论】:

        猜你喜欢
        • 2013-02-08
        • 2012-10-06
        • 1970-01-01
        • 2019-02-13
        • 2022-11-23
        • 2015-12-04
        • 2018-09-02
        • 2018-02-26
        • 2012-06-02
        相关资源
        最近更新 更多