2016-10-20 13 views
3

私は最近、three.jsのBlenderとCollada Loaderでいくつかの実験を試みました。私のBlenderシーンでは3つのオブジェクトがありますが、もちろん3つのシーンオブジェクトをローダーで3つだけ管理することができます。すべてがうまく動作し、Blenderからインポートされたマテリアルもありますが、シーンオブジェクトからいくつかのオブジェクトを取得し、three.jsメッシュに変換してから、いくつかの.daeファイルに変換せずに個々にアニメーション化するかどうかは疑問でした。それが有用である場合Collada loader:シーンオブジェクトからいくつかのメッシュを取得する方法はありますか?

ここに私のコードを投稿:あなたの助けのための

var loader = new THREE.ColladaLoader(); 
    loader.options.convertUpAxis = true; 
    loader.load('scene.dae', function (collada) {  
     dae = collada.scene; 
     dae.position.set(0, 0, 0); 
     dae.scale.set(50, 50, 50); 
     scene.add(dae);  
    }); 

感謝を!

+0

これはきちんとしています...私は@mrdoob自身にツイッターで尋ねました。私たちが答えを持ってすぐに更新するつもり! – rafaelcastrocouto

+0

私は数日前にthree.js Githubページのissueセクションにそれを投稿しました...しかしmrdoob自身がそれを閉じたので、ここでxD –

+0

httpsの例で 'collada.scene.traverse'をチェックしましたか? ://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_collada_skinning.html – rafaelcastrocouto

答えて

1

console.log(collada.scene)の場合、子配列があることがわかります。これはすべてのメッシュが生きる場所です。

など。あなたはそのように最初のものにアクセスすることができます:

collada.scene.children[0].children[0]; 
関連する問題