๊ฐ์ ์ฃผ์ ๐
๋ฉํ๋ฒ์ค, XR(VR, AR), ์น(HTML5) ๊ฒ์, ๋ธ๋ก์ฒด์ธ ๋ฑ์ ์ฐ์
์ ์ํด
ํ๋ คํ ์ธํฐ๋ ์
์ด ์๋ 2D/3D ์น ์ปจํ
์ธ ์ ๋ํ ์์๊ฐ ๊ธ์ฆํ๊ณ ์์ต๋๋ค.
๋ํ ์ทจ์
์์ฅ์์๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ + ์น ๊ทธ๋ํฝ ์์ง๋์ด์ ๋ํ ์์๊ฐ ๊ธ์ฆํ๊ณ ์์ต๋๋ค.
๋จ์ํ ์น ์ฌ์ดํธ๊ฐ ์๋ ํ๋ คํ ์ธํฐ๋ ์
์ด ์๋ 2D/3D ์ฌ์ดํธ์ ๋ํ ๋์ฆ๋ ์ง์๋ ๊ฒ ์
๋๋ค.
ํ์ง๋ง ๊ฒ์ ๊ฐ๋ฐ์์ ์ ๋ํฐ ๊ฐ๋ฐ์์ ๋ํ 3D ๊ฐ์๋ ๋ง์ง๋ง ์น 3D์ ๋ํ ๊ฐ์๋ ๋๋ฌด ๋ถ์กฑํฉ๋๋ค.
๋น์ ์ React์ Three.js๋ฅผ ํ๋ฒ์ ๋ฐฐ์ฐ๊ณ ์ตํ ์ ์๋ R3F(React Three fiber)์ ๋ํด ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
์ด๋์์๋ ์ฐพ์ ์ ์๋ R3F ์คํ ํ์ต์ผ๋ก ๋ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ 3D ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด ๋ณด์์!
์๊ฐ ํ๊ฒ/๊ฐ์ ๋ชฉ์ ๐โโ๏ธ
์ด ๊ฐ์๋ ๋๊ฐ ๋ค์ผ๋ฉด ์ข์๊น์?
- ๋์ ๋๋ ํน๋ณํ ์น ์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๊ฐ๋ฐ์/๋์์ด๋
- ์น์์ 3D๋ฅผ ๊ตฌํํ๊ณ ์ถ์ ๊ฐ๋ฐ์
- ๋จ๋ค๊ณผ๋ ์ฐจ๋ณํ ๋ ๋ฌด๊ธฐ๋ฅผ ๊ฐ๊ณ ์ถ์ ๊ฐ๋ฐ์
- ์น์์ ์ฌ๋ฏธ์๋ ์๋๋ฅผ ์์ํด๋ณด๊ณ ์ถ์ ๊ฐ๋ฐ์/๋์์ด๋
๋น์ ์ ์น ์ฌ์ดํธ๋ฅผ ๋ง๋๋ ์ผ์ด ์ฆ๊ฑฐ์ฐ์ ๊ฐ์?
- ์น ์ฌ์ดํธ ๊ฒ์ํ์ ๋ง๋ค๊ณ ํ์
์ฐฝ์ ๊ฐ๋ฐํ๋ ์ผ ์ง๊ฒน์ง ์์ผ์ ๊ฐ์?
- ๋น์ ์ ๋จ๋ค๊ณผ ์ฐจ๋ณํ ๋ ์น ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์ถ์ผ์ ๊ฐ์?
- ๋น์ ํ์ฌ์์ ํ๋ คํ ๋์ ๋๋, ๋จ๋ค๊ณผ ๋ค๋ฅธ ์น ์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด๋ณด์๊ณ ํ๋์?
- ์ด ์น์ฌ์ดํธ๋ ์ด๋ป๊ฒ ๋ง๋ค์์ง? WOWํ ์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด ๋ณด๊ณ ์ถ๋์?
์ด ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๋น์ ์
- ์น 3D์ ๊ธฐ์ด์ ๋ํด ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค
- React์ Three/js ๋ฅผ ํ๋ฒ์! R3F (react-three/fiber)๋ฅผ ๋ค๋ฃจ๋ ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค
- ์ง์ ๊ฐ์ด ํ๋ ํ๋ ์ฝ๋ฉํ๋ฉด์ ์ตํ๊ณ ์ค๋ ฅ์ ์์ ์ ์๋ ๊ฐ์
- ํ์ง ๊ฐ๋ฐํ์ฅ์๊ฒ ๋ฐฐ์ฐ๋ ์ค๋ฌด ํ๊ณผ ์ต์ ํ ๋ฐฉ๋ฒ
๊ฐ์ ํน์ง โจ
React์ Three.js ๋ฅผ ํ๋ฒ์! React Three Fiber(R3F)
3D ๊ธฐ์ด๋ถํฐ ํ์
์ ์ฌ์ฉํ ์ ์๋ ํ๋ก์ ํธ ๊ทธ๋ฆฌ๊ณ ์ต์ ํ ํ ๊น์ง !
- Javascript ๊ธฐ์ด์ ๋ํด์ ์๊ณ ๊ณ์๋ค๋ฉด ์๊ฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
- React์ ๋ํ ๊ธฐ์ด ๊ฐ๋
์ด ์์ผ์ ๋ถ์ด๋ฉด ์ข์ง๋ง ์์ด๋ ๊ด์ฐฎ์ต๋๋ค.
- ์น 3D์ ๋ํ ์ง์์ ์ ํ ์์ผ์
๋ ๊ด์ฐฎ์ต๋๋ค. ์๋ฌด๊ฒ๋ ๋ชจ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๊ณ ๊ธฐ์ด ๋ถํฐ ์ค๋ช
ํด์.
- ์ค๋ฌด์์ ๋ฐ๋ก ์ฌ์ฉ ํ ์ ์๋๋ก Typescript๋ก ๊ฐ์๋ฅผ ์งํํ๊ณ ์์ ์ฝ๋๋ฅผ ๊ณต์ ํฉ๋๋ค.
- ๊ฐ ์น์
๋ง๋ค ์ด๋ก ์์ฃผ์ ์ค์ํ ๊ธฐ์ด ๊ฐ๋
์ ์ค๋ช
(10~25%)
- ๊ฐ ์น์
๋ง๋ค ํ๋ ํ๋ ๊ฐ์ด ํ๋ ์ค์ต์์ฃผ์ ๊ฐ์ (75~90%)
ํ์ต ๋ด์ฉ ๐
< ์ฌ๋ฏธ์๋ 3D ๊ธฐ์ด์ ๋ํ ์ค๋ช
>
์ค์ ์ดฌ์ํ์ฅ, ์ ๋๋ฉ์ด์
์ ๋ง๋๋ ์ธํธ์ ๋น๊ตํ์ฌ ์ดํด๊ฐ ์์!
์ค์ ํ๊ฒฝ๊ณผ ๋๊ฐ์ ์น 3D ํ๊ฒฝ์ ๋ํ ์ด๋ก ์ค๋ช
!
< Geometry, Material >
๋ค์ํ ๋ชจ์์ ์ค๋ธ์ ํธ์ ์ฌ์ง ๊ทธ๋ฆฌ๊ณ ๋น๊ณผ ๊ทธ๋ฆผ์ ๊น์ง!
<3D web E-commerce project>
์ค๋ฌด์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ํ๋ก์ ํธ, ๊ทธ๋ฆฌ๊ณ ์ต์ ํ ํ ๊น์ง!
DEMO : https://ecommerce.taejaehan.com/
์์ ์ง๋ฌธ Q&A ๐ฌ
Q. ์ฉ ์ด๋ณด ๋น์ ๊ณต์์
๋๋ค. ๊ฐ์ ๋ฃ๊ณ ์ํ๋๋ฐ ์ ๊ฐ์ ๋น์ ๊ณต์๋ ๊ฐ์๋ฅผ ๋ค์ด๋ ์ดํด๊ฐ ๋ ๊น์?
A. ์๋
ํ์ธ์! ์ ์๊ฐ์๋ ๋น์ ๊ณต์๋ javascript์ ๊ธฐ์ด๋ฅผ ์์ ๋ค๋ฉด ์์
์ ๋ค์ผ์
๋ ๋ฐ๋ผ ์ค์๋๋ฐ ์ ํ ๋ฌธ์ ๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ง์ฝ javascript๋ฅผ ๋ชจ๋ฅด์ ๋ค๋ฉด ํ๋ฐ๋ถ์ ๊ฐ๋ฉด ์กฐ๊ธ ์ด๋ ค์ธ ์๋ ์์๊ฒ ๊ฐ์๋ฐ์. ์ด๊ฒ๋ ์ญ์ ์ฌ๋๋ง๋ค ๋ค๋ฅด๊ฒ ์ง๋ง ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ค๋ฅธ ๋ฌด๋ฃ๊ฐ์๋ ๊ตฌ๊ธ์์ ์ฐพ์๊ฐ๋ฉด์ ๋ฐฐ์ฐ์๋ ๋ถ๋ ๋ณด์์ต๋๋ค. ํน์๋ ๋ชจ๋ฅด์๋ ๋ถ๋ถ์ด ์๊ธฐ์๋ฉด ์ฃผ์ ๋ง๊ณ ๋ง๊ตฌ๋ง๊ตฌ ์ง๋ฌธ ํด์ฃผ์ธ์ !
Q. ๊ฐ์๋ฅผ ์๊ฐํ ๋ ๋ฏธ๋ฆฌ ์ค๋นํ๊ฑฐ๋ ํ์ํ ๊ฒ์ด ์์๊น์?
A. ๋ฏธ๋ฆฌ ์ค๋นํ์ค ๊ฒ์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๋ฐ๋ผํด๋ณด์ค ์ ์๋ ์ปดํจํฐ(Mac or Window)์
๋๋ค. ๊ทธ ์ธ์ ํ์ํ ํด์ ๋ชจ๋ ๋ฌด๋ฃ๋ก ์ธํฐ๋ท์์ ๋ค์ด ๋ฐ์ ์ ์์ต๋๋ค. ํฌ๋กฌ, vscode, npm, blender ๋ฑ๋ฑ ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ํ ์๋ฃ๋ ๋ฆฌ์์ค ๊ทธ๋ฆฌ๊ณ ๊ฐ์์ ์ฌ์ฉ๋ ์ฝ๋๋ ๋ชจ๋ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์๋๋ก ์ค๋นํ๊ณ ์์ต๋๋ค.
Q. ์ React Three Fiber(R3F)๋ฅผ ๋ฐฐ์์ผ ํ๋์?
A. ํ์ฌ ์น ๊ฐ๋ฐ์ React๊ฐ ๋์ธ๋ผ๊ณ ํ ์ ์์ด์. ํ์ง๋ง React๋ง์ผ๋ก๋ ๋จ๋ค๊ณผ ์ฐจ๋ณํ ๋์ง ๋ชปํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ์์, ์์ผ๋ก๋ ๊ณ์ ๋ฐ์ ํด ๋๊ฐ ์ ๋ฐ์ ์๋ ์น 3D ๋ผ๋ ๋ฌด๊ธฐ๋ฅผ ์ฅ์ฐฉํ๋ค๋ฉด ๋จ๋ค๊ณผ ์ฐจ๋ณํ ๋ ์์ ๋ง์ ๋ก๋๋งต์ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํด์! ๋ํ ๋ฉํ๋ฒ์ค, XR(VR, AR), ์น(HTML5) ๊ฒ์, ๋ธ๋ก์ฒด์ธ ๋ฑ์ ์ฐ์
์ ์ํด ํ๋ คํ ์ธํฐ๋ ์
์ด ์๋ 2D/3D ์น ์ปจํ
์ธ ์ ๋ํ ์์๊ฐ ๊ธ์ฆํ๊ณ ์์ต๋๋ค. ๊ทธ๋์ ๋จ์ํ ์น ์ฌ์ดํธ๊ฐ ์๋ ํ๋ คํ ์ธํฐ๋ ์
์ด ์๋ 2D/3D ์ฌ์ดํธ์ ๋ํ ๋์ฆ๋ ์ง์๋ ๊ฒ ์
๋๋ค. ๊ทธ์ ๋ฐ๋ผ 3D ์น ๊ฐ๋ฐ์์ ์์๋ ์ ์ ์ฆ๊ฐํ๊ณ ์์ต๋๋ค. ๋์ ๋๋, ๋จ๋ค๊ณผ ๋ค๋ฅธ ์น ์ฌ์ดํธ๋ฅผ ํจ๊ป ๋ง๋ค์ด ๋ด์!
์๊ฐ ์ ์ฐธ๊ณ ์ฌํญ ๐ข
์ค์ต ํ๊ฒฝ
- ๊ฐ์์์๋ macOS - Apple ์นฉ์ ์ฌ์ฉํ์ง๋ง mac intel์นฉ ํน์ windowํ๊ฒฝ๋ ๊ฐ๋ฅํฉ๋๋ค.
- ์ฌ์ฉ ํ๋ก๊ทธ๋จ : ํฌ๋กฌ, vscode, blender ๋ฑ
- PC ์ฌ์: CPU 2.0GHz ์ด์, RAM 8GB ์ด์, WebGL ์ง์ ๊ทธ๋ํฝ์ ๊ถ์ฅํฉ๋๋ค
ํ์ต ์๋ฃ
- ๊ฐ ์น์
๋ณ ์์ค์ฝ๋ ์์ถ ํ์ผ ์ ๊ณต ( zip )
- 0, 2, 3, 4, 5, 6, 7๊ฐ + ์ค๋ฌด ํ๋ก์ ํธ
- ์ ๋ฐ 3D ๋ชจ๋ธ๋ง ํ์ผ ์ ๊ณต
์ ์ ์ง์ ๋ฐ ์ ์์ฌํญ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด๋ฅผ ์์๋ ๋ถ์ด๋ผ๋ฉด ๊ฐ๋ฅํฉ๋๋ค.
- React์ ๋ํ ๊ธฐ์ด ๊ฐ๋
์ด ์์ผ์ ๋ถ์ด๋ฉด ์ข์ง๋ง ์์ด๋ ๊ด์ฐฎ์ต๋๋ค.
- ์ง๋ฌธ ํด ์ฃผ์๋ ๋ด์ฉ์ ๋น ๋ฅด๋ฉด ๋น์ผ ๋ฆ์ด๋ 3์ผ ์ด๋ด์ ๋ต๋ณ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
- ์น 3D ์ด์ปค๋จธ์ค ํ๋ก์ ํธ์ ๋ํ ๋ด์ฉ์ด ์ง์ํด์ ์ถ๊ฐ ์
๋ฐ์ดํธ ๋๊ณ ์์ต๋๋ค.
์ง์๊ณต์ ์ ์๊ฐ โ๏ธ
์๋
ํ์ธ์. 10๋
์ฐจ ์น ๊ทธ๋ํฝ ์์ง๋์ด ํํ์ฌ์
๋๋ค. ์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์คํ ๊ฐ๋ฐ์์ด์ง๋ง ํ๋ก ํธ์ค๋์ ์ง์คํ์ฌ ์์
ํฉ๋๋ค :)
์ ๋ Angular, React๋ฑ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํด์์ต๋๋ค. ํ์ง๋ง ์ญ์ ๊ฐ์ฅ ์ข์ํ๋ ์์
์ Threejs, WebGL, D3js , Pixi.js ๋ฑ ์น(HTML5)์์ 2D/3D Canvas ๊ทธ๋ํฝ์ค๋ฅผ ๋ค๋ฃจ๋ ํ๋ก์ ํธ๋ค ์
๋๋ค. ์ ๋ ์๋กญ๊ณ ์ฐฝ์์ ์ธ ์ ์ ๊ฒฝํ(UX)๋ฅผ ๋ง๋๋ ์ธํฐ๋ ํฐ๋ธํ ์น ์ปจํ
์ธ ์ ๋ํ ์ด์ ์ด ๊ฐ๋ํฉ๋๋ค. ๊ฐ์ด ์ฌ๋ฏธ์๋ ํ๋ก์ ํธ ๋ง๋ค์ด๋ด์ !
์ด๋ ฅ ์ฌํญ/ํฌํธํด๋ฆฌ์ค/๊ฐ์ธ ์์
- 10๋
์ฐจ ์ธํฐ๋ ํฐ๋ธ 3D ํ๋ก ํธ์๋ ๊ฐ๋ฐ์
- (ํ) ๋ค์ค์์ฆ - HTML5 ๊ฒ์ ๊ฐ๋ฐ์
- (ํ) ๋ชจ๋์์ฐ๊ตฌ์ - Generative art ๋ฉ์ฅ
- ์๋ฉ์ด๋ - Defi Frontend ๊ฐ๋ฐ ํ์ฅ
- ๋ค๋น์ค - Three.js ๊ฐ๋ฐ ํ์ฅ
- Dmajor - ์๋์ด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์
- ๋ชจ๋์์ฐ๊ตฌ์ - Interactiver art of web ๋ฉ์ฅ
- Addpac - ์ฅฌ๋์ด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์
- NHN ๋ค์ด๋ฒ ์ฌํฌ - UX/UI ๋์์ด๋
- ๋งค๋๋งจํฌ์คํธ - CG Effect Artist
- ๊ตญ๋ฏผ๋ - ๊ณต์
๋์์ธ ์ ๊ณต