Camera
PerspectiveCamera
인간의 눈이 보는 방식을 모방하도록 설계되어 있으며 3D 장면을 렌더링 하는데 사용되는 가장 일반적인 프로젝션 모드 카메라 이다 PerspectiveCamera 샘플
PerspectiveCamera( fov : number, aspect : number, near : number, far : number )
PerspectiveCamera( 60, this.sceneWidth / this.sceneHeight, 0.1, 1000 );
- fov(Field of View): 카메라 절두체 시야 영역 (bottom 부터 top 으로 의 수직 뷰 (default: 50))
- aspect: 카메라 절두체 종횡비 (화면에 나타날 비율(걍 화면이라고 생각하면 됨). 일반적으로 (canvas width / canvas height)이 되고 정사각형일 경우 1이 된다.) 1일경우는 화면에 꽉채워져서 펼쳐지므로 object가 이그러져 보일 수도 있다.
- near: 평면 근처의 카메라 절두체
- far: 카메라 절두체 원거리 평면
near & far
near 와 far는 현재 카메라의 위치에서 scene의 어디서부터(near) 어디까지(far) 노출할 것인가를 정하는 것이다.
zoom & fov
화면에서 특정 사물을 줄이거나 키울때 사용하는 방법이다.
쌍안경처럼 멀리 있는 물체를 확대하고 싶을 때는 줌을 사용하고, 주변 시야처럼 수평 시야를 늘리거나 줄이고 싶을 때는 fov를 사용합니다.
zoom은 화면속의 object사이즈를 조정하는데 사용되어 지고, fov는 보여지는 scene 의 넓이를 조절합니다.
그러나 결과론적으로 둘다 거의 동일한 효과를 나타냅니다.
OrthographicCamera
렌더링된 이미지의 개체 크기는 카메라와의 거리에 관계없이 일정하게 유지된다
OrthographicCamera( left: number, right: number, top: number, bottom: number, near: number, far: number );
- left : 카메라 절두체 왼쪽 평면.
- right : 카메라 절두체 오른쪽 평면.
- top : 카메라 절두체 상단 평면.
- bottom : 카메라 절두체하단 평면.
- near : 평면 근처의 카메라 절두체.
- far : 카메라 절두체 원거리 평면.
CameraHelper
var helper = new THREE.CameraHelper(dirLight.shadow.camera);
var helper = new THREE.CameraHelper(this.camera);
this.scene.add(helper);
updateProjectionMatrix
Updates the camera projection matrix. Must be called after any change of parameters