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