TDD ๋ฒ์น ์ธ ๊ฐ์ง TDD: ์ค์ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ ์ ๋จ์ ํ ์คํธ๋ถํฐ ์ง๋ ๊ฐ๋ฐ ๋ฐฉ์ ์คํจํ๋ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ ๋๊น์ง ์ค์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋๋ค. ์ปดํ์ผ์ ์คํจํ์ง ์์ผ๋ฉด์ ์คํ์ด ์คํจํ๋ ์ ๋๋ก๋ง ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ค. ํ์ฌ ์คํจํ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ ์ ๋๋ก๋ง ์ค์ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ์ ๊ท์น์ ๋ฐ๋ฉด ๊ฐ๋ฐ๊ณผ ํ ์คํธ๊ฐ ์ฝ 30์ด ์ฃผ๊ธฐ๋ก ํจ๊ป ๋์จ๋ค. ํ์ง๋ง ๋ฐฉ๋ํ ํ ์คํธ ์ฝ๋๋ ์ฌ๊ฐํ ๊ด๋ฆฌ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ๊ธฐ๋ ํ๋ค. ๊นจ๋ํ ํ ์คํธ ์ฝ๋ ์ ์งํ๊ธฐ ์ง์ ๋ถํ ํ ์คํธ ์ฝ๋๋ฅผ ์ง๋ ๊ฒ์ ํ ์คํธ๋ฅผ ์ ํ๋ ๊ฒ๋ณด๋ค ๋ชปํ๋ค. ์ค์ ์ฝ๋๊ฐ ์งํํ๋ฉด ํ ์คํธ ์ฝ๋๋ ๋ณํด์ผ ํ๋ค. ํ ์คํธ ์ฝ๋๊ฐ ์ง์ ๋ถํ๋ฉด ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ค์์ง๋ค. ํ ์คํธ ์ฝ๋๊ฐ ๋ณต์กํ ์๋ก ์ค์ ์ฝ๋๋ฅผ ์ง๋ ์๊ฐ๋ณด๋ค ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ถ๊ฐํ๋ ์๊ฐ์ด ๋ ๊ธธ์ด์ง..
๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํจํค์ง, ์คํ ์์ค ๋ฑ์ ์ธ๋ถ ์ฝ๋๋ฅผ ์ฐ๋ฆฌ ์ฝ๋์ ํตํฉ์ํค๋ ๋ฐฉ๋ฒ๊ณผ ์ด๋ฐ ์ํํธ์จ์ด ๊ฒฝ๊ณ๋ฅผ ๊น๋ํ๊ฒ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณธ๋ค. ์ํํธ์จ์ด ๊ฒฝ๊ณ๋, ์ธํฐํ์ด์ค ์ ๊ณต์์ ์ฌ์ฉ์ ์ฌ์ด์ ์ ์ฅ ์ฐจ์ด๋ก ๋ฐ์ํ๋ ๊ฒฝ๊ณ ์ธํฐํ์ด์ค ์ ๊ณต์๋ ์ต๋ํ ์ ์ฉ์ฑ์ ๋ํ๋ ๋ฐฉํฅ์ผ๋ก ์ค๊ณํ๋ค. ์ธํฐํ์ด์ค ์ฌ์ฉ์๋ ์์ ์ ์๊ตฌ์ ์ง์คํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ํ๋ค. ์ธ๋ถ ์ฝ๋ ์ฌ์ฉํ๊ธฐ ์๋ฅผ ๋ค์ด Map ๊ฐ์ฒด๋ ๊ต์ฅํ ๋ค์ํ ์ธํฐํ์ด์ค๋ก ์๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ, ์ด๋ฐ ์ ์ฐ์ฑ์ ์ ์ฉํ์ง๋ง ๊ทธ๋งํผ ์ํ์ด ํฌ๋ค. ๊ฐ์ฒด ์ ํ์ ์ ํํ์ง ์๋๋ค. ์ด๋ค ํ์ ์ ๊ฐ์ฒด๋ ์ถ๊ฐํ ์ ์๋ค. ์ฌ์ฉ์์๊ฒ ํ์ํ์ง ์์ ๊ธฐ๋ฅ๊น์ง ์ ๊ณตํ๋ค. ๋๊ตฌ๋ ๋ด์ฅ๋ clear() ํจ์๋ฅผ ํธ์ถํ์ฌ ๋ด์ฉ์ ์ง์๋ฒ๋ฆด ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์ ๋๋ฆญ ์ฌ์ฉํ๊ธฐ const..
9๊ฐ ๊ทธ๋ฆผ์ three.js๋ ๋์ ์ผ๋ก ๊ทธ๋ฆผ์๋ฅผ ๋ ๋๋ง ํ ์ ์๋ค. ๋ด๋ถ์ ์ผ๋ก ํ ์ค์ณ ๋งตํ์ ํตํด ๊ทธ๋ฆผ์๋ฅผ ์ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ , ์ด ์ด๋ฏธ์ง๋ฅผ ์ด์ฉํด ๊ทธ๋ฆผ์๋ฅผ ์๊ฐํ ํด๋ณด์. ๊ทธ๋ฆผ์๋ฅผ ๋ ๋๋งํ๊ธฐ ์ํ ์ธ ๊ฐ์ง ๊ฐ์ฒด ์ค์ 1. Renderer ๊ฐ์ฒด renderer.shadowMap.enabled = true 2. ๊ด์ ๊ทธ๋ฆผ์๋ฅผ ์ ๊ณตํ๋ ๊ด์ DirectionalLight PointLight SpotLight ์ด ๊ด์๋ค์ ๋ชจ๋ shadow.camera ์์ฑ์ ๊ฐ๋๋ค. ์ด ์์ฑ์ด ๊ทธ๋ฆผ์์ ๋ํ ํ ์ค์ณ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ๊ทธ๋ฆผ์๋ฅผ ์ค ๊ฒ์ธ์ง์ ๋ํ ์ฌ๋ถ๋ฅผ ๋ค์์ฒ๋ผ ์ค์ ํ ์ ์๋ค. light.castShadow = true; // ํ์ฑํ 3. ๋ชจ๋ธ ๊ทธ๋ฆผ์๋ฅผ ํํํ๋ ๋ชจ๋ธ์ ๋ค์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค...
์๋ฃ ์ถ์ํ ๊ตฌํ์ ๊ฐ์ถ๊ธฐ ์ํด์๋ ์ถ์ํ๊ฐ ํ์ํ๋ค Getter์ Setter๊ฐ ์๋, ์ถ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด ์ฌ์ฉ์๊ฐ ๊ตฌํ์ ๋ชจ๋ฅธ ์ฑ ์๋ฃ์ ํต์ฌ์ ์กฐ์ํ ์ ์์ด์ผ ํ๋ค. ์๋ฃ๋ฅผ ์ธ์ธํ๊ฒ ๊ณต๊ฐํ๊ธฐ๋ณด๋ค๋ ์ถ์์ ์ธ ๊ฐ๋ ์ผ๋ก ํํํ๋ ํธ์ด ์ข๋ค ์๋ฃ/๊ฐ์ฒด ๋น๋์นญ ๊ฐ์ฒด์ ์๋ฃ ๊ตฌ์กฐ์ ์ ์๋ ๋ณธ์ง์ ์ผ๋ก ์๋ฐ๋๋ค. ๊ฐ์ฒด: ์ถ์ํ ๋ค๋ก ์๋ฃ๋ฅผ ์จ๊ธด ์ฑ ์๋ฃ๋ฅผ ๋ค๋ฃจ๋ ํจ์๋ง ๊ณต๊ฐํ๋ค. ์๋ฃ ๊ตฌ์กฐ: ์๋ฃ๋ฅผ ๊ทธ๋๋ก ๊ณต๊ฐํ๋ฉฐ ๋ณ๋ค๋ฅธ ํจ์๋ ์ ๊ณตํ์ง ์๋๋ค. ์ฌ์ํด ๋ณด์ด์ง๋ง ์ด ์ฐจ์ด๊ฐ ๋ฏธ์น๋ ์ํฅ์ ๋งค์ฐ ํฌ๋ค. ์์ ๋ฅผ ํตํด ๋์ ์ฐจ์ด์ ์ ์์ธํ ์์๋ณด์ ๋ํ ํด๋์ค๋ฅผ ์๋ฃ ๊ตฌ์กฐ๋ก ๊ตฌํ - ์ ์ฐจ์ ์ธ ๋ํ class Square { topLeft: Point; side: number; } class Rectangle { ..
8๊ฐ ์นด๋ฉ๋ผ ์นด๋ฉ๋ผ๋ Camera ํด๋์ค๋ฅผ ์์๋ฐ๋๋ค. ๋ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค. PerspectiveCamera: ์๊ทผ๊ฐ(๊ฑฐ๋ฆฌ๊ฐ)์ ํํํ๋ค. ๊ฐ๊น์ด ์๋ ๋ฌผ์ฒด๊ฐ ๋ฉ๋ฆฌ ์๋ ๋ฌผ์ฒด๋ณด๋ค ์๋์ ์ผ๋ก ํฌ๊ฒ ๋ณด์ด๋๋ก ๋ ๋๋ง OrthographicCamera: ์๊ทผ๊ฐ(๊ฑฐ๋ฆฌ๊ฐ) ์์ด ํํํ๋ค. ๋ฌผ์ฒด์ ์๋ ํฌ๊ธฐ๋๋ก ๋ ๋๋ง๋๋ค. ์ด ๋๊ฐ์ง ์นด๋ฉ๋ผ์ ์ฐจ์ด์ ์ ์์๋ณด์ PerspectiveCamera ์นด๋ฉ๋ผ๋ฅผ ์ ์ํ๊ธฐ ์ํด์ 4๊ฐ์ ์ธ์๊ฐ์ด ํ์ **์ ๋์ฒด: 4๊ฐ์ ๊ฐ์ ํตํด ๊ตฌ์ฑ๋ (์๋ ๊ทธ๋ฆผ์ ์ฐ๋์) ์ก๋ฉด์ฒด ์ด ์ ๋์ฒด ์์ ์กด์ฌํ๋ ๋ฌผ์ฒด๊ฐ ์นด๋ฉ๋ผ๋ฅผ ํตํด ๋ณด์ฌ์ง๊ณ ํ๋ฉด์ ๋ ๋๋ง๋๋ค. fovy: ์ ๋์ฒด ๋์ด ๋ฐฉํฅ์ ๊ฐ๋ (๋จ์: degree) aspect: ์ ๋์ฒด ๊ฐ๋ก ๊ธธ์ด๋ฅผ ์ธ๋ก ๊ธธ์ด๋ก ๋๋ ๋น์จ zNear, zFar:..
7๊ฐ ๊ด์ AmbientLight, HemisphereLight: ํ๊ฒฝ๊ด, ์ฃผ๋ณ๊ด DirectionalLight, PointLight, SpotLight, RectAreaLight: ๋จ์ํ ์ฃผ๋ณ๊ด์ด ์๋ ๋น์ ๋ฐฉํฅ์ฑ์ ๊ฐ์ง๋ ๊ด์ ์์ฑ์์์ ๊ด์์ ์์๊ณผ ์ธ๊ธฐ๋ฅผ ๋ฐ์ ์ค๋นํ๊ธฐ ๊ด์์ ์ดํดํ๊ธฐ ์ํ ์ฐ์ต์ ์ฌ์ฉํ Scene์ ๋ค์ ์ฌ๊ทธ๋ํ๋ก ๊ตฌ์ฑํ๋ค. AmbientLight scene์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌผ์ฒด์ ๋ํด์ ๋จ์ผ ์์์ผ๋ก ๋ ๋๋ง ๋๋๋ก ํ๋ค. Usage: ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ธ๊ธฐ๊ฐ์ ๋งค์ฐ ์ฝํ๊ฒ ์ง์ ํด์ ์ฅ๋ฉด์ ์ถ๊ฐํ์ฌ ๊ด์์ ์ํฅ์ ๋ฐ์ง ๋ชปํ๋ ๋ฌผ์ฒด๋ ์ด์ง ๋ณด์ด๋๋ก ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. HemiphereLight AmibientLight์๋ ๋ค๋ฅด๊ฒ ๋น์ ๋ํ ์์๊ฐ์ด ํ๋๊ฐ ์๋๋ผ ๋ ๊ฐ์ด๋ค. ํ๋๋ ์..
5์ฅ ํ์ ๋ง์ถ๊ธฐ ํ๋ก๊ทธ๋๋จธ๋ ๊น๋ํ ํ์์ ๋ง์ถฐ ์ฝ๋๋ฅผ ์ง์ผํ๋ค. ์ฝ๋ ํ์์ ๋ง์ถ๊ธฐ ์ํ ๊ท์น์ ์ ํ๊ณ ์ด๋ฅผ ์ฐฉ์คํ ๋ฐ๋ผ์ผ ํ๋ค. ํ์ํ๋ค๋ฉด ๊ท์น์ ์๋์ผ๋ก ์ ์ฉํ๋ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ค. ์ด ์ฅ์์๋ ์ฝ๋๋ฅผ ๊น๋ํ๊ณ , ์ผ๊ด์ ์ด๋ฉฐ, ์ง์ ์ ์ฐํ๊ฒ ํ์์ ๋ง์ถ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณธ๋ค. ํ์์ ๋ง์ถ๋ ๋ชฉ์ ์ฝ๋๋ ์ฌ๋ผ์ง์ง๋ผ๋ ๊ฐ๋ฐ์์ ์คํ์ผ๊ณผ ๊ท์จ์ ์ฌ๋ผ์ง์ง ์๋๋ค. ์ฝ๋ ํ์์ ์์ฌ์ํต์ ์ผํ์ด๋ฉฐ, ์ฝ๋์ ๊ฐ๋ ์ฑ์ ์์ผ๋ก ๋ฐ๋ ์ฝ๋ ํ์ง์ ํฐ ์ํฅ์ ๋ฏธ์น๋ค. ์ ์ ํ ํ ๊ธธ์ด๋ฅผ ์ ์งํ๋ผ ๋๋ถ๋ถ 200์ค ์ ๋์ธ ํ์ผ๋ก๋ ์ปค๋ค๋ ์์คํ ์ ๊ตฌ์ถํ ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ํฐ ํ์ผ๋ณด๋ค ์์ ํ์ผ์ด ์ดํดํ๊ธฐ ์ฝ๋ค. ์ ๋ฌธ ๊ธฐ์ฌ์ฒ๋ผ ์์ฑํ๋ผ ์ ๋ฌธ ๊ธฐ์ฌ์ ํ๋ฆ์ ๋ณด๋ฉด ์ฒซ ๋ฌธ๋จ์ ์ ์ฒด ๊ธฐ์ฌ ๋ด์ฉ์ ์์ฝํ๋ค. ๊ธ์ ์ฝ์ด ๋ด๋ ค๊ฐ์๋ก..