1、控制视角(仰视角、俯视角、水平方向视角)
2、控制鼠标缩放大小
3、控制旋转速度
…
this.controls = new OrbitControls(this.camera, this.renderer.domElement)
this.controls.mouseButtons = {
LEFT: THREE.MOUSE.ROTATE,
MIDDLE: THREE.MOUSE.DOLLY,
RIGHT: THREE.MOUSE.PAN
this.controls.enabled = true;
this.controls.target = new THREE.Vector3();
this.controls.minDistance = 0;
this.controls.maxDistance = Infinity;
this.controls.minZoom = 0;
this.controls.maxZoom = Infinity;
this.controls.minPolarAngle = 0;
this.controls.maxPolarAngle = Math.PI;
this.controls.minAzimuthAngle = - Infinity;
this.controls.maxAzimuthAngle = Infinity;
this.controls.enableDamping = false;
this.controls.dampingFactor = 0.25;
this.controls.enableZoom = true;
this.controls.zoomSpeed = 1.0;
this.controls.enableRotate = true;
this.controls.rotateSpeed = 1.0;
this.controls.enablePan = true;
this.controls.keyPanSpeed = 7.0;
this.controls.autoRotate = false;
this.controls.autoRotateSpeed = 2.0;
this.controls.enableKeys = true;
this.controls.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 };
this.controls.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };
this.enabled = true;
// "target" sets the location of focus, where the object orbits around//聚焦坐标
this.target = new THREE.Vector3();
//...
特点:远近高低比例都相同
相机的位置:将相机的中心点定义为相机的位置。
构造函数:OrthographicCamera(left,right,top,bottom,near,far)
left:左平面距离相机中心点的垂直距离。
right:右平面距离相机中心点的垂直距离。
top:顶平面.
因为OrbitControls控制器控制的是相机移动,移动后旋转的也是相机,观察物体时移动后旋转会跑到其他位置,做了一点小修改使之变为物体自身旋转。
THREE.OrbitControls = function (object, domElement) {
this.object = object;
var model = null;
this.model = model...
domElement: 可选的,指定在特定的元素(例如画布 renderer.domElement)上工作
autoRotate: Boolean 默认false。设定为true时,相机自动围绕目标旋转但必须在animation中循环调用update();
autoRotateSpeed: Float 当前者为true时
这个目标默认为THREE.Vector3(),也就是(0, 0, 0)世界坐标的原点。
可以通过THREE.OrbotControls的实例对象来修改.target = new THREE.Vector3(...)
设置控件...
this.enabled = true;
// "target" sets the location of focus, where the object orbits around
//聚焦坐标
this.target = new THR...
OrbitControls是用于threejs的轨道控制插件,试了下在threejs里建立坐标系,使用Phong光照模型材质,开启雾化效果。做了个简单的demo.代码如下。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简
success_online:
vue项目封装腾讯TcPlayer播放器
weixin_36958747:
vue项目封装腾讯TcPlayer播放器
我爱软件狗:
apicloud 打开外部地图APP
风如白话: