0

ブレンダーからモデルをインポートして、すべての頂点をループしようとしています。インポートには colladaloader を使用しています。すべて正常に動作し、モデルがロードされています。しかし、モデルの面は必要ありません。目的のために必要なのは頂点の位置だけです。

これを行う方法があるかどうか誰かに教えてもらえますか? たとえば、インポートされたモデルのすべての頂点をループするループですか?

ありがとう、トモ

4

4 に答える 4

1

わかりました...

console.log() は、ロードされた .dae ファイルの背後にある構造を確認するのに大いに役立ちました。

loader.load( './models/collada/test.dae', function ( collada ) {                
    for(i = 0; i < collada.scene.children.length; i++) {
        if(collada.scene.children[i].geometry) {
            for(j = 0; j < collada.scene.children[i].geometry.vertices.length; j++) {
                //do stuff...
            }
        }
    }

    //...
} );
于 2013-09-24T15:09:54.607 に答える
1

さて、ローダー モジュールを使用して、Blender モデルをメッシュとしてインポートします。メッシュには、ベースとなるジオメトリがあります。また、ジオメトリには頂点配列があります。それを繰り返すだけですか?モデルを表示したくない場合は、シーンに追加しないでください。一見すると、あなたの質問はあまりよく研究されていないように見えます。Mesh オブジェクトの構造を確認し、Three.js の例を参照してください。

于 2013-09-24T13:37:36.790 に答える
1

geoジオメトリを表す場合:

for (var i = 0; i < geo.vertices.length; i++)
{
    var v = geo.vertices[i];
    // do stuff with v...

}
于 2013-09-24T14:09:33.090 に答える