# Camera
摄像机的抽象基类。这个类不能被直接调用,一般常用的是PerspectiveCamera(透视摄像机)和OrthographicCamera(正交相机)。
# PerspectiveCamera
这一投影模式被用来模拟人眼所看到的景象,它是3D场景的渲染中使用得最普遍的投影模式。
构造器
PerspectiveCamera(fov:Number,aspect:Number,near:Number,far:Number)
参数:
- fov: 摄像机视锥体垂直视野角度,默认值50
- aspect:摄像机视锥体长宽比,默认值1(正方形画布)
- near:摄像机视锥体近端面,默认值0.1
- far:摄像机视锥体远端面,默认值2000
常用方法
- updateProjectionMatrix () 更新摄像机投影矩阵,在任何参数被改变后必须被调用
示例:
/**
* Sizes
*/
const sizes = {
width: window.innerWidth,
height: window.innerHeight
}
const camera = new THREE.PerspectiveCamera(75, sizes.width / sizes.height, 0.1, 100)
camera.position.z = 3
scene.add(camera)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
相机视野适应浏览器大小改变
window.addEventListener('resize',() => {
// Update sizes
sizes.width = window.innerWidth
sizes.height = window.innerHeight
// Update camera
camera.aspect = sizes.width / sizes.height
camera.updateProjectionMatrix()
// Update renderer
renderer.setSize(sizes.width,sizes.height)
renderer.setPixelRatio(Math.min(window.devicePixelRatio,2))
})
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11