当我使用带有.jpg纹理的Collada模型时,three.js似乎在纹理上覆盖了线框网格。 我的问题 - 有没有办法删除线框?
这里有一个例子; http://movealpha.com/dae/test1.html
这是移除Collada纹理以显示底层线框的相同示例; http://movealpha.com/dae/test2.html
这是一个问题,还是有一种简单的方法可以删除线框覆盖?
PS。感谢mrDoob提供了一个真正令人敬畏的JavaScript库 - 我们总是不值得!
答案 0 :(得分:0)
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;
答案 1 :(得分:0)
通过为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);
}