Perspective cameras
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์นด๋ฉ๋ผ ํด๋์ค์ ๋๋ค.
Perspective Camera๋ Object3D์์๋ ์์๋๋ฏ๋ก ์๋ ์ค๋ช ๋ ๊ฒ ์ธ์๋ THREE.Object3D ๋ฐ THREE.Object3D.PerspectiveCamera์ ์กด์ฌํ๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์นด๋ฉ๋ผ ํ๋ผ๋ฏธํฐ ์ค์ ํ๊ธฐ
- ์ฌ์ ์๋ฌด ์ค๋ธ์ ํธ๋ ์ถ๊ฐํฉ๋๋ค.
- ์ข์ธก ์ค๋ธ์ ํธ ํจ๋์์ ์นด๋ฉ๋ผ๋ฅผ ์ ํํฉ๋๋ค.
- ์ฐ์ธก ์์ฑ ํจ๋์์ ์นด๋ฉ๋ผ์ ์ธ๋ถ์ ์ธ ํ๋ผ๋ฏธํฐ(์์น, ๊ฐ๋, ๊ฑฐ๋ฆฌ ๋ฑ)๋ฅผ ์ค์ ํฉ๋๋ค.
- ์นด๋ฉ๋ผ ๋ทฐ๋ฅผ ํตํด ์ค์ ๊ฒ์์์ ์ด๋ป๊ฒ ๋ณด์ผ์ง ํ์ธํฉ๋๋ค.
์นด๋ฉ๋ผ์ ์ธ๋ถ์ ์ธ ํ๋ผ๋ฏธํฐ ์ค์
์์ฑ
.fov
.fov
: Float
์นด๋ฉ๋ผ์ ์์ง ์์ผ๊ฐ์ ๋ํ๋ด๋ฉฐ, ์๋์์ ์๋ก ๋ณด์ด๋ ์์ผ์ ๊ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 50์ด๋ฉฐ, ์ด ๊ฐ์ ์กฐ์ ํ์ฌ ์์ผ์ ๋์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
.far
.far
: Float
์๊ทผ ์นด๋ฉ๋ผ์ ๋ฉ๋ฆฌ ์๋ ๋ฉด์ ๋ํ๋
๋๋ค.
์ด ๊ฐ๋ณด๋ค ๋ฉ๋ฆฌ์๋ ๊ฐ์ฒด๋ ๋ ๋๋ง๋์ง ์์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 1000์ด๋ฉฐ, ์ด ๊ฐ์ ์กฐ์ ํ์ฌ ๋ ๋๋ง ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
.near
.near
: Float
์๊ทผ ์นด๋ฉ๋ผ์ ๊ฐ๊น์ด ์๋ ๋ฉด์ ๋ํ๋
๋๋ค.
์ด ๊ฐ๋ณด๋ค ๊ฐ๊น์ด ์๋ ๊ฐ์ฒด๋ ๋ ๋๋ง๋์ง ์์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 0.1์ด๋ฉฐ, ์ด ๊ฐ์ ์กฐ์ ํ์ฌ ๋ ๋๋ง ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
๋ฉ์๋
.updateProjectionMatrix()
.updateProjectionMatrix ()
: undefined
์คํฌ๋ฆฝํธ ๋ด์์ ์ฝ๋๋ฅผ ํตํด ์นด๋ฉ๋ผ์ ํ๋ผ๋ฏธํฐ ๊ฐ(.fov, .far, .near)์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ, ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ฃผ์ด์ผ ๋ณ๊ฒฝ์ฌํญ์ด ์ฆ์ ์ ์ฉ๋ฉ๋๋ค.
const camera = WORLD.getObject("MainCamera");
camera.fov = 100;
camera.near = 3;
camera.far = 1500;
camera.updateProjectionMatrix(); //updateProjectionMatrix()๋ก ๋ณ๊ฒฝ๋ ๊ฐ์ ์
๋ฐ์ดํธ
์ค๋ธ์ ํธ ์์ฑ ํจ๋์์ ๊ฐ์ ์์ ํ๋ ๊ฒฝ์ฐ์๋ ํ์ํ์ง ์์ต๋๋ค.