2016-10-26 3 views
1

私はThree.jsを初めて使用しています。モデルの読み込みがわかりません。.jsonモデルをThree.jsにインポートする

ブロックを作成し、別の機能がそれをテクスチャリングするこの機能を持っています。

function initThreeAgent() 
{ 
var shape = new THREE.BoxGeometry(squaresize, squaresize, squaresize);    
theagent = new THREE.Mesh(shape); 
theagent.material.color.setHex(BLANKCOLOR); 
drawAgent();   
} 

しかし、のは、私はそれが.jsonモデルになりたい、これは箱になりたくないとしましょう。私はこのようなものを使用しなければならないことを知っていますが、それをすべてまとめて入れることはできません。

var loader = new THREE.JSONLoader(); 
    loader.load('/uploads/SeanHutchinson/Sporty_Man.json', function (geometry) { 
    var mesh = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial()); 

代わりに上記のモデルを使用するようにinitThreeAgent関数を変更できますか? ありがとう!あなたは限り上記のコードは、あなたはおそらくすでにこれを試みたとして来ているが、いくつかの小さな修正がここにあり含まれている場合は

答えて

1

function initThreeAgent() { 
    var loader = new THREE.JSONLoader(); 

    function loaded(geometry) { 
     theagent = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial()); 
     theagent.material.color.setHex(BLANKCOLOR); 
     drawAgent(); 
    } 

    loader.load('/uploads/SeanHutchinson/Sporty_Man.json', loaded);   
} 

いくつかの注意点が私はこれは、ここにありますあなたが他の場所でやっていると仮定すると:

  1. theAgentあなたが持っていたコールバックが不正だったシーン
  2. に追加する必要があるので、私はloaded機能としてそれを勃発しました。必要に応じて、ロードコールに戻すことができます。
  3. への呼び出しは、loadメソッドが非同期で、大きなモデルの読み込みに時間がかかることがあるため、コールバックに入れる必要があります。
関連する問題