OrbitControls 轨道控件

轨道控件是最常用的控件,它能让场景饶某个物体快速的旋转、平移、和缩放,就像是在某个轨道上运行一样。它跟 TrackballControls 有点像, 但它的参数的默认值比 TrackballControls 更高,也就是它旋转、平移的速度更快,而且它在垂直方向上只能旋转一个角度, 而不像 TrackballControls 那样可以在垂直方向上不停的旋转。查看下面的演示,鼠标按下后上下移动,观察圆锥顶部和底面的活动范围。 需要导入OrbitControls.js,路径在官网提供的项目文档 examples/js/controls 下。

function OrbitControls( camera, domElement ) { } var controls = new THREE.OrbitControls(camera, renderer.domElement);

Constructor

object Camera 被控制的相机.
domElement The HTML element 用于事件侦听器的HTML元素。 默认情况下,这是整个文档,
但是如果你只希望控件在特定元素(例如画布)上工作,则可以在此处指定。

Attributes

autoRotate : Boolean

Default value : false
Description : 是否围绕目标自动旋转,如果是true,则要在帧循环中调用 update().

autoRotateSpeed : Float

Default value : 2.0
Description : 自动旋转速度, 默认值为2.0,相当于60fps/30秒。

dampingFactor : Float

Default value : 0.25
Description : 阻尼因子。

domElement : The HTML element

Default value : document
Description : 用于事件侦听器的HTML元素。 默认情况下,这是整个文档,但是如果你只希望控件在特定元素(例如画布)上工作,则可以在此处指定。

enabled : Boolean

Default value : true
Description : 是否启用。

enableDamping : Boolean

Default value : false
Description : 是否启用阻尼(惯性),可赋予控件重量感。如果是true,则要在帧循环中调用 update().

enableKeys : Boolean

Default value : true
Description : 是否启用键盘控制。

enablePan : Boolean

Default value : true
Description : 是否启用摄像头平移。

enableRotate : Boolean

Default value : true
Description : 是否启用摄像机的水平和垂直旋转。 可以通过将极角或方位角的最小值和最大值设置为相同的值来禁用单个轴, 这将导致垂直或水平旋转为固定值。

enableZoom : Boolean

Default value : true
Description : 是否启用用相机的缩放。

keyPanSpeed : Float

Default value : 7.0
Description : 使用键盘时平移相机的速度。 默认值为每按键7.0像素。

keys : Object

Default value : controls.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }
Description : 按键的keyCode。

maxAzimuthAngle : Float

Default value : Infinity
Description : 水平轨道的运行上限,范围是-Math.PI到Math.PI(无限大),默认为无穷大。

maxDistance : Float

Default value : Infinity
Description : 最大的移动距离。

maxPolarAngle : Float

Default value : Math.PI
Description : 垂直轨道的运行上限,范围是0到Math.PI.

maxZoom : Float

Default value : Infinity
Description : 最大的缩小。

minAzimuthAngle : Float

Default value : -Infinity
Description : 水平轨道的运行下限。 范围是-Math.PI到Math.PI(负无限大)。

minDistance : Float

Default value : 0
Description : 最小的移动距离。

minPolarAngle : Float

Default value : 0
Description : 垂直轨道的运行下限,范围是0到Math.PI.

minZoom : Float

Default value : 0
Description : 最小的放大。

mouseButtons : Object

Default value :
Description : 鼠标按钮的引用。

object : Camera

Default value :
Description : 被控制的相机。

panSpeed : Float

Default value : 1
Description : 平移速度。

position0 : Vector3

Default value : this.object.position.clone()
Description : 内部使用saveState(),reset().

rotateSpeed : Float

Default value : 1
Description : 旋转速度。

screenSpacePanning : Boolean

Default value : false
Description : 定义平移时摄像机位置的平移方式。 如果true,则摄像机在屏幕空间中平移。 否则,摄像机会在与摄像机向上方向垂直的平面中平移。

target0 : Vector3

Default value : this.target.clone()
Description : 内部使用saveState(),reset().

target : Vector3

Default value : new THREE.Vector3()
Description : 控件的焦点,相机围绕这个轨道运行。

zoom0 : Float

Default value : this.object.zoom
Description : 内部使用saveState(),reset().

zoomSpeed : Float

Default value : 1
Description : 缩放速度。

Methods

dispost( ) : null

删除事件侦听。

getAzimuthalAngle( ) : radians

获取当前的水平旋转角度。

getPolarAngle( ) : radians

获取当前的垂直旋转角度。

reset( ) : null

重置。

saveState( ) : null

保存状态。

update( ) : Boolean

更新。