如何设置OrbitControls目标移动?

时间:2014-10-09 21:45:43

标签: javascript camera three.js

我希望orbitcontrols使用一个选定的对象作为"四处走动的新目标。我找到了一个中心/目标属性,但我不确定如何将其设置为我选择的对象。

我试过了:

var controls = this.controls = new THREE.EditorControls(camera, container.dom);

this.orbitControls = new THREE.OrbitControls( camera );
this.orbitControls.damping = 0.5;
this.orbitControls.addEventListener( 'change', SceneManager.animate );

 var controls = this.controls = new THREE.OrbitControls(camera, container.dom);
 onObjectselected(function(o){
    controls.center.fromArray([o.position.x, o.position.y, o.position.z]);
 });

controls.addEventListener('change', function () {
    thisView.transformControls.update();
    thisView.orbitControls.update();
    SignalHub.signals.cameraChanged.dispatch(camera);
});

但我没有得到任何结果。我使用threejs编辑器作为代码库。

1 个答案:

答案 0 :(得分:0)

好吧没关系,我不想删除它,所以我会放弃它。

我不知何故认为控件会管理其他内容,但我只需将以下内容添加到objectSelected回调中:

onObjectselected(function(o){
  //controls.center.fromArray([o.position.x, o.position.y, o.position.z]);
  thisView.orbitControls.center.fromArray([o.position.x, o.position.y, o.position.z]);
});