๊ฒฐ๊ณผ๋ฌผ
1๋จ๊ณ. Game Instance ์์ ๋ฐ๊ธฐ
- Game Instance?
์ธ๋ฆฌ์ผ ์์ง์ด ์ ๊ณตํด์ฃผ๋ ๊ฒ์์ ๋ผ๋์ด๋ค. ๊ทธ๋ฅ ์ธ๋ฆฌ์ผ์ด ์ ๊ณตํด์ฃผ๋ ์ฑ๊ธํค ๊ฒ์ ๋งค๋์ ๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค.
์ด Game Instance๋ฅผ ์์๋ฐ์ ์์ ์ ๊ฒ์์ ๋ผ๋๋ฅผ ๋ง๋ค ์ ์๋ค. ์์ง์ด ์ด๊ธฐํ๋ ๋ค์ ๊ฐ์ฅ ๋จผ์ ์์ฑ๋๊ณ ์คํ๋๋ ๊ฐ์ฒด์ด๋ฉฐ, ๊ฒ์์ ์์๋๊ณ ์ข ๋ฃ๋ ๋๊น์ง ์กด์ฌํ๋ค.
- Game Instance ์์ ๋ฐ๊ธฐ
1. tools > New C++ Class ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฐฝ์ด ๋ฌ๋ค. All Classes์์ GameInstance๋ฅผ ๊ฒ์ํ๊ณ , ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด GameInstance๋ฅผ ํด๋ฆญํ๋ฉด ์์๋ฐ์ ์ ์๋ค.
2. Visual Studio๋ก ์ด๋ํ๊ณ ํ์ ์ฐฝ์ด ๋จ๋ฉด 'Reload All' ์ ์ ํํ๋ฉด ๋๋ค.
3. Solution Explorer ์ฐฝ์ ๋ณด๋ฉด ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ๋ด๊ฐ ์์ํ MyGameInstance ํด๋์ค๋ฅผ ์ฐพ์ ๋ณผ ์ ์๋ค.
2๋จ๊ณ. Init() ํจ์ ์ค๋ฒ๋ผ์ด๋ํ๊ธฐ
GameInstance์ Init() ํจ์๋ ๊ฒ์์ด ์์๋๊ณ ๊ฐ์ฅ ๋จผ์ ํธ์ถ๋๋ ํจ์์ด๋ค.
์ด ํจ์์์ log๋ฅผ ์ถ๋ ฅํด๋ณด์.
1. MyGameInstance ํค๋์์ Init()์ ์ค๋ฒ๋ผ์ด๋ํ์.
2. Init()์ ๊ตฌํํ์.
- ๋ถ๋ชจ ํด๋์ค์ Init()์ ํธ์ถํด์ฃผ๋ ๊ฒ์ ์์ง ๋ง์. ์ฃผ์์ ์ ์ด ๋์ ๊ฒ์ฒ๋ผ ๋ถ๋ชจ ํด๋์ค์ ์ด๋ฆ์ ๋ชฐ๋ผ๋ ํน์ ๋ค ์ ๊ธฐ ๊ท์ฐฎ์๋ Super๋ฅผ ์ฌ์ฉํ์ฌ ๋ถ๋ชจ ํด๋์ค์ ํจ์๋ฅผ ํธ์ถํ ์ ์๋ค.
3๋จ๊ณ. UE_LOG() ๋งคํฌ๋ก๋ฅผ ํ์ฉํ์ฌ Output Log์ฐฝ์ ๋ก๊ทธ ์ถ๋ ฅํ๊ธฐ
UE_LOG(category, verbosity, format) : Output Log์ฐฝ์ ๋ฌธ์์ด์ ์ถ๋ ฅํด์ฃผ๋ ๋ฉํฌ๋ก
- category : ๋ก๊ทธ ์ข
๋ฅ. DEFINE_LOG_CATEGORY() ๋งคํฌ๋ก๋ฅผ ํตํด ์ง์ ์ ์ํ ์๋ ์๋ค. -> ๋์ค์ ์์ธํ
- verbosity : ๋ก๊ทธ ๋ฑ๊ธ. ELogVerbosity๋ฅผ ์ฐธ๊ณ ํ์!
- format : ์ถ๋ ฅํ ๋ฌธ์์ด์ ํํ๋ฅผ ์ ์ํ๋ค. printf์ ์ถ๋ ฅ ํ์(์๋ฅผ ๋ค์ด, %d) ๊ฐ์ ๋๋.
TEXT()->unreal์์ ๋ฌธ์์ด์ ์ฌ์ฉํ๊ธฐ ์ํ ๋งคํฌ๋ก ํจ์. ์ผ๊ด์ ์ธ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ์ํด ์ฌ์ฉํ๋ค.
4๋จ๊ณ. ๋ก๊ทธ ์ฐฝ ํ์ธํ๊ธฐ
์๋ํฐ์์ ๊ฒ์์ ์คํํ ๋ค, OutputLog ์ฐฝ์์ LogTemp๋ฅผ ๊ฒ์ํ๋ฉด ์ถ๋ ฅํ ๋ก๊ทธ๋ฅผ ํ์ธํ ์ ์๋ค.
+) ์ธ๋ฆฌ์ผ ์์ง ์ปดํ์ผ ์ฃผ์ ์ฌํญ
1. ํค๋ ํ์ผ์ ์์ ํ ๋ ์๋ํฐ๋ฅผ ๋๊ณ ๋น์ฃผ์ผ ์คํ๋์ค์์ ์ปดํ์ผํ๋ค.
ํค๋ ํ์ผ์ ๋ณ๊ฒฝ์ ์ด ์๊ธด ๊ฒฝ์ฐ ์ธ๋ฆฌ์ผ ๋ผ์ด๋ธ ์ฝ๋ฉ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
2. ์์ค ํ์ผ๋ง ์์ ํ๋ค๋ฉด ์๋ํฐ์์ ๋ผ์ด๋ธ ์ฝ๋ฉ์ผ๋ก ์ปดํ์ผํ๋ค. (Ctrl + Alt + F11) ๋ ๋น ๋ฅด๋ค.
3. ๋น์ฃผ์ผ ์คํ๋์ค์์ ์๋์ผ๋ก ํด๋์ค ์ถ๊ฐํ์ง ๋ง๊ณ ์๋ํฐ์์ tools > New C++ Class ์ ํตํด ํด๋์ค๋ฅผ ์ถ๊ฐํ์.
๊ฐ์ : ์ด๋์ฐ ์ธ๋ฆฌ์ผ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ข