๐ŸŽ„ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ํฌ๋ฆฌ์Šค๋งˆ์Šค ํŠธ๋ฆฌ๋ถ€ํ„ฐ ๋งŒ๋“ค๊ณ  ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋Š” ๊ฑฐ ์•„๋‹™๋‹ˆ๊นŒ

์†ก์—ฐ์ง€ยท2025๋…„ 12์›” 24์ผ
post-thumbnail

๐ŸŽ…์‚ฐํƒ€ ํ• ์•„๋ฒ„์ง€, ์ €๋Š” ์„ ๋ฌผ๋กœ ํ–‰๋ณตํ•œ 71์–ต ์ฃผ์„ธ์š”. ๊ธฐ์–ต๋ง๊ณ  71์–ต์ด์š”,,,

ํฌ๋ฆฌ์Šค๋งˆ์Šค๊ฐ€ ์˜ค๋ฉด ์‚ฌ๋žŒ๋“ค์€ ํŠธ๋ฆฌ๋ฅผ ๊บผ๋‚ด๊ณ ,

๊ฐœ๋ฐœ์ž๋Š” ์ฝ˜์†”์„ ์ผญ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

โ€œ๋ณ„ ์ฐ๊ณ  ๊ณต๋ฐฑ ๋งž์ถ”๋Š” ํŠธ๋ฆฌโ€ฆ

๋‚˜๋„ ํ•œ ๋ฒˆ์ฏค์€ ๋งŒ๋“ค์–ด๋ดค์ง€.โ€

    *
   ***
  *****
 *******
*********

์ด ํŠธ๋ฆฌ์˜ ๋ฌธ์ œ์ ์€ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค.

์žฌ๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋„ˆ๋ฌด ๋นจ๋ฆฌ ๋๋‚ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  GPU๊ฐ€ ์ „ํ˜€ ์•„ํ”„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.


๐ŸŽ… ์ด ์ •๋„๋กœ๋Š” ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค

๋ฌธ๋“ ์ด๋Ÿฐ ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

โ€œthree.js๋ฅผ ์•„์ง ์•ˆ ์จ๋ดค๋Š”๋ฐ

์ด๊ฑธ ํฌ๋ฆฌ์Šค๋งˆ์Šค๊นŒ์ง€ ๋ฏธ๋ฃจ๋ฉด ์˜์˜ ์•ˆ ์“ฐ๋Š” ๊ฑฐ ์•„๋‹๊นŒ?โ€

๊ณต๋ถ€ ๋ชฉ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ์—” ๊ท€์ฐฎ๊ณ ,

์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋กœ ํ•˜๊ธฐ์—” ์• ๋งคํ•œ๋ฐ

๋งˆ์นจ ํŠธ๋ฆฌ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฒฐ๋ก ์€ ๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŠธ๋ฆฌ๋ฅผ 3D๋กœ ๋งŒ๋“ค์ž.
๋А๋ฆฌ๋ฉด ๋А๋ฆฐ ๋Œ€๋กœ ๋‘์ž.


๐ŸŒฒ ๊ทธ๋ž˜์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฌผ

๐Ÿ‘‰ https://3-d-christmas-tree.vercel.app/

  • ๋งˆ์šฐ์Šค๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ณ 
  • ์ „๊ตฌ๊ฐ€ ๊นœ๋นก์ด๊ณ 
  • ๋ˆˆ์ด ๋‚ด๋ฆฌ๊ณ 
  • ์„ค์ • ํŒจ๋„๊นŒ์ง€ ์žˆ์Šต๋‹ˆ๋‹ค

๊ทธ๋ฆฌ๊ณ  ์ œ์ผ ์ค‘์š”ํ•œ ํŠน์ง• ํ•˜๋‚˜.

์ปดํ“จํ„ฐ๊ฐ€ ํฌ๋ฆฌ์Šค๋งˆ์Šค๋ฅผ ํ•จ๊ป˜ ๋А๋‚๋‹ˆ๋‹ค. (ํŒฌ ์†Œ๋ฆฌ)


๐Ÿงฉ ๊ธฐ์ˆ  ์–˜๊ธฐ

์ด๋ฒˆ ํŠธ๋ฆฌ๋Š”

Next.js ์œ„์— React Three Fiber๋ฅผ ์–น์–ด์„œ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

three.js๋ฅผ ์ง์ ‘ ์“ฐ๊ธฐ์—” ์—ฐ๋ง์ด์—ˆ๊ณ ,

๊ทธ๋ž˜์„œ React์Šค๋Ÿฝ๊ฒŒ:

  • group์œผ๋กœ ์žฅ์‹๋“ค์„ ๋ฌถ๊ณ 
  • useFrame์œผ๋กœ ์ „๋ถ€ ์›€์ง์ด๊ฒŒ ๋งŒ๋“ค๊ณ 
  • ์ „๊ตฌ๋Š” ๋ฐฐ์—ด๋กœ ์ญ‰ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค

์ „๊ตฌ ๊นœ๋นก์ž„์€ ์‚ฌ์‹ค ๊ต‰์žฅํžˆ ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค.

Math.sin(time + offset)

ํ•˜์ง€๋งŒ ์ด ํ•œ ์ค„ ๋•๋ถ„์—

์ „๊ตฌ๋“ค์ด โ€œ๋‚˜ ๊ฐ์ž ์‚ด์•„์žˆ๋‹คโ€๋Š” ํƒœ๋„๋ฅผ ๋ณด์ž…๋‹ˆ๋‹ค.


๐ŸŽ›๏ธ ๊ดœํžˆ ๋งŒ๋“ค์–ด๋ณธ ์„ค์ • ํŒจ๋„

์ „๊ตฌ ๊ฐœ์ˆ˜, ์†๋„, ๋ˆˆ ๋‚ด๋ฆผ ์—ฌ๋ถ€, ์ž๋™ ํšŒ์ „.

์—†์–ด๋„ ๋˜๋Š”๋ฐ

์žˆ์œผ๋ฉด ๋” ๋งŒ์ง€๊ณ  ์‹ถ์–ด์ง‘๋‹ˆ๋‹ค.

์ด๊ฑธ ๋งŒ๋“ค๋ฉด์„œ ๋А๋‚€ ์ ์€ ํ•˜๋‚˜์˜€์Šต๋‹ˆ๋‹ค.

์„ค์ • ํŒจ๋„์€ ๊ธฐ๋Šฅ๋ณด๋‹ค

๊ดœํžˆ ์žˆ๋Š” ๊ฒŒ ๋” ์ค‘์š”ํ•˜๋‹ค.


๐Ÿข ์ตœ์ ํ™”๋Š”์š”? ์•ˆ ํ–ˆ์Šต๋‹ˆ๋‹ค

์™œ๋ƒํ•˜๋ฉด

์ด ํŠธ๋ฆฌ๋Š” ์‹ค๋ฌด์šฉ์ด ์•„๋‹ˆ๋ผ

์—ฐ๋ง ๊ฐ์„ฑ์šฉ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • ์ „๊ตฌ ๋งŽ์Œ
  • ๋ผ์ดํŠธ ๋งŽ์Œ
  • ๋ˆˆ ๊ณ„์† ๋–จ์–ด์ง

๊ทธ๋ž˜์„œ:

  • ๋…ธํŠธ๋ถ์ด ๋”ฐ๋œปํ•ด์ง€๊ณ 
  • ํŒฌ์ด ๋Œ๊ณ 
  • ํฌ๋ฆฌ์Šค๋งˆ์Šค ๋ถ„์œ„๊ธฐ๋Š” ์ตœ๊ณ ์ž…๋‹ˆ๋‹ค

๐ŸŽ„ ์„ฑ๋Šฅ์„ ํฌ์ƒํ•˜์—ฌ ์—ฐ๋ง์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.


๐ŸŽ ์ด ํ”„๋กœ์ ํŠธ์˜ ์ง„์งœ ๋ชฉ์ 

์ด ํŠธ๋ฆฌ๋Š”

์ž˜ ๋งŒ๋“  ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ:

  • ๋งŒ๋“ค๋ฉด์„œ ์žฌ๋ฐŒ์—ˆ๊ณ 
  • three.js๋ฅผ โ€œ์จ๋ดค๋‹คโ€๋Š” ๊ธฐ๋ก์ด ๋‚จ์•˜๊ณ 
  • ๋‚ด๋…„์— ๋˜ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค ํ•‘๊ณ„๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค

๊ทธ๋Ÿผ ์ด๊ฑธ๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๊นŒ.


โœจ ๋งˆ๋ฌด๋ฆฌ

๊ฐœ๋ฐœ์ž๋ผ๋ฉด

๋ณ„ ํ•œ ๋ฒˆ ์ฐ๊ณ 

๊ณต๋ฐฑ ํ•œ ๋ฒˆ ๋งž์ถ”๊ณ 

๊ฒฐ๊ตญ์—” ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ฌํ•ด๋Š” ์ฝ˜์†”์ด ์•„๋‹ˆ๋ผ

GPU๋กœ ๋งŒ๋“ค์—ˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค.

๋ฉ”๋ฆฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค์ž…๋‹ˆ๋‹ค ๐ŸŽ„
๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž ์—ฌ๋Ÿฌ๋ถ„, ํŠธ๋ฆฌ๋Š” ๋Š˜ ์˜ณ์Šต๋‹ˆ๋‹ค.

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์Ÿˆ!!

1๊ฐœ์˜ ๋Œ“๊ธ€

๋Šฆ์—ˆ์ง€๋งŒ ๋ฉ”๋ฆฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค ์ž…๋‹ˆ๋‹ค!!
์ƒˆํ•ด ๋ณต ๋งŽ์ด ๋ฐ›์œผ์„ธ์š” ์—ฐ์ง€๋‹˜!

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ