Ambient ๊ฐœ๋ฐฉํ˜• ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„ ์—”์ง„์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

3๋…„๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ์ƒˆ๋กœ์šด ์˜คํ”ˆ ์†Œ์Šค ๊ฒŒ์ž„ ์—”์ง„์ธ Ambient์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—”์ง„์€ WebAssembly ํ‘œํ˜„์œผ๋กœ ์ปดํŒŒ์ผํ•˜๊ณ  ๋ Œ๋”๋ง์„ ์œ„ํ•ด WebGPU API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„ ๋ฐ XNUMXD ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

Ambient ๊ฐœ๋ฐœ์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๊ฒŒ์ž„ ์ œ์ž‘์ด ์‹ฑ๊ธ€ํ”Œ๋ ˆ์ด์–ด ํ”„๋กœ์ ํŠธ๋ณด๋‹ค ๋” ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋งŒ๋“œ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์—”์ง„์˜ ์ดˆ๊ธฐ ๋ชฉํ‘œ๋Š” WebAssembly ์ค‘๊ฐ„ ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ฒŒ์ž„ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๋Š” ๋ฒ”์šฉ ๋Ÿฐํƒ€์ž„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋Š” ์ง€๊ธˆ๊นŒ์ง€ Rust ๊ฐœ๋ฐœ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์—”์ง„์˜ ์ฃผ์š” ๊ธฐ๋Šฅ:

  • ๋„คํŠธ์›Œํ‚น์„ ์œ„ํ•œ ํˆฌ๋ช…ํ•œ ์ง€์›. ์—”์ง„์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋กœ์ง์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์˜ ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ธก์—์„œ ๊ณตํ†ต ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ๋ฐฑ์—”๋“œ์™€ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐ„์— ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ์˜ ์˜ํ–ฅ์„ ์ œํ•œํ•˜๋ ค๋ฉด ๊ฒฉ๋ฆฌ๋œ ์ž์ฒด ํ™˜๊ฒฝ์—์„œ ๊ฐ ๋ชจ๋“ˆ์„ ์‹คํ–‰ํ•˜์„ธ์š”. ๋ชจ๋“ˆ ์ถฉ๋Œ๋กœ ์ธํ•ด ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ถฉ๋Œํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜. ๊ฐ WASM์ด ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์‹œ์Šคํ…œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ECS(Entity Component System) ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์˜ ์ค‘์•™ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๋Š” ์ž๋™์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ๋ณต์ œ๋˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ๋Š” ๋กœ์ปฌ ์ƒํƒœ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • WebAssembly๋กœ ์ปดํŒŒ์ผ๋˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ Ambient ๋ชจ๋“ˆ์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ(์ง€๊ธˆ๊นŒ์ง€๋Š” Rust๋งŒ ์ง€์›๋จ)
  • Windows, macOS ๋ฐ Linux์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ณ  ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์—ญํ• ์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ๋ ฅ ๋ฒ”์šฉ ์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ.
  • ์ž์‹ ๋งŒ์˜ ๊ตฌ์„ฑ์š”์†Œ์™€ "๊ฐœ๋…"(๊ตฌ์„ฑ์š”์†Œ ๋ชจ์Œ)์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ. ๋™์ผํ•œ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํŠน์ • ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ๋ฐ์ดํ„ฐ ์ด๋™ ๋ฐ ๊ณต์œ ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • .glb ๋ฐ .fbx๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ๋ฆฌ์†Œ์Šค ์ปดํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋Š” ๊ธฐ๋Šฅ - ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋  ๋•Œ ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ชจ๋“  ๋ฆฌ์†Œ์Šค๊ฐ€ ๋กœ๋“œ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ํ”Œ๋ ˆ์ด๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). FBX ๋ฐ glTF ๋ชจ๋ธ ํ˜•์‹, ๋‹ค์–‘ํ•œ ์‚ฌ์šด๋“œ ๋ฐ ์ด๋ฏธ์ง€ ํ˜•์‹์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋ง ์†๋„๋ฅผ ๋†’์ด๊ณ  GPU ์ธก ํด๋ฆฌํ•‘ ๋ฐ LOD๋ฅผ ์ง€์›ํ•˜๋Š” ๊ณ ๊ธ‰ ๋ Œ๋”๋ง ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ PBR(๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง)์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ๊ณ„๋‹จ์‹ ๊ทธ๋ฆผ์ž ๋งต์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • PhysX ์—”์ง„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฌผ๋ฆฌ์  ํ”„๋กœ์„ธ์Šค ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • React์™€ ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ• ์‹œ์Šคํ…œ.
  • ํ˜„์žฌ ํ”Œ๋žซํผ๊ณผ ๋…๋ฆฝ์ ์ธ ํ†ตํ•ฉ ์ž…๋ ฅ ์‹œ์Šคํ…œ.
  • ํ”Œ๋Ÿฌ๊ทธ์ธ ํ•„ํ„ฐ๋ฅผ ๊ฐ–์ถ˜ ๊ณต๊ฐ„ ์‚ฌ์šด๋“œ ์‹œ์Šคํ…œ.

๊ฐœ๋ฐœ์€ ์•„์ง ์•ŒํŒŒ ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ ์ค‘์—์„œ ์›น์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ, ํด๋ผ์ด์–ธํŠธ API, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ด€๋ฆฌ์šฉ API, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ž์ฒด ์…ฐ์ด๋” ์‚ฌ์šฉ์šฉ API, ์‚ฌ์šด๋“œ ์ง€์›, ๋กœ๋”ฉ ๋ฐ ์ €์žฅ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ECS(Entity Component System) ๊ตฌ์„ฑ ์š”์†Œ, ์ฆ‰์„์—์„œ ๋ฆฌ์†Œ์Šค ๋‹ค์‹œ ๋กœ๋“œ, ์„œ๋ฒ„ ์ž๋™ ํฌ๊ธฐ ์กฐ์ •, ๊ฒŒ์ž„ ๋งต ๋ฐ ๊ฒŒ์ž„ ์žฅ๋ฉด ๊ณต๋™ ์ƒ์„ฑ์„ ์œ„ํ•œ ํŽธ์ง‘๊ธฐ.



์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€