ย MonoBehaviour๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ, ์ดํ์น๋ ์ปดํฌ๋ํธ ํ๋์ ๋์๋ง ์ ์ํ๋ ์์ด๋ผ๋ฉด
์ด๊ฑฐ๋ ์์ ์๊ธฐ๋ง์ ์์ง API๋ฅผ ๋ง๋๋ ๊ณผ์ ๊ฐ์๊ฑฐ๋ผ์ ์ผ๋จ ๊ณต๋ถ๊ฐ ๋ฌด์ฅ๋ง์ฅํ๊ฒ ๋ง์ด ๋จ.
์ถ์๊ฐ ๋ชฉ์ ์ด๋ผ๋ฉด ์ ๋ํฐ๋ฅผ ํ๋ ๊ฒ ๋์๋ฐ, ์์ค์ ๋์ด๋ ค๋ฉด ์ธ๋ฆฌ์ผ C++ ๊ณต๋ถํ๋ ๊ฒ ๋ง๋ ๋ฏ ํฉ๋๋ค.
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ใดใด ์ ๋ํฐ๋ ์ ์ด์ C#์ ์คํฌ๋ฆฝํธ๋ก ์ฐ๋ ๊ฑฐ์์, ์ธ๋ฆฌ์ผ์ ๊ฒ์ ์ฝ๋๋ ๋๊ฐ์ด C++์ ์ฐ๋๊น ๊ฒฐ๊ตญ ์์ง ์ฝ๋์ ์ฐ์ฅ์ ์. ๋ฌผ๋ก ๊ฑฐ์ฐฝํ๊ฒ ์์ง API๋ค ์ด๋ ๊ฒ ๋งํ๋ ๊ฑฐ๋ ์ข ์ดํ๊ฐ ์๊ธด ํ๋ฐ, ์ธ๋ฆฌ์ผ C++ ํ๋ก๊ทธ๋๋ฐ์ ๋์์ด๋๊ฐ ๋ธ๋ฃจํ๋ฆฐํธ ์์์ ์์ง API๋ฅผ ๋ฐ์๋ค์ด๋๊ฑฐ๋ ๋๊ฐ์ด ํ๋ ์์ํฌ API๋ฅผ ์ ๊ณตํ๋ ๊ณผ์ ์ด๋๊น ์ง์ ์ผ๋ก ๋ค๋ฅด๋ค ์ด๊ฑฐ์ง
๋จผ C++ ์คํฌ๋ฆฝํธ์ผ ๋ฉํฐํ๋ซํผ์ ํ๋ถ ๊ตฌ์กฐ ๋ํํด์ ๋ค๋ฅธ ํ๋ซํผ๋ง๋ค ์ปดํ์ผ ๋ค๋ฅด๊ฒ ํ๋๊น ๊ทธ๋ฐ๊ฑฐ๊ณ . ์ธ๋ฆฌ์ผ C++์ ๋ค์ดํฐ๋ธ์์ ์์กฐ์ ... ์ ๋ํฐ Update ๋ก์ง์์ Transform ์ปดํฌ๋ํธ๊ฐ์๊ฑฐ ์บ์ฑํด๋์ผ๋ผ๊ณ ํ๋๊ฒ๋ C# ์คํฌ๋ฆฝํธ์์ C++ ์์ง์ ์๋ ๋ชจ๋ ์ฝ์ด์ค๋๋ฐ ์ค๋ฒํค๋ ์์ผ๋๊น ๊ทธ๋ฌ๋๊ฑฐ๊ณ . ์คํฌ๋ฆฝํธ ์ด์ฉ๊ตฌ ์๊ธฐ๋ ๋ชป๋ค์ด๋ดค๋๋ฐ ์ํผ ์์ง์์ ์ฑ๋ฅ์ ์น๋ช ์ ์ธ ๋ถ๋ถ์ ์ฃ๋ค C++์ ์ ๋ํฐ๋
์ธ๋ฆฌ์ผ ๊ฐ๋น์ง์ปฌ๋ ํฐ ๋์๊ฐ๋๋ง ๊ทธ๊ฒ๋ c++ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด๊ฒ ์ฃ ? ใ ใ ใ ใ
์ ๊ณ ๊ฑด ๋ชฐ๋๋ค ... ๊ทผ๋ฐ ์ฐ์ถ๋ฌผ์ ๊ทธ๋ฅ ๊ธฐ๊ณ์ด ์๋ ? IR์ ์ง์ ๋๋ฆฌ์ง ์์ํ ๋ฐ. C#์ ์ ์ด์ ๊ฐ์ ๋จธ์ ์ด์์
llvm์ ์ค๊ฐ ํํ ์ ๋ ฅํ๋ฉด ํ๋ซํผ๋ง๋ค ๋ค๋ฅด๊ฒ ์ด์ ๋ธ๋ฆฌ ํด์ฃผ๋๊ฑฐ์ง llvm ์ค๊ฐํํ์ ๊ฐ์๋จธ์ ์ผ๋ก ์ง์ ์คํํ๋ ๊ฒ ์๋์์. ๊ทธ๊ฑธ ์คํฌ๋ฆฝํธ๋ผ๊ณ ํ๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์ข ์์ง ์์?
๊ฒ์ด๋ DSL์ด ๋ญ์ง๋ชจ๋ฅด๋ ธ? - dc App
์ ๊ทธ๋ ๊ตฌ๋ ... ใ ใ ์ด๊ฑด ๋ด๊ฐ ๋ชฐ๋์ . ๋๋ ๊ฐ์๋จธ์ ์์์ ๋์๊ฐ๋๊ฒ๋ง ์คํฌ๋ฆฝํธ๋ก ์์์ง .. DSL์ ๋จผ์ง ๋ชจ๋ฅด๊ฒ๋๋ฐ ใ
๊ทผ๋ฐ ํ์ด์ฌ์ด ๋ํ์ ์ธ ์คํฌ๋ฆฝํธ ์ธ์ด๋ผ๊ณ ํ์์. ๋ณดํต ๋ฐํ์์ ์ธํฐํ๋ฆฌํฐ๋ก ํ์ฑํด์ ์คํํ๋ ๊ฑธ ์คํฌ๋ฆฝํธ๋ผ๊ณ ํ๋ ๊ฑฐ ์๋์์?? ์ต์ข ๋จ์์ ๋ค์ดํฐ๋ธ๋ก ์์ ์ปดํ์ผ๋๋ C++๊น์ง ์ธ์ก์์ ์คํฌ๋ฆฝํธ๋ผ๊ณ ํ๊ธฐ์ ์ข ์ต์ธํ๊ฑฐ ์๋์ผ?
์์ด IL์ ๋ค์ดํฐ๋ธ๋ก ๋ฐ๊ฟ์ ๋์๊ฐ๋๊ฑฐ๋ IL ์์ฒด๋ฅผ ๊ฐ์๋จธ์ ์์ ๋๋ฆฌ๋๊ฑฐ๋ ์ง์ ์ผ๋ก ์ฐจ์ด๊ฐ ์ข ์์๊ฑฐ์๋
๊ทธ๊ฑด ๋ฏธ์ํ๋ค๋๊ฐ ... ๊ทธ๋ผ ์คํฌ๋ฆฝํธ์ ์ ์๋ ์ฌ์ค ์ฑ๋ฅ์ด๋์ ์๊ด์ด ์ ๋๊ฑฐ์ ??
์ธ๋ฆฌ์ผ C++์ด๋ ํ์ด์ฌ์ด๋ ๊ฐ๋ ์ ์ผ๋ก๋ ๋๊ฐ๋ค๋ ์๋ฆฌ ์๋
๋ชฉํ๋ฐ๋ผ ๋ค๋ฅธ๋ฐ ์ธ๋๊ฐ๋ฐ์๋คํํ ํ์คํ ์๋ง๋๊ฑฐ๊ฐ์
๋น์ฅ ๋์ ๋ฒ์ด์ผ๋๋ ์ ์ฅ์ด๋ฉด ๋ณ๋ก์ง. ๊ทผ๋ฐ ์ญ๋์ ํค์์ผํ๋ ์ ์ฅใ ์ ์ C++์ ํ ์ค ์๋๋ฐ ์ธ๋ฆฌ์ผ์ ์ ํ๋๊ฑด ์ํด์.
์ฌ๊ธด ์ธ๋๊ฒ์ ๋ชจ์์ด๋ผ c++ํ ์ค์๋ฉด ์ฐจ๋ผ๋ฆฌ ์ฝ์ฝ์ค ํ๋๊ฒ ๋์๊ฑธ
์ฝ์ฝ์ค ๊ฝค ์ด๋ ต์ง ์์? ์ฝ์ฝ์ค ์คํ๋์ค๋ ๊ทธ๋ฅ ์คํฌ๋ฆฝํธ๊ณ
๋ง์ ์ธ๋๊ฒ์ ํ๋ก๊ทธ๋๋จธ๋ ์ผ๋ฐ ๋จธ๊ธฐ์ ํ๋ก๊ทธ๋๋จธ๋ค์ด๋์ ๊ฐ๋ ์ด ๋ค๋ฅด๋ค๊ณ ์๊ฐํจใ ใ ๋๋ ์ ํต ํ๋ก๊ทธ๋๋จธ ์ชฝ์ด ์ด์ธ๋ฆฌ๋๊ฑฐ๊ฐ๊ณ
๊ทธ๊ฒ ๋ชฉ์ ์ด๋ฉด ์ฐจ๋ผ์ด openGL์ ํ๋ ๊ฒ ๋ซ์ง ์๋
OpenGL์์ ์ถ๋ฐํด์ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ์ ๋๋ฌํ๋ ค๋ฉด ์๊ฐ์ด ๋๋ฌด ๊ฑธ๋ฆผ. ๊ฒ์ํ๋ก๊ทธ๋๋จธ๋ก์ ์ญ๋์ ํค์ฐ๊ธฐ์๋ ์ค๋ฒํค๋๊ฐ ๋ ๋ง๋ค
์ ์ด์ ์์ค ๋์ผ๊ฑฐ๋ฉด ์ฒ์๋ถํฐ API๋ ํ๋ ์์ํฌ ๋ง์ง๋ ์ ๋ค์ด ์ด์ํ๊ฑฐ์ง
๋จธ C++ ๋ฌธ๋ฒ ๋ผ์๋ง์ ์ธ๋ฆฌ์ผ API ๊ณต๋ถํ์ง ๋ชปํ์ง ... ๋น์ฐํ ์ด๋์ ๋ ๊ฐ์ฒด์งํฅ ํ ์กํ๊ณ ๋์ ๊ฒ์ํ๋ก๊ทธ๋๋ฐ ์์ํ๋ ์ฌ๋ ์๊ธฐ์ง
๊ทธ๋์ ๋๊ฐ ๋งํ๋ ์๊ธฐ๋ง์ ์์ง api๋ ๋ญ์ผ?
๋ธ๋ฃจํ๋ฆฐํธ ์ฌ์ฉํ ๋ ๋ณด์ด๋ ํจ์๋ ๋ ธ๋๊ฐ์๊ฑธ ์์ง ์ฝ๋๋ ๋๊ฐ์ ์์ค์์ ์ ์ํ ์๊ฐ ์์์. ๊ทธ๊ฑธ ๊ฐ๊ณ ์๊ธฐ๋ง์ ํ๋ ์์ํฌ๋ฅผ ๊ตฌ์ฑํ ์๋ ์๋๊ฑฐ๊ณ , ์ธ์ ๋ ์ง ์์ง ์์ค ์ฝ๋ ์ฐธ๊ณ ํด๊ฐ๋ฉด์ ์ต์ ํํ ์ฌ์ง๋ฅผ ์ฐพ์๋ณผ ์๋ ์๋๊ฑฐ๊ณ .
๊ทธ๋ ๊ฒ ํ์ฐธ C++๋ก ์๊ธฐ๋ง์ API ์ธํธ๋ฅผ ๋ง๋ค๊ณ ๋๋ฉด ๋์ค์ ๋ธ๋ฃจํ๋ฆฐํธ๋ก ๊ฐ์ ๊ฒ์ ๋ก์ง ์งค๋ ์์ง์์ ์ ๊ณตํ๋ API์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค ์๋ฐ ๋งฅ๋ฝ์ ์ด์ผ๊ธฐ์ฟ์ด
๊ทธ๊ฑด ์ ๋ํฐ๋ ๋ง์ฐฌ๊ฐ์ง์๋๊ฐ..
์ ๋ํฐ๊ฐ ์ด๋ป๊ฒ ๊ตด๋ฌ๊ฐ๋์ง๋ ๋ง์ด ์ํด๋ด์ ๋ชจ๋ฅด๊ฒ ๋๋ฐ MonoBehaviour ์์ํด์ ์ปดํฌ๋ํธ์ ์ดํ์นํ๋๊ฒ ๊ฑฐ์ ์ ๋ถ ์๋ ?? ํด๋์ค ๊ด๊ณ๋ฅผ ์ ์ํ๋ค๊ธฐ๋ณด๋จ ์ปดํฌ๋ํธ์ ์ด๋ฆฌ์ ๋ฆฌ ๋ถ์ฌ๊ฐ๋ฉด์ ์์ฉํ๋ ๊ฒ ๊ฐ๋๋ฐ. ์ธ๋ฆฌ์ผ์ C++์ด๋ ๋ธ๋ฃจํ๋ฆฐํธ ๊ตฌ๋ถ์ด ๋ช ํํด์ ์ฒ์๋ถํฐ ์ง๋ ๊ฒ๋ณด๋ค๋ ์กฐ๊ธ ๋ ์ฝ๊ณ , ์์ ์๋ํฐ ์์์๋ง ์ด๋ฆฌ์ ๋ฆฌ ๋ถ์ฌ๊ฐ๋ฉด์ ํ๋ ๊ฒ๋ณด๋จ ์ข ๋ ์ด๋ ต๊ฒ ๋ก์ง์ ์งค ์ ์์ด์. ํ๋ จ์ด ๋ง์ด ๋จ.
monobehaviour๊ผญ ์์๋ฐ์ ํ์๋ ์๋๋ฐ
์ ๋ํฐ๋ ๋ค ๋จ. ๋ ๋ค ํด๋ณด๋ ๊ฑธ ์ถ์ฒํจ. ์์ ๋ง์น๋ง ๋ค๊ณ ์์ผ๋ฉด ๋ชจ๋ ๊ฒ ๋ชป์ผ๋ก ๋ณด์ธ๋ค.
์์ ์ข์ ์๊ธฐ ํด๋๊ณ ๋์ญ ์ํจ .. ๋๋ ๋น๋ฒ ๋ชฐ๋ผ์ ์ญ์ ๋ ๋ชปํ๋๋
์ค๊ท๋ชจ๊น์ง๋ ๋ธํ๋ C++ ๊ฐ์ด ์ฐ๋ฉด ์ํด์ธ๋ฏ. ์๊ท๋ชจ๋ฉด ๋ธํ๋ c++ ํ๊ฐ์ง๋ง ์ฐ๋๊ฒ ํจ์ฌ ์ด๋. ์๋๋ฉด ๋ธํ๋ก ๋ ธ๋์งํ๋ฉด ๋ฐ๋์ ๋ก์ง์ด ์ถ๊ฐ๋๊ธฐ ์์ํ๋๋ฐ, ๊ทธ๋ฌ๋ฉด ๊ทธ ๋ก์ง์ C++ ๋ก ์ง์ ๋ธํํด์ ํธ์ถํด์ ์ธ ์ ์๊ฒ ํ ์ง ์๋๋ฉด ๊ฑ ๋ธํ์์ ์์์ ํ ์ง๊ฐ ์ ๋งคํด์ง. ๋ธํ๊ฐ ์์ฐ์ฑ์ ๋ด๋ ค๋ฉด ํ ๊ท๋ชจ๊ฐ ์ถฉ๋ถํ ํฌ๊ณ ์ ๋ฌด๋ถํ ์ด ์ ๋์ด ์๊ณ ๊ธฐํ์ ๋๋ ๋งต ๋์์ด๋ ๋๋ ์ํธ๊ฐ ๋ธํ๋ฅผ ๋ค๋ฃฐ ์ ์์ ์ ๋ ์ค๋ ฅ์ด ์์ด์ผ ๋จ. ๋น์ฐํ๊ฒ๋ ์ด๊ฒ ํ์ค์ ์ผ๋ก ์ด๋ ค์. ๊ดํ ๊ฐ์ ์ธต ํ๋ ์ถ๊ฐ๋์ด์ ์๋ง ๋๊ณ ์ผ๋ง ๋์ด๋ ์๋ ์๋ค๋ ๊ฑฐ.
ํ๋ฏธ .. ์ข์ ๋ง์ ๊ฐ์ฌํฉ๋๋น ..
ํ์คํ ๊ณต๋ถ ๋ง์ด ๋จ. ์ ํ ์๊ฐ ์์ ใ ใ
ํ์คํ ์ ๋ํฐ๋ณด๋ค๋ ํจ์ฌ ๋์
๋ด๋ถ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค๋๊ฒ ์ผ๋ง๋ ์ข์๊ฑด์ง๋ ์ํด๋ณด๋ฉด ๋ชจ๋ฆ
ํ๋ค๋ชปํด ์ ๋ํฐ UI C#์ฝ๋๋ค ๋์ปดํ์ผํด์ ๋ณด๋๊ฒ๋ ๋์ ๋ง์ด๋์