为什么我的相机在变焦开始时向后



我有一个基本功能,可以在相机滚动时移动相机,但它开始朝后,一旦我进行第一次滚动,它就会以正确的方式翻转并按预期工作。(我对编码也很陌生(

注意:对于我遗漏的其他函数和内容,还有更多的代码。

const scene = new THREE.Scene();
//Camera
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
//Renderer
const renderer = new THREE.WebGLRenderer({
canvas: document.querySelector('#bg'),
});
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
camera.position.setZ(30);

renderer.render( scene, camera );
//Scrolling to move
function moveCamera(){
const t = document.body.getBoundingClientRect().top;

camera.position.z = t * -0.01;
camera.position.x = t * -0.0002;
camera.rotation.y = t * -0.0002;
}
document.body.onscroll = moveCamera```

我用一个简单的方法计算它:

console.log(camera.position.z(,查看每次滚动时相机的位置。

这是一个负数,所以我写了一个简单的if语句,如果它得到<0.1

if(camera.position.z < 0.1){
camera.position.z = 0.1
}

最新更新