์๋
ํ์ธ์... ์์ฝ๊ฒ๋ ๋ฏธ์
์คํจ ํ๊ธฐ๋ฅผ ์ฌ๋ฆฌ๊ฒ๋๋ค์ ใ
ํ.. ํด์ปค์ค ํ๊ธ ์ฑ๋ฆฐ์ง๋ ์ฑ๊ณตํ๋ ์ ์๋๋ฐ,, ์ญ์ ์ง์ฅ์ ๋ค๋๋ฉด์ ์ฑ๋ฆฐ์ง๋ฅผ ํ๊ธฐ๋ ์ฝ์ง์๊ตฐ์.. 26์ผ, ์ผ๊ทผ์ ์ง์น ๋๋จธ์ง ์ง ๋์ฐฉํด์ ์นจ๋์ ์ ๊น ๋๋๋ค๋ ๊ฒ ๊ทธ๋๋ก ์ ๋ค์ด๋ฒ๋ ธ๋ค์ ๐ฅฒ ๋ธ๋ก๊ทธ ์์ ๊ธ์ ๋จ๊ฒจ๋จ๋๋ฐ ใ
๊ฐ์๋ฅผ ๋ชป๋ค์ด์ ์คํจ์ผ ๊ฒ ๊ฐ์ต๋๋ค.. ํฌํญํญ ์์ฝ์ง๋ง ์ฑ๋ฆฐ์ง ๋ธ๋ก๊ทธ ๊ธ์ ์ฌ๊ธฐ๊น์ง ์ฌ๋ฆฌ๊ฒ ๋ ๊ฒ ๊ฐ์์. ๊ทธ๋๋ ๊ฐ์๋ ๋๊น์ง ๋ค์ ์์ ์ด๋ผ ๋ค์ผ๋ฉด์ ์ข
์ข
๊ธ์ ์์ฑํ๊ฒ ์ต๋๋ค! ๊ทธ๋ผ ์๋
..๐
์ฑ๋ฆฐ์ง

Part3 [Three.js]์ Chapter03 3D ํ
์คํธ ๊ฐ์ ํ๊ธฐ(10~11๊ฐ) ์ค๋์ ํ
์คํธ์ ๊ทธ๋ฆผ์๋ฅผ ๋ง๋ค๊ณ ์ง๋๋ฒ์ ํ
์คํธ์ ํ
์ค์ณ๋ฅผ ์
ํ๋ฏ์ด ๊ด์์๋ ํ
์ค์ณ๋ฅผ ์
ํ๋ณด์์ต๋๋ค. ๊ทธ๋ฆผ์๋ฅผ ์ค์ ํ๋ ค๋ฉด renderer์ ์ค์ ๋ถํฐ! ๋ณ๊ฒฝํด์ฃผ์
์ผํฉ๋๋ค. Three.js๋ ์ด๋ค ๊ฐ์ ๋ณ๊ฒฝํ ๋ ๋ฐ๋ก ์ ์ฉ์ด ๋๋๊ฒ ์๋๋ผ ์๋์ฒ๋ผ ํญ์ ํน์ ์์ฑ๊ฐ์ true๋ก ์ค์ ํด์ค์ผ ์ ์ฉ์ด ๋๋ ๊ฒ ๊ฐ๋ค์.. renderer.shadowMap.enabled = true; ์ดํ์๋ ๊ทธ๋ฆผ์๋ฅผ ๋๋ฆฌ์ธ ๊ฐ์ฒด์ ๊ทธ๋ฆผ์๋ฅผ ๋ฐ์ ๊ฐ์ฒด๋ฅผ ์ค์ ํ์ต๋๋ค. ๊ฐ์์์๋ ํ
์คํธ์ ๊ทธ๋ฆผ์๋ฅผ ๋๋ฆฌ์ฐ๊ณ ํ
์คํธ ๋ค์์๋ ํ๋ ์ธ๋ฉ์๋๊ฐ ๊ทธ๋ฆผ์๋ฅผ ๋ฐ๊ฒ ์ค์ ํ์์ต๋๋ค. text.castShadow = true; ... plain.receiveShado..

Part3 [Three.js]์ Chapter03 3D ํ
์คํธ ๊ฐ์ ํ๊ธฐ(08~09๊ฐ) ์ค๋์ spolight ์กฐ๋ช
์ ์ถ๊ฐํด์ ํ
์คํธ ๋ค์ชฝ์ ์กฐ๋ช
์ด ํฅํ๋ ๋ชจ์ต์ ๊ตฌํํด๋ณด์์ต๋๋ค. spolight ์กฐ๋ช
์ ์ดฌ์์ฅ์์ ๋ฐฐ์ฐ๋ค์ ๋น์ถ ๋ ์ฌ์ฉํ๋ ๊ทธ ์กฐ๋ช
์ ์๊ฐํ์๋ฉด ๋๋๋ฐ์, target๊ฐ์ ๊ฐ์ง๊ณ ์์ด์ ์ด๋๊ณณ์ ํฅํด ์กฐ๋ช
์ ๋น์ถ์ง ๋ฐ๋ก ์กฐ์ ํ ์ ์์ต๋๋ค. spolight ์ธ์คํด์ค ์์ฑํ๋ ๊ฑด ๋ค๋ฅธ ambient, point light์ฒ๋ผ new THREE.Spolight๋ก ์์ฑํ ์ ์๋๋ฐ์, props๊ฐ ๋ค๋ฅธ ์กฐ๋ช
๋ค๊ณผ ๋ค๋ฅด๊ฒ ์ข ๋ง์ ๋ณด์
๋๋ค. ์ฐจ๋ก๋๋ก ๋น์ ์์, ๊ฐ๋, ๊ฑฐ๋ฆฌ, ํผ์ง๋ ๊ฐ๋, ๋ฐ๊ทธ๋ฆผ์..?, ๊ฑฐ๋ฆฌ์๋ฐ๋ผ ๋น์ด ํฌ๋ฏธํด์ง๋ ์ ๋ ๋ฅผ ๋ํ๋
๋๋ค. Three.js ๊ณต๋ถํ ๋๋ง๋ค ๋ชจ๋ฅด๋ ๋จ์ด๋ค์ด..

Part3 [Three.js]์ Chapter03 3D ํ
์คํธ ๊ฐ์ ํ๊ธฐ(06~07๊ฐ) ์ค๋์ Text Geometry๋ฅผ ์ ๋ฐ์ ์ผ๋ก ๋ค๋ฌ๋ ์์
์ ์งํํ์ต๋๋ค. bevel๊ฐ์ ์กฐ์ ํ๊ณ texture๋ฅผ ์
ํ์ ์ข ๋ ๋ค์ฑ๋กญ๊ฒ ๋ณด์ด๊ฒ ํ์์ต๋๋ค. bevel์ ์ง๋ ํฌ์คํธ์์๋ ์ฌ๋ฌ๋ฒ ์ฌ์ฉํ์๋๋ฐ์, bevel๊ณผ ๊ด๋ จ๋ ์์ฑ์ geometry์ ๊ฒฝ์ฌ๋ฉด์ ์กฐ์ ํ ์ ์์ต๋๋ค. ๋ํ์ ์ผ๋ก depth, bevelThickness, bevelSize, bevelOffset, bevelSegments ๋ฑ์ ์์ฑ์ ๊ฐ์ง๋๋ค. ์ฌ๊ธฐ์ bevelSegments๋ฅผ ํฌ๊ฒํ๋ฉด ๋ ์ด์์์ด ๋ง์์ ธ์ ์ข ๋ ๋ถ๋๋ฝ๊ฒ ๋ณด์ด๊ฒ ๋๋๋ฐ์, ๋น์ฐํ ๋ ๋๋ง ๋น์ฉ๋ ๋ง์ด ๋ค๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ ์ฌ์ฉํด์ผํ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๊ทธ๋ฆฌ๊ณ bevel ์ค์ ์..

Part3 [Three.js]์ Chapter03 3D ํ
์คํธ ๊ฐ์ ํ๊ธฐ(04~05๊ฐ) ์ค๋์ ํฐํธ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ๋ก๋ฉํ๋ ๋ฐฉ๋ฒ๊ณผ Text Geometry๋ฅผ ํ๋ฉด ๊ฐ์ด๋ฐ๋ก ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ ์ต๋๋ค. ์ง๋ ์๊ฐ์ ๊ธฐ๋ณธ์ ์ธ otf, ttf ํฐํธ๋ฅผ typeFont๋ก ๋ณ๊ฒฝ ํ Three.js๊ฐ ์ ๊ณตํ๋ FontLoader class๋ฅผ ์ฌ์ฉํด์ three.js์์ ์ฌ์ฉํ ์์๋ font ๊ฐ์ฒด๋ฅผ ๋ฐํํ๊ณ ์ด๋ฅผ TextGeometry์ font ์ต์
์ผ๋ก ์ถ๊ฐํ์ฌ ์ ์ฉํ๋ ๊ฒ๊น์ง ํ๋๋ฐ์, ์ด๋ ์ฝ๋๋ฅผ ๋ณด์๋ฉด ํ
์คํธ๋ก ์ถ๊ฐํ ๊ฐ์ด onLoad cb scope ์์๋ง ์ ํจํ๋ค๋ ๊ฒ์ ํ์ธํ ์์์ต๋๋ค. const fontLoader = new FontLoader(); // 1. load method fontLoa..

์ค๋์ ์ด์ด์ Part3 [Three.js]์ Chapter03 3D ํ
์คํธ ๊ฐ์๋ฅผ ๋ค์์ต๋๋ค.(01~03๊ฐ) ๊ทธ๋ผ ์ค๋ ๊ฐ์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค๊ณผ ๋๋์ ์ ๊ฐ๋ตํ๊ฒ ์์ฑํด ๋ณผ๊ฒ์! ๐01. ํฐํธ ๋ณํํ๊ธฐ Three.js์์ ํ
์คํธ๋ฅผ ๋ณด์ฌ์ค๋๋ text geometry๋ฅผ ์ฌ์ฉํ๋๋ฐ์, ์ด๋ ์ ๋ฌํ๋ ํฐํธ์ ํ์์ด ์ผ๋ฐ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉํ๋ ttf,otf ๊ฐ์ ํ์์ด ์๋๋ผ TypeFace๋ผ๋ json ํ์์ ์ฝ๋์ฌ์ผ ํฉ๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ์ ์ฉํด ๋ณผ ์ ์๋ ํฐํธ๋ ์๋์ฝ๋์ฒ๋ผ ๊ฐ์ ธ์ฌ ์ ์๋๋ฐ์. import typeface from 'three/examples/fonts/gentilis_bold.typeface.json' ์ ํฐํธ๋ค์ ํ๊ธ์ง์์ด ์๋๋์ง๋ผ ๊ฐ์์์๋ ํ๊ธ ์ง์์ด ๋๋ ํฐํธ๋ฅผ ์๋ก ๋ฐ์ ํ T..