OrbitControls&每个视口的TransformControls

时间:2013-10-02 17:08:27

标签: three.js

我在4个视口中分割了一个场景,其中包含2个PerspectiveCamera和2个OrthographicCamera。

直播示例:http://stemkoski.github.io/Three.js/Viewports-Quad.html

当我使用OrbitControls作为第一台摄像机时,我必须分配dom元素,这是整个画布场景而不是特定视图。 TransformControls也是如此。

如何在每个相机视口中使用它们?

1 个答案:

答案 0 :(得分:0)

您可以为每个视口创建一个OrbitControls实例,但是相同的DomElement,因此:

controls.push(new THREE.OrbitControls( views[0].camera, renderer.domElement ));
controls.push(new THREE.OrbitControls( views[1].camera, renderer.domElement ));
controls.push(new THREE.OrbitControls( views[2].camera, renderer.domElement ));

只添加一个事件监听器就足够了:

controls[0].addEventListener( 'change', draw );

但是我觉得这个解决方案很慢,我仍在寻找更好的选择。