# 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

相机视野适应浏览器大小改变

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