构造函数参数说明
new THREE.OrbitControls(object: Camera, domElement: HTMLDOMElement)
- object: 控制的相机
- domElement:可选的,指定在特定的元素(例如画布
renderer.domElement
)上工作
属性
- autoRotate: Boolean 默认
false
。设定为true
时,相机自动围绕目标旋转但必须在animation中循环调用update()
;
- autoRotateSpeed: Float 当前者为
true
时默认2.0
,代表每轮60fps用时30s,值越小转动越慢;
- rotateSpeed: Float 旋转速度(ORBIT的旋转速度,鼠标左键),默认
1
;
- domElement: HTMLDOMElement 侦听鼠标/触摸事件,必须在构造函数中传递,用作特性值更改后不会重新设置事件侦听器,默认是整个文档;
- enableDamping: Boolean 默认
false
。设置为true
则启用阻尼(惯性),用来给控制相机一个重量,必须调用update()
在你的animation循环中;
- dampingFactor: Float 前者为
true
时使用阻尼惯性(可理解为阻止向一个方向移动);
- enabled: Boolean 是否启用控件,默认
true
;
- enableKeys: Boolean 能否用键盘控制,默认
true
←↑→↓四个键控制物体的移动;
- keys: Object 控制相机平移的四个键。默认四个箭头键
{LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40}
所有的键值;
- enablePan: Boolean 相机平移,默认
true
;
- panSpeed: Float 移动的速度,默认
1
;
- keyPanSpeed: Float 相机平移的速度,默认每按一次控制方向键移动
7.0
像素;
- enableRotate: Boolean 水平垂直旋转相机,默认
true
。只想控制单轴,通过PolarAngle/AzimuthAngle
的最小值和最大值设置为相同的值,这将导致垂直或水平旋转固定在该值;
- enableZoom: Boolean 相机的缩放;
- maxAzimuthAngle: Float 水平旋转,范围
-Math.PI
~Math.PI
或者Infinity
默认Infinity
;
- minAzimuthAngle: Float 水平旋转,范围
-Math.PI
~Math.PI
或者-Infinity
默认-Infinity
;
- maxPolarAngle: Float 垂直旋转,范围
0
~Math.PI
默认Math.PI
;
- minPolarAngle: Float 垂直旋转,范围
0
~Math.PI
默认0
;
- maxDistance: Float 拉远镜头(只能用在PerspectiveCamera),默认
Infinity
;
- minDistance: Float 拉近镜头,默认
0
;
- maxZoom: Float 拉远镜头(只能用在OrthographicCamera),默认
Infinity
;
- minZoom: Float 拉近镜头,默认
0
;
- mouseButton: Object
{ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT}
鼠标控制缩放移动和旋转;
- object: Camera 正在控制的相机;
- position0: Vector3 在
reset()
和saveState()
内部使用;
- screenSpacePaning: Boolean 平移时摄像机位置的转换。
true
,相机的平移在屏幕空间;false
,摄像机在与摄像机向上方向正交的平面上平移,默认false
;
- target: Vector3 在
reset()
和saveState()
内部使用;
- zoom0: Vector3 在
reset()
和saveState()
内部使用;
- zoomSpeed: Float zoom(变焦)的速度,默认
1
;
方法
- dispose(): null 移除所有的事件监听;
- getAzimuthalAngle(): radians 获得用弧度表示的当前水平旋转角度;
- getPolarAngle(): radians 获得用弧度表示的当前垂直旋转角度;
- reset(): null 通过最近一次调用
saveState()
或者初始状态来重置为当前的状态;
- saveState(): null 保存当前控制的状态,可以稍后通过
reset()
来恢复;
- update(): false 更新控件,在手动改变了摄像机的状态后必须调用。在设置了
autoRotate
或enableDamping
时也要在循环中调用。
评论区