2016-10-18 14 views
0

objとJSONファイルを解析できるthree.jsパーサーに取り組んでいます。three.jsを使用してカメラの位置を動的に設定する方法

問題は異なるアラインメントのオブジェクトです。私はcamera.position.zの値をハードコードする必要があります。これは動的ではありません。

どのようにしてこの値を動的に計算できますか?私はすでに@WestLangleyからの解決策を試しましたが、うまくいきません。たぶん私はそれを間違っているのでしょうか?機能 - あなたはレンダリング()を呼び出す必要が

camera = new THREE.PerspectiveCamera(45, width/ height, 1, 10000); 
camera.position.z = 200; 

// scene 
scene = new THREE.Scene(); 

scene.add(camera); 

THREE.Loader.Handlers.add(/\.dds$/i, new THREE.DDSLoader()); 

var mtlLoader = new THREE.MTLLoader(); 
mtlLoader.setPath(object_path.dir); 
mtlLoader.load(object_path.mtl, function(materials) { 

    materials.preload(); 
    var objLoader = new THREE.OBJLoader(); 
    objLoader.setMaterials(materials); 
    objLoader.setPath(object_path.dir); 
    objLoader.load(object_path.object, function (object) { 

     // object.position.y = - 95; 
     camera.lookAt(object.position); 
     scene.add(object); 

    }, onProgress, onError); 
}); 

renderer = new THREE.WebGLRenderer({preserveDrawingBuffer: true }); 
renderer.setPixelRatio(window.devicePixelRatio); 
renderer.setSize(width, height); 
container.appendChild(renderer.domElement); 

controls = new THREE.OrbitControls(camera, renderer.domElement); 
+0

@WestLangleyここで私を助けてください。私はドン;私は間違って何をしているのか分からない..! :/ – rut2

答えて

0

は、ここに私のコードです。 この関数では、現在の状態に応じてcamera.zを動的に計算できます。 Like:

 var render = function() { 
      requestAnimationFrame(render); 

      camera.position.z = ... 
      renderer.render(scene, camera); 
     }; 

     render(); 
関連する問題