import * as THREE from 'three'
import {OrbitControls} from "three/addons";
import {gsap} from "gsap";
// const scene = new THREE.Scene()
// const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 2000)
// const renderer = new THREE.WebGLRenderer({
// antialias: true
// })
// renderer.setSize(window.innerWidth, window.innerHeight)
// renderer.render(scene, camera)
// const controls = new OrbitControls(camera, renderer.domElement)
const timelineCamera = gsap.timeline()
const timelineControls = gsap.timeline()
// 实现视角平滑移动方法
function translateCamera(cameraPosition, controlsTarget, duration) {
const _duration = duration ? duration : 1
return new Promise((resolve) => {
timelineCamera.to(camera.position, {
x: cameraPosition.x,
y: cameraPosition.y,
z: cameraPosition.z,
duration: _duration,
ease: 'power2.inOut',
onComplete: () => {
}
})
timelineControls.to(controls.target, {
x: controlsTarget.x,
y: controlsTarget.y,
z: controlsTarget.z,
duration: _duration,
ease: 'power2.inOut',
onComplete: () => {
}
})
setTimeout(() => {
resolve()
}, _duration)
})
}
05-17
290
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交