1

.jpgテクスチャを使用したColladaモデルを使用すると、three.jsがテクスチャ上にワイヤーフレームメッシュをオーバーレイしているように見えます。私の質問-ワイヤーフレームを削除する方法はありますか?

例はここにあります。 http://movealpha.com/dae/test1.html

これは、下にあるワイヤーフレームを表示するためにColladaテクスチャを削除した同じ例です。 http://movealpha.com/dae/test2.html

これは問題ですか、それともワイヤーフレームオーバーレイを削除する簡単な方法がありますか?

ps。本当に素晴らしいjavascriptライブラリを提供してくれたmrDoobに感謝します-私たちは集合的に価値がありません!

4

2 に答える 2

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;
于 2011-12-13T07:56:18.403 に答える
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);    
}
于 2015-10-12T11:29:10.770 に答える