DollyOutZoomIn
项目参见:
GitHub - LoongZP/threejs-DollyZoom
核心代码
import * as THREE from 'three';
export class DollyZoom {
// nearPoint, farPoint,targetPos: Vector3
// targetPos为被观察物体的坐标
nearPoint
farPoint
targetPos
nearFov // nearFov[0,90]
constructor(nPoint, fPoint, tPos, nFov) {
this.nearPoint = nPoint;
this.farPoint = fPoint;
this.targetPos = tPos;
this.nearFov = nFov;
this._init()
}
_line1
_targetPoint
_distance2
_x
_init() {
this._line1 = new THREE.Line3(this.nearPoint, this.farPoint);
let targetPosProgress = this._line1.closestPointToPoint