Three.js에서 카메라(camera)는 3D 공간을 2D 화면에 투영(projection)하기 위한 도구다.
카메라는 씬(scene)을 관찰자의 시점으로 바라보는 역할을 하며, 화면에 어떤 장면이 보일지를 결정한다.
PerspectiveCamera는 현실적인 시점을 표현하는 카메라다.
사람의 눈처럼 멀리 있는 물체는 작게, 가까이 있는 물체는 크게 보이는 원근감이 적용된다.
3D 게임, 가상현실(VR), 시뮬레이션 등 사실적인 연출이 필요한 장면에 적합하다.
사용법
const camera = new THREE.PerspectiveCamera(75, window.width / window.height, 0.1, 100);
OrthographicCamera는 원근감 없이 모든 물체를 같은 크기로 보여주는 카메라다.
멀거나 가까운 물체가 모두 동일한 비율로 렌더링되며, 평면적인 장면 표현에 적합하다.
CAD 프로그램, UI 오버레이, 전략 시뮬레이션, 2D 게임 인터페이스 등에 자주 사용된다.
사용법
const aspect = window.innerWidth / window.innerHeight;
const camera = new THREE.OrthographicCamera(-1 * aspect, 1 * aspect, 1, -1, 0.1, 100);
left, right, top, bottom은 화면에 보이는 영역의 범위를 정의한다near, far는 볼 수 있는 깊이 범위를 설정한다