๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ๊บผ๋ คํ๊ฒ ๋๋ ๊ฐ์ฅ ํฐ ์ด์ ๋ ํผํฌ๋จผ์ค์.ย
ํ์ง๋ง c++ย nativization ๊ธฐ๋ฅ์ด ์๊ธฐ๊ณ ๋์๋ถํฐ๋ ๊ทธ ๊ดด๋ฆฌ๋ฅผย ๊ฑฐ์ ์์จ์ ์๊ฒ ๋จ.
์ฌ์ค ์ด๊ฒ ํ์ฐธ ์ ์ ๋์จ๊ธฐ๋ฅ์ด๊ธด ํ๋ฐย ๋ฒ๊ทธ๊ฐ ๋ง์์ ๋์ ํ ์ฐ๊ธฐ ํ๋ ์ํ์๊ณ ์ต๊ทผ์์์ผ ๊ทธ๋ง๋ ์์ ์ ์ด๊ฒ ๋์๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ ํ ๋ฒ๊ทธ๊ฐ ์์ด์ย ์์ฒด์ ์ผ๋ก ๋ช๊ฐ์ง ์ ์ฝ์ ๊ฑธ๊ณ ์ฌ์ฉํ๋๊ฒ ์ ์ ๊ฑด๊ฐ์ ์ข๋ค.
0. inclusive(ํต์งธ๋ก c++ํ)๋ ์ฌ์ฉํ๋ฉด ์ด๋์ ๋ฒ๊ทธ๊ฐ ํฐ์ง์ง ๋ชจ๋ฅด๋ ๊ธ์ง. exclusive๋ก ์ฌ์ฉํด์ผํจ.
1. ๋ ๋ฆฝ์ ์ธ ์กํฐ๋ฅผ ๋ง๋ค์ด์ ๊ทธ๊ฒ๋ง c++ํ ์์ผ์ผํ๊ณ ์๋์ ์ฌํญ์ ์ง์ผ์ผํ๋ค.
2. Enumeration์ด๋ ๊ด๋ จ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋ถํฐ๋ง์๊ณ ์ง๊ธ๋ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ผ๋ ์ฌ์ฉ ๊ธ์ง.
3. ๋ค๋ฅธ ์กํฐ๋ฅผ castingํ๊ฑฐ๋ interface๋ก ์ํตํ๋ ค๋ฉดย ๊ทธ์ ํด๋นํ๋ ๊ฒ๋ค๋ ์ ๋ถย nativizationํํ ย exclusive๋ชฉ๋ก์ ํฌํจํด์ผํ๋ ์ ๋งํ๋ฉด ๋ค๋ฅธ๋ฐฉ๋ฒ์ผ๋ก ์ํต.
๊ฒฐ๋ก ์ ์ผ๋ก ์ด ๊ธฐ๋ฅ์ ๋ฒ๊ทธ์์ด ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ย
๋ ๋ฆฝ์ ์ธ ์กํฐ๋ฅผ ๋ง๋ค์ด์ c++ํ ์ํฌ ๊ธฐ๋ฅ์ ์ค์ ๋ฐ๋ enum์ด๋ casting์ ์์ฒด์ ์ผ๋ก๋ ์ฌ์ฉํ์ง ์๋ ํํ๋ก ๊ตฌํํ๊ณ
๋ค๋ฅธ ๋ธ๋ฃจํ๋ฆฐํธ์์ ๊ทธ ์กํฐ๋ฅผ ํธ์ถํด์ ๊ธฐ๋ฅ์ ๊บผ๋ด์ฐ๋ ๋ฐฉ์์ผ๋ก ์จ์ผํ๋ค๋๊ฑฐ์.ย
๋ฒ๊ทธ์์ดย ์ ๊ตด๋ฌ๊ฐ๋ฉดย ๊ตณ์ด ์ด๋ดํ์์๊ฒ ์ง๋ง c++ํ ์ํจ๋ค๋๊ฒ ์์ง ๋ง๋๋ ์ ์ฅ์์๋ ์๋ ๋ณต์กํ ๊ณผ์ ์ด๋ผ ๊ทธ๋ฐ์ง ํญ์ ๋ฒ๊ทธ๊ฐ ์์ด์ ์ด์ฉ์ ์์ด ์ด๋ ๊ฒ ์จ์ผํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๊ฒ์ผ๋ก ์ป๋ ์ด๋์ด ์ด๋ ํ๊ฐ?ย
์ค์ ๋ก ๋ด๊ฐ ์ฌ์ฉํ๋ ๊ทธ๋ฆฌ๋ ์๋๋งต์์์ ์ฌ๋ฌ๋ฐฉํฅ ๋๋ ๊ธธ์ฐพ๊ธฐ ๊ธฐ๋ฅ์ผ๋ก ํ ์คํธํด๋ณธ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์.
์๋ํฐ์์ PIE ๋ธ๋ฃจํ๋ฆฐํธ ๋ฒ์ ผ
ํจํค์ง๋ ์ํ์ BP๋ฒ์ ผ
c++ nativization๋ ๋ฒ์ ผ
170ms ์์ 10ms๋ก ๋ํญ ์ค์ด๋ ๊ฒ์ ๋ณผ์์๋ค.ย ย
๋.
ย
ใ ใ ใ ใ
์ค ใ ใ ใ ใ ;
nativization์ 4.13์ฏค์ ์ด๋ฏธ ์์ ํ ๋๋ฌ์์. ๋ค๋ง
http://api.unrealengine.com/KOR/Engine/Blueprints/TechnicalGuide/NativizingBlueprints/Advanced/index.html
๊ฐ์ด๋
๋ผ์ธ์ ์ ๋ฐ๋ผ์ผ ํ๋ ๋ฌธ์ ๊ฐ ์์
ํ์ ์์๋ C++์ BP๋ฅผ ์ ์ ํ๊ฒ ์ฌ์ฉํด์ผ๋๋๋ฐ
http://api.unrealengine.com/KOR/Resources/SampleGames/ARPG/BalancingBlueprintAndC-/index.html
๊ด๋ จ
๋ฌธ์์.
๊ฐ์ด๋๋ผ์ธ๋ง ์ ์งํค๋ฉด inclusive๋ก ์จ๋ ๋จ.
nativization์ด 4.12๋ ์ฒ์์ผ๋ก experimental์ํ๋ก ๋์๋๋ฐ ๋ฌด์จ 4.13์ ์์ ํ๋. 4.18๋๊น์ง ๋ฒ๊ทธ ์ฆ๋นํ์๋ค. ์ง๊ธ๋ ๋ฒ๊ทธ ๊ฝค ์๊ณ . c++ํ๋ ๋ฒ์ ผ ์ํ๋ ์ดํด๋ด ๊ฒฐ๊ณผ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค์์ด. enum์ด๋ map container๊ด๋ จ ๋ฒ๊ทธ๊ฐ ์์ง ๋จ์์์ด์.