3.3.threejs窗口自适应

在开发 Three.js 项目时,我们需要考虑到不同的设备和屏幕尺寸。当用户调整浏览器窗口大小时,我们希望场景能够自适应地进行调整,以保持正确的比例和尺寸。原理也比较简单:监听 window 对象的 resize 事件,在浏览器窗口大小发生变化时更新相机和渲染器的设置。

window.addEventListener('resize', function () {
 // 重新设置渲染器的宽高
 renderer.setSize(window.innerWidth, window.innerHeight);
 // 重新设置相机的宽高比
 camera.aspect = window.innerWidth / window.innerHeight;
 // 渲染器执行render方法的时候会读取相机对象的投影矩阵属性projectionMatrix
 // 但是不会每渲染一帧,就通过相机的属性计算投影矩阵(节约计算资源)
 // 如果相机的一些属性发生了变化,需要执行updateProjectionMatrix()方法更新相机的投影矩阵
 camera.updateProjectionMatrix();
})

微信 遇到疑问可加微信进行反映