์ค๋์ ์ด์ด์ Part3 [Three.js ๊ธฐ์ด]์ Chapter02 3Dํ๋ธ ๊ฐ์๋ฅผ ๋ค์์ต๋๋ค.(13~14๊ฐ) ๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! ๐01. OrbitControls ํ๋ฉด์์์ ์ธํฐ๋ ํฐ๋ธํ๊ฒ ์นด๋ฉ๋ผ ์ปจํธ๋กค์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ threejs ๋นํธ์ธ ๊ธฐ๋ฅ์
๋๋ค. ์นด๋ฉ๋ผ๊ฐ ๋ฌผ์ฒด ์ฃผ๋ณ์์ ๊ถค๋๋ฅผ ๊ทธ๋ฆฌ๋ฉฐ ๋๊ณ ์๋ ๊ฑธ ์๊ฐํ์๋ฉด ๋๊ฒ ์ต๋๋ค. https://threejs.org/docs/index.html?q=Orbit#examples/en/controls/OrbitControls three.js docs threejs.org OrbitControls๋ three/addons ํจํค์ง์์ ์ง์ importํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. import { OrbitControls } fro..
์ค๋์ ์ด์ด์ Part3 [Three.js ๊ธฐ์ด]์ Chapter02 3Dํ๋ธ ๊ฐ์๋ฅผ ๋ค์์ต๋๋ค.(11~12๊ฐ) ๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! ๐01. ํ๋ธ์ ์ ๋๋ฉ์ด์
์ ์ฉํ๊ธฐ ์ ๋๋ฉ์ด์
์ ์ ์ ์ธ ์ฅ๋ฉด์ ์๊ฐ์ ํ๋ฆ์๋ฐ๋ผ ์ฐ์์ผ๋ก ์ฌ๋ฌ ์ฅ ์ฐ์ ๋ค์ ํ๋๋ก ์ด์ด๋ถ์ธ ๊ฒ์ด๋ผ ๋ณผ ์ ์์ต๋๋ค. (์ฌ๊ธฐ์ ์ ์ ์ธ ์ฌ์ง ์ฐ๊ธฐ = render ๋ฉ์๋ ํธ์ถ) FPS : 1์ด์ ๋ช๋ฒ ๋ ๋๋งํ ์ ์๋์ง๋ฅผ ๋ํ๋ด๋ ๋จ์. - ์๋ก FPS=24๋ 1์ด์ ์ด 24์ฅ์ ์ฌ์ง์ ๋ ๋๋งํ ์ ์๋ค๋ ์๋ฏธ - ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ฐจ์ด๊ฐ ์์ผ๋ ๋ณดํต 60FPS ์ง์ window.requestAnimationFrame : ์งง์ ์๊ฐ ๋จ์๋ก render ๋ฉ์๋ ํธ์ถํ ๋ ์ฌ์ฉํ๋ ๋ธ๋ผ์ฐ์ API ์น์์ ์ฌ์ฉํ ์ ..
์ค๋์ ์ด์ด์ Part3 [Three.js ๊ธฐ์ด]์ Chapter02 3Dํ๋ธ ๊ฐ์๋ฅผ ๋ค์์ต๋๋ค.(08~10๊ฐ) ๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! 8, 9 ๊ฐ์ threejs ๋ฌธ์์์ Material๊ณผ Camera ์ฌ์ฉ๋ฒ๊ณผ ์์๋ฅผ ๊ฐ์ด ์ดํด๋ณด์์ต๋๋ค. https://threejs.org/docs/index.html#api/en/materials/LineBasicMaterial three.js docs threejs.org ๐01. Material ์ดํด๋ณด๊ธฐ LineBasicMaterial - ์ ํํ์ ์ค๋ธ์ ํธ๋ฅผ ํํํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. MeshBasicMaterial - ์กฐ๋ช
์ ์ํฅ์ ๋ฐ์ง ์๊ธฐ ๋๋ฌธ์ ๋น ์ ๋ฌด์ ์๊ด์์ด ์ ๋ณด์ด๋ ์์ํํ์ด ๋์ง ์์ต๋๋ค. MeshMate..
์ค๋์ ์ด์ด์ Part3 [Three.js ๊ธฐ์ด]์ Chapter02 3Dํ๋ธ ๊ฐ์๋ฅผ ๋ค์์ต๋๋ค.(06~07๊ฐ) ๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! ์กฐ๋ช
์ถ๊ฐํ๊ธฐ scene์ ์กฐ๋ช
์ ์ถ๊ฐํ์ฌ ๋ฌผ์ฒด์ ์
์ฒด๊ฐ์ ๋ํ ์ ์์ต๋๋ค. Three.js์๋ ์นด๋ฉ๋ผ์ฒ๋ผ ๋ค์ํ ์กฐ๋ช
๊ฐ์ฒด๋ฅผ ๋ณด์ ํ๊ณ ์๋๋ฐ ์ค๋์ ๊ทธ ์ค directionalLight์ ambientLight ์กฐ๋ช
์ ์ฌ์ฉํด ๋ณด์์ต๋๋ค. directionalLight : ํน์ ํ ๋ฐฉํฅ์ผ๋ก ์ง์ฌ๊ด์ ์ ๋ด๋ ค์ฃผ๋ ์กฐ๋ช
์ผ๋ก 3D ์ค๋ธ์ ํธ์ ๋ํด ๊ทธ๋ฆผ์ ์์์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ambientLight: scene์ ์์ํ ๋ฐ๊ธฐ๋ง ์กฐ์ ํ ์์๊ณ ๊ทธ๋ฆผ์ ์์์ ํํํ ์ ์์ต๋๋ค. *์ฃผ์ํ ์ : ์ด์ ์ ์ฌ์ฉํ๋ MeshBasicMateria..
์ค๋์ ์ด์ด์ Part3 [Three.js ๊ธฐ์ด]์ Chapter02 3Dํ๋ธ ๊ฐ์๋ฅผ ๋ค์์ต๋๋ค.(01~05๊ฐ) ๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! Three.js์ ๊ธฐ๋ณธ 4์์ Three.js๋ ํฌ๊ฒ Renderer, Scene, Camera ๊ทธ๋ฆฌ๊ณ 3D Objects๋ฅผ ์ฌ์ฉํด์ 3์ฐจ์ ๋ฌผ์ฒด๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ฐ์์์๋ ์ด๋ฐ ๊ธฐ๋ณธ ์์๋ค์ ์ํ ์ดฌ์์ ๋น๋์ด ์ค๋ช
ํด์ฃผ์
จ์ต๋๋ค. Scene์ ์ด๋ฆ ๊ทธ๋๋ก ์ฅ๋ฉด์ ์๋ฏธํ๋ฉฐ ์ฌ์ ๋ฐฐ์ฐ, ์ฃผ๋ณ ํ๊ฒฝ ๋ฑ์ ๋ด๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก Three.js์์๋ Mesh, Object, Light์ ๊ฐ์ 3์ฐจ์ ์ค๋ธ์ ํธ๋ก ํํ๋ฉ๋๋ค. ์ด๋ฐ ์ฌ๋ค์ ์นด๋ฉ๋ผ๋ฅผ ํตํด ์ดฌ์ํ๊ณ , Renderer๋ฅผ ํตํด ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฌผ์ฒด๋ฅผ ๋ณด์ฌ์ฃผ๋ ค๋ฉด ์ฐ์ rend..
์ค๋์ ์ด์ด์ ํํธ3 [Three.js ๊ธฐ์ด] ์ฑํฐ 01์ 4, 5๊ฐ์ ๋ค์์ต๋๋ค! ๋ถ๋ช
์ค๋์ ๊ผญ ๋ง์ด ๋ค์ด์ผ์ง์ถ์๋๋ฐ ์ญ์ ํ์ผ์ ๊ฐ์๋ฅผ ๋ฃ๋ ๊ฒ์ ์ฌ์ด์ผ์ด ์๋๊ตฐ์..ใ
-ใ
๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! Three.js๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ์ง๋ง(cdn, ์ง์ ๋ค์ด๋ก๋ ๋ฑ) ๊ฐ์์์๋ ๋ชจ๋ ๋น๋ ํด์ ํตํด ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๊ณ npm์ผ๋ก three.js๋ฅผ ์ค์นํ๋ ๋ฐฉ์์ผ๋ก ์งํํ์ต๋๋ค. ์ด๋ ์ฌ์ฉํ ๋น๋ ๋๊ตฌ์ธ ๋นํธ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Vite(๋นํธ) - Vue ์ฐฝ์์์ธ Evan You๊ฐ ๋ง๋ ๋น๋ ๋๊ตฌ๋ก ๊ธฐ์กด ๋ฒ๋ค๋ฌ์ esbuild์ ์ฅ์ ์ ํฉ์ณ ๋น ๋ฅธ ๋น๋ ์๋ ์ ๊ณต * esbuild๋ Go๋ก ์์ฑ๋ ๋ชจ๋ ๋ฒ๋ค๋ฌ๋ก Webpack, percel๊ณผ ๊ฐ์ ๊ธฐ์กด ๋ชจ๋ ๋ฒ๋ค๋ฌ..