PerspectiveCamera:透视相机(最常用)
透视相机会模拟人眼/真实摄像机:远处物体看起来更小。大部分 3D 场景都会用它。
构造参数
ts
const camera = new THREE.PerspectiveCamera(
75, // fov:垂直视角(度)
window.innerWidth / window.innerHeight, // aspect:宽高比
0.1, // near:近裁剪面
1000 // far:远裁剪面
);常见实践
- 保持 aspect 正确:窗口尺寸变化时更新
ts
window.addEventListener("resize", () => {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
});- 合理设置 near/far:差距越大越容易出现深度精度问题(z-fighting)
练习
- 用 GUI 调
fov/near/far,观察透视畸变与裁剪效果 - 把一个地面放远一点,观察 z-fighting 的出现与缓解方法
