3์ผ๋์ ๊ณต๋ถํ๊ณ ์ด์ ๊ฐ๋ฒผ์ด ๊ฐค๋ฌ๊ณ ๊ฒ์ ์ ๋๋ ๋ง๋ค ์์ค์ ๋์์.
๊ทธ ๋์ ๊ณต๋ถํ ๊ฑธ ์ ๋ฆฌํ์๋ฉด
rust ์ธ์ด๊ฐ ์์ํ๊ธฐ๋ ํ๊ณ : :: = ๊ฐ์ ์ด์ํ ๊ท์น๋ค์ด ํท๊ฐ๋ฆฌ๊ณ C++ ๋งํผ ๋ก์ฐํ ์ธ์ด๋ผ์ ์ผ๋จ ์ธ์ด๋ฐฐ์ธ๋ ์ง์ ์ฅ๋ฒฝ์ด ์์ผ๋ ๊ทผ์ฑ์ผ๋ก ์ปค๋ฒ ๊ฐ๋ฅ. C++์ ๋นํด ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ๋ค์ด ๋ง์(๊ทธ๋์ ๊ท์น์ด ํ์ดํธํจ)
์๋ํฐ๊ฐ ์์ด์ ๋ชจ๋ ๊ฒ์ ์ฝ๋๋ก ์์ฑํด์ผ ํจ. (๋ฉ์ฌ, ๋จธํฐ๋ฆฌ์ผ, ์ปฌ๋ฌ, ์์น ๋ฑ๋ฑ) ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ธ์์ ์ผ๋ถ ๋ช๊ฐ๋ฅผ ๊ฒ์ํ๋ฉด์ ๋์ธ ์ ์๊ธด ํ์ง๋ง ๊ณ ๋, ์ ๋ํฐ์ ๋นํ๋ฉด ๊ตฌ์๊ธฐ ์๋๋ผ๊ณ ๋ด๋ ๋ฌด๋ฐฉ
์ผ๋จ ํํ ๋ฆฌ์ผ๋ ํ ์์ง์ ๋นํด ์๋์ ์ผ๋ก ๊ต์ฅํ ์ ์ ํธ์. ๋ํ ํํ ๋ฆฌ์ผ ์ฐพ์๋ ๋ฒ์ ํ์ธ ๊ผญ ํด์ผํจ.
์ ๋ํฐ์ฒ๋ผ ์๋์ผ๋ก ๊ตฌ๋ฒ์ ์ฝ๋๋ผ๋ ๊ฒฝ๊ณ ๋ ์ ๋์์ฃผ๊ณ ๊ทธ๋ฅ ๋ฒ๊ทธ๊ฐ ํฐ์ง๋๋ฐ ์๋ฒ์ ์ฝ๋ ์ถ์ฒํด์ฃผ๋ ๊ฒ๋ ์์ด์ ๋ณธ์ธ์ด ์ง์ ํํ์ด์ง์ ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ ๋ณ๊ฒฝ๋ ์ฝ๋๋ก ์์ ํด์ผ ํ๋๋ฐ ๋ช ๋ช ๊ท์น์ด ๋ฐ๋๋ ์ ๋๊ฐ ์๋๋ผ ์ค๊ณ ์์ฒด๋ฅผ ๋ค์ง์ด์๋ ๊ทธ๋ฐ ๊ฒ๋ค๋ ์๋ ๋ฏํจ. (1 ๋ฒ์ ์ด ์๋ ํ๋กํ ํ์ , ๋ฒ ํ ๋ฒ์ ์์ ํํ ๋ณผ ์ ์๋ ๊ด๊ฒฝ)
์ ๋ํฐ๋ ๋ณ๋ ฌ์ค๋ ๋์์ ๋ฐฐ์ด์ค๋ ค๋ฉด NativeContainer ๋ก ๋ฐฐ์ด ๋ง๋ค์ด์ ์จ์ผ ํ๊ณ ์ ์ฝ๋ ๋ง์์ ๋ถํธํ๊ฒ ๋ง์๋๋ฐ ์ธ๋ถ ํ์ผ์ ์๋ ์์คํ , ์ปดํฌ๋ํธ ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ๋ ํธํ๊ณ Resourcs ๋ฅผ ์ด์ฉํด์ ์ ์ญ์์ ์ธ ์ ์๋ ๋ฐฐ์ด์ ๋ง๋ค ์๋ ์์ด์ ์ ๋ํฐ ECS์ ๋นํด ๊ฒ์ ๊ตฌํํ๋๊ฒ ํธํ์. ์ ๋ํฐ ECS ๊ณต๋ถํ์ผ๋ฉด Bevy๋ฅผ ๊ธ๋ฐฉ ์ ์ํ ๊ฑฐ๊ฐ์. ๋น์ทํ ๊ท์น๋ค์ด ๋ง์. ๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก Bevy๋ ๋ณ๋ ฌ์ค๋ ๋๋ก ์๋ํ๋ ๋ฏํจ. ์์ ์๊ฐ ๋ฐ๋ก ์์คํ ์์๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด ๋ณ๋ ฌ์ค๋ ๋๊ฐ ๊ธฐ๋ณธ์ธ๋ฏ.
ํ๋กํ ํ์ ๋ฒ์ ์ ๋ง๋ค ์ ์๊ฒ ์ผ๋ ์ถ์๋ฒ์ ์ ๋ง๋ค๋ ค๋ฉด ๊ดด์์ ๋์ ์ค๋ ฅ์๊ฐ ๋์ด์ผ ํ ๊ฑฐ ๊ฐ์. ์ฐธ๊ณ ํ ์๋ฃ๊ฐ ๋๋ฌด ์ ์ด์ API๋ง ๋ณด๊ณ ๋ง๋ค๊ธฐ์ ๋ด ์ค๋ ฅ์ด ๋ถ์กฑํ๊ธฐ๋ ํ๊ณ ํ์ด์ด๋ฒ ์ด์ค, ํฌํค ๋ฑ ์ด๋ฐ๊ฑฐ ๊ณต์ SDK๊ฐ ์์. ํ์ด์ด๋ฒ ์ด์ค์ ๊ฒฝ์ฐ Rust๋ก ์ธ ์ ์๊ฒ ๋๊ฐ ๋ง๋ค์ด ์ฌ๋ ค๋จ๊ธด ํ๋๋ฐ ๊ณต์SDK๊ฐ ์๋๋ผ์ ๋ฒ๊ทธ ๋ฑ์ ๋ํ ํผ๋๋ฐฑ์ ๊ธฐ๋ํ ์๊ฐ ์์.
๊ทธ๋์ ๊ณต๋ถํ๋ฉด์ ์ฌ๋ฏธ๋ ์์์. ์ฌ์ฌํ๋ฉด ๋ฐฐ์๋ณด๋ ๊ฒ๋ ๋์์ง ์์๋ฏํจ. ์๋ํฐ ๋ฒ์ ์ ๋ด๋ ์ด์ ๋์จ๋ค์ง๋ง ๋ด ์์์ผ๋ก Bevy๋ก ์ธ๋๊ฐ๋ฐ์๊ฐ ๊ฒ์ ๋ง๋ค ์์ค์ด ๋๋ ค๋ฉด 5๋ ? ์ ๋๋ ๊ฑธ๋ฆฌ์ง ์์๊น ์ถ๋ค.
rust๋ c++ ffiํ๊ธฐ ์ฌ์์ c++ ๊ฐ๋ค ์ด๊ฑธ๊บผ์ ๊ทธ๋์ rust๊ณต์ ์ง์ ์์ด๋ c++ ์ง์์์ผ๋ฉด ๊ด์ฐฎ์ ์ด๊ฑด rust์ ๋ํ ์ดํด๋๊ฐ ์ ์ด์ ๊ทธ๋ฐ๋ฏ
๋ญ ๋ฒ์จ ํ์ ํ๋.. ๋ bevy์์ค์ฝ๋๋ถํฐ ๋ค ๋ณด๋์ค. ์๋ฃ์ฐพ์๋ณด๊ณ ๋ค๋๋๊ฒ๋ณด๋ค ๊ทธ๋ฅ ๋ด๋ถ ๋ค ๋ฏ์ด๋ณด๋๊ฒ ์ฅ๊ธฐ์ ์ผ๋ก ์ข์๊ฑฐ ๊ฐ๋๋ผ. ์ ๋ํฐ DOTS๋ก ๋ด๋ถ ์ฝ์ด ๊ตฌ์กฐ ํ์ ํ๋๋ฐ ํ๋ฌ๋๊ฒ ๊ฑธ๋ ธ๋๋ฐ, ์ด๋ฒ์๋ ๊ทธ์ ๋ ๊ฑธ๋ฆฌ๊ฒ ์ง. ๊ทผ๋ฐ bevy์์ ๋ณด๋๋ฐ, DOTS์ฒ๋ผ ์ํคํ์ ECS์. ๋ ๋ง๋๋ก ๋น์ทํ๊ฒ ๋ง์. ๊ทผ๋ฐ rust๋ฌธ๋ฒ์ด ์์ํ๊ฒ ๋ง๋ค. rust๋๋ฌธ์ ๋ ๊ฑธ๋ฆด๋ฏ
๋ ํ์ ํ๊ฑด ์๋๊ณ ๋์ถฉ ์ดํด๋ณด๋ ์ด ์ํ๋ก๋ ์ถ์์ ๋ชป ๋ง๋ค๊ฒ ๋ค ์ถ์ด์ ์ผ๋จ ์ผ์์ ์ง - dc App
rust ๋ญ๊ฐ ํท๊ฐ๋ฆฌ๋ ๊ตฌ์กฐ๊ฐ ๋ง๊ธดํ๋ฐ ๋ง์์ผ๋ก ์ดํดํ๋ ์ธ๋งํจ - dc App