2015-11-18 66 views
0

我是Three.js的新學員。我正在將建築物模型加載爲obj + mtl文件。我可以放大/縮小並根據指定的軌道目標點旋轉模型。但是,軌道目標點是預定義的。 如何將軌道的目標點定義爲鼠標指針的當前位置?並且當我點擊其他地方時動態更改目標點?所以當我圍繞建築模型運行時,我可以看到鼠標指針當前位置周圍的組件。謝謝Three.js不同軌道的目標點

// After necessary libraries and codes.. 
      var loader = new THREE.OBJMTLLoader(); 
      loader.load("./models/obj/file.obj", "./models/obj/file.mtl", function (obj) { 
       obj.translateY(-3); 
       obj.name = 'building'; 
       scene.add(obj); 
       //console.log(obj); 
      }); 

      var controls = new THREE.OrbitControls(camera, renderer.domElement); 
      controls.addEventListener('change', render); 
      controls.target.set(0, 0, 0); //This is the pre-defined target point 
      controls.update(); 

回答

1

看看這個例子:http://threejs.org/examples/#webgl_interactive_lines。您需要在某個網格上找到鼠標投影的交集,然後爲相機創建一個新的目標的交集位置。

+0

嘿,謝謝你的回覆。我會檢查它的實施。 – yalcinm1

+0

找到解決方案? – kaigorodov

+0

嗨,對於遲到的回覆感到抱歉。我無法像我預期的那樣解決問題。但是我使用了指針鎖和物理示例來關閉當前光標位置的相機。這對我的需求來說已經足夠了。謝謝。 – yalcinm1