Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用three.js使用轨迹球控制来控制场景的旋转_Javascript_3d_Three.js - Fatal编程技术网

Javascript 如何使用three.js使用轨迹球控制来控制场景的旋转

Javascript 如何使用three.js使用轨迹球控制来控制场景的旋转,javascript,3d,three.js,Javascript,3d,Three.js,我正在使用three.js和webgl构建3D建筑,我将平面、天空、建筑放置在平面上,我使用轨迹球控件旋转相机-它可以完美地进行缩放、平移,但平面会颠倒旋转,因为我正在构建楼层规划器,我不想显示向下的一面,为此,我尝试使用轨道控制和固定旋转,但平移和缩放选项不如轨迹球控制灵活 下面是我的轨迹球控制代码 `controls = new THREE.TrackballControls( camera ); controls.userPan = true; controls.

我正在使用three.js和webgl构建3D建筑,我将平面、天空、建筑放置在平面上,我使用轨迹球控件旋转相机-它可以完美地进行缩放、平移,但平面会颠倒旋转,因为我正在构建楼层规划器,我不想显示向下的一面,为此,我尝试使用轨道控制和固定旋转,但平移和缩放选项不如轨迹球控制灵活 下面是我的轨迹球控制代码

   `controls = new THREE.TrackballControls( camera );  
    controls.userPan = true;
    controls.userPanSpeed = 0.0;        
    controls.userZoom  = true;
    controls.userZoomSpeed  = 2.0;      
    controls.userRotate  = true;
    controls.userRotateSpeed  = 1.0;
    controls.minDistance = 1.0; // how far can you zoom in
    controls.maxDistance = 1500.0; // how far can you zoom out      
    controls.maxPolarAngle = Math.PI *0.495;        
    controls.minPolarAngle = Math.PI/8;
    controls.rotation = Math.PI / 12;
    controls.minPolarAngle =  Math.PI *0.495;` 
以及轨道控制

   `controls = new THREE.OrbitControls( camera );       
    controls.userPan = true;
    controls.userPanSpeed = 0.0;        
    controls.userZoom  = true;
    controls.userZoomSpeed  = 2.0;      
    controls.userRotate  = true;
    controls.userRotateSpeed  = 2.0;
    controls.minDistance = 1.0; // how far can you zoom in
    controls.maxDistance = 1500.0; // how far can you zoom out      
    controls.maxPolarAngle = Math.PI * 0.495;`
我觉得轨迹球控制是用户友好的,但需要单独修复旋转,任何人都可以指导我。
提前感谢

您必须使用
轨道控制
OrbitControls
平移和缩放有什么问题?我尝试使用OrbitControls,但我创建的对象或模型旋转时远离中心点,缩放也聚焦到中心点,我必须缩放或平移鼠标指针放置在
OrbitControls
TrackballControls
上的任何位置,并向
控件进行缩放和旋转。目标
。他们都支持平移。您可以像这样更改目标:
controls.target.set(x,y,z)
。嗨,WestLangley我曾经使用过TrackballControls,现在我修改了TrackballControls.js-我隐藏了行
\u this.object.up.applyQuaternion(四元数)-这样旋转控制在东、西和北侧,现在飞机在南侧旋转(这样显示建筑物的地下位置)-我也需要控制-这样用户就不会漫游到建筑物的地下-请引导meSorry,我只能回答关于three.js的问题。我帮不了你写代码。