Create, Compete & Win at Redbrick Connect 2024! ๐ŸŽ‰

Perspective cameras

์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์นด๋ฉ”๋ผ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

Perspective Camera๋Š” Object3D์—์„œ๋„ ์ƒ์†๋˜๋ฏ€๋กœ ์•„๋ž˜ ์„ค๋ช…๋œ ๊ฒƒ ์™ธ์—๋„ THREE.Object3D ๋ฐ THREE.Object3D.PerspectiveCamera์— ์กด์žฌํ•˜๋Š” ์†์„ฑ๊ณผ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์นด๋ฉ”๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •ํ•˜๊ธฐ

  1. ์”ฌ์— ์•„๋ฌด ์˜ค๋ธŒ์ ํŠธ๋‚˜ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ขŒ์ธก ์˜ค๋ธŒ์ ํŠธ ํŒจ๋„์—์„œ ์นด๋ฉ”๋ผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์šฐ์ธก ์†์„ฑ ํŒจ๋„์—์„œ ์นด๋ฉ”๋ผ์˜ ์„ธ๋ถ€์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ(์œ„์น˜, ๊ฐ๋„, ๊ฑฐ๋ฆฌ ๋“ฑ)๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  4. ์นด๋ฉ”๋ผ ๋ทฐ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๊ฒŒ์ž„์—์„œ ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์นด๋ฉ”๋ผ์˜ ์„ธ๋ถ€์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •


scriptlist

์†์„ฑ

.fov

.fov : Float

์นด๋ฉ”๋ผ์˜ ์ˆ˜์ง ์‹œ์•ผ๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์•„๋ž˜์—์„œ ์œ„๋กœ ๋ณด์ด๋Š” ์‹œ์•ผ์˜ ๊ฐ๋„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 50์ด๋ฉฐ, ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜์—ฌ ์‹œ์•ผ์˜ ๋„“์ด๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.far

.far : Float

์›๊ทผ ์นด๋ฉ”๋ผ์˜ ๋ฉ€๋ฆฌ ์žˆ๋Š” ๋ฉด์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์ด ๊ฐ’๋ณด๋‹ค ๋ฉ€๋ฆฌ์žˆ๋Š” ๊ฐ์ฒด๋Š” ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 1000์ด๋ฉฐ, ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜์—ฌ ๋ Œ๋”๋ง ๊ฑฐ๋ฆฌ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.near

.near : Float

์›๊ทผ ์นด๋ฉ”๋ผ์˜ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๋ฉด์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์ด ๊ฐ’๋ณด๋‹ค ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๊ฐ์ฒด๋Š” ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 0.1์ด๋ฉฐ, ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜์—ฌ ๋ Œ๋”๋ง ๊ฑฐ๋ฆฌ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”์†Œ๋“œ

.updateProjectionMatrix()

.updateProjectionMatrix () : undefined

์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์นด๋ฉ”๋ผ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’(.fov, .far, .near)์„ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ, ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์–ด์•ผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ฆ‰์‹œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

example
const camera = WORLD.getObject("MainCamera");
 
camera.fov = 100;
camera.near = 3;
camera.far = 1500;
 
camera.updateProjectionMatrix(); //updateProjectionMatrix()๋กœ ๋ณ€๊ฒฝ๋œ ๊ฐ’์„ ์—…๋ฐ์ดํŠธ
โš ๏ธ

์˜ค๋ธŒ์ ํŠธ ์†์„ฑ ํŒจ๋„์—์„œ ๊ฐ’์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.