๐ฅ๏ธ Study Note/Unreal Engine
[UE] Public Dependency Module vs Private Dependency Module
PublicDependencyModuleNames.AddRange( new string[] { "Core", "OnlineSubsystem", "OnlineSubsystemSteam", // ... add other public dependencies that you statically link with here ... } ); PrivateDependencyModuleNames.AddRange( new string[] { "CoreUObject", "Engine", "Slate", "SlateCore", // ... add private dependencies that you statically link with here ... } ); ํ๋ฌ๊ทธ ์ธ์ ๋ง๋ค๋ฉด์ ์์กด ๋ชจ๋์ ์ถ๊ฐํ๋ ค๊ณ ํ๋๋ฐ, ์์ ์ฝ๋์..
![[UE5] #04 ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ์ดํด๋ณด๊ธฐ!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb400em%2Fbtsi4NONP8i%2FJqqIRzpxk5k7G5r01zBIt1%2Fimg.png)
[UE5] #04 ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ์ดํด๋ณด๊ธฐ!
[ ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ] : ์ธ๋ฆฌ์ผ ์์ง์ด ์ค๊ณํ ์๋ก์ด ์์คํ ์ ๋จ์ ์ค๋ธ์ ํธ์ด๋ค. https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Objects/ ๊ธฐ์กด C++ ์ค๋ธ์ ํธ์ ๋ชจ๋ ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ค๋ธ์ ํธ์ด๋ค. ์ธ๋ฆฌ์ผ์์๋ ์ผ๋ฐ C++ ์ค๋ธ์ ํธ์ ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ค. C++ ์ค๋ธ์ ํธ : ์ ๋์ฌ๋ก F ์ฌ์ฉ. ์ ์์ค์ ๋น ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ฌ์ฉ ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ : ์ ๋์ฌ๋ก U ์ฌ์ฉ. ์ฝํ ์ธ ์ ์์ ๊ด๋ จ๋ ๋ณต์กํ ์ค๊ณ ๊ตฌํ์ ์ฌ์ฉ UCLASS ๋งคํฌ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ฆฌ์ผ ์์ง์ UObject๋ก ๋ฑ๋กํ ์ ์๋ค. { ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ๊ธฐ..
![[UE5] #03 ์ธ๋ฆฌ์ผ ์์ง์ C++ ๊ธฐ๋ณธ ํ์
๊ณผ ๋ฌธ์์ด ์์๋ณด๊ธฐ!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKYvNC%2FbtsitUB2Ebi%2FdTJNb4vy8FjzyLVrRE85q0%2Fimg.png)
[UE5] #03 ์ธ๋ฆฌ์ผ ์์ง์ C++ ๊ธฐ๋ณธ ํ์ ๊ณผ ๋ฌธ์์ด ์์๋ณด๊ธฐ!
๊ฒฐ๊ณผ๋ฌผ 1. ์ธ๋ฆฌ์ผ C++ ๊ธฐ๋ณธ ํ์ https://docs.unrealengine.com/5.2/ko/epic-cplusplus-coding-standard-for-unreal-engine/ ๐ ์ธ๋ฆฌ์ผ์ด ๊ธฐ๋ณธ ํ์ ์ ๋ฐ๋ก ์ง์ ํ๋ ์ด์ ํ๋ซํผ์ ๋ฐ๋ผ์ C++ ๊ธฐ๋ณธ ํ์ ์ ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด 64bit window์์๋ long์ด 4byte์ธ๋ฐ ๋ฐํด, 64bit linux์์๋ long์ด 8byte๋ก ํด์๋๋ค. ์ด๋ฐ ๋ฐ์ดํฐ ํ์ ์ ๋ชจํธํจ์ ๊ฒ์ ๊ฐ๋ฐ ์์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. bool- ๋ถ์ธ ๊ฐ(๋ถ์ธ ํฌ๊ธฐ ์ถ์ ๊ธ์ง).BOOL์ ์ปดํ์ผ ๋์ง ์์ต๋๋ค. TCHAR- character(๋ฌธ์) (TCHAR ํฌ๊ธฐ ์ถ์ ๊ธ์ง) uint8- unsigned byte(๋ถํธ ์๋ ๋ฐ์ดํธ) (1๋ฐ..
[UE5] #02 ์ธ๋ฆฌ์ผ ์ฝ๋ฉ ํ์ค ์์๋ณด๊ธฐ!
์ธ๋ฆฌ์ผ ์ฝ๋ฉ ํ์ค์ ์๋ ๋งํฌ์ ์์ธํ ๋์์๋ค! https://docs.unrealengine.com/5.2/ko/epic-cplusplus-coding-standard-for-unreal-engine ์ฝ๋ฉ ํ์ค ๊ธฐ์กด์ ํ๋ฆฝ๋ ํ์ค ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ์ฌ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. docs.unrealengine.com ์ด์ค์์ ํนํ ์ค์ํ ๋ด์ฉ์ ์๋์ ์ ๋ฆฌํ๋ค. ํด๋์ค ์ฒด๊ณ ํด๋์ค ์ธํฐํ์ด์ค์์ public :์ private : ์์๋๋ก ์ ์ธํ๋ ํด๋์ค ์ฒด๊ณ ์ค์ํ๊ธฐ. ๋ช ๋ช ๊ท์น ํ์ค์นผ ์ผ์ด์ฑ ์ฌ์ฉ ํ์ค์นผ ์ผ์ด์ฑ : ํฉ์ฑ์ด์ ์ฒซ๋ฌธ์๋ฅผ ๋๋ฌธ์. ex> Unreal Engine ๊ณต๋ฐฑ๊ณผ _ ์ฌ์ฉ x ๋ชจ๋ ํด๋์ค์ ๊ตฌ์กฐ์ฒด์๋ ๊ณ ์ ํ ์ ๋์ฌ ์ฌ์ฉํ๊ธฐ T : ํ ํ๋ฆฟ ํด๋์ค U : UObject ํ..
![[UE5] #01 GameInstance ์์ ๋ฐ๊ณ Log ์ถ๋ ฅํด๋ณด๊ธฐ! (+ ์ธ๋ฆฌ์ผ ์ฝ๋ ์ปดํ์ผ ์ฃผ์ ์ฌํญ)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fclsqsd%2Fbtsh4nDx93o%2FoGOn2x8DIsSolESIRTjWjk%2Fimg.png)
[UE5] #01 GameInstance ์์ ๋ฐ๊ณ Log ์ถ๋ ฅํด๋ณด๊ธฐ! (+ ์ธ๋ฆฌ์ผ ์ฝ๋ ์ปดํ์ผ ์ฃผ์ ์ฌํญ)
๊ฒฐ๊ณผ๋ฌผ 1๋จ๊ณ. Game Instance ์์ ๋ฐ๊ธฐ - Game Instance? ์ธ๋ฆฌ์ผ ์์ง์ด ์ ๊ณตํด์ฃผ๋ ๊ฒ์์ ๋ผ๋์ด๋ค. ๊ทธ๋ฅ ์ธ๋ฆฌ์ผ์ด ์ ๊ณตํด์ฃผ๋ ์ฑ๊ธํค ๊ฒ์ ๋งค๋์ ๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ์ด Game Instance๋ฅผ ์์๋ฐ์ ์์ ์ ๊ฒ์์ ๋ผ๋๋ฅผ ๋ง๋ค ์ ์๋ค. ์์ง์ด ์ด๊ธฐํ๋ ๋ค์ ๊ฐ์ฅ ๋จผ์ ์์ฑ๋๊ณ ์คํ๋๋ ๊ฐ์ฒด์ด๋ฉฐ, ๊ฒ์์ ์์๋๊ณ ์ข ๋ฃ๋ ๋๊น์ง ์กด์ฌํ๋ค. - Game Instance ์์ ๋ฐ๊ธฐ 1. tools > New C++ Class ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฐฝ์ด ๋ฌ๋ค. All Classes์์ GameInstance๋ฅผ ๊ฒ์ํ๊ณ , ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด GameInstance๋ฅผ ํด๋ฆญํ๋ฉด ์์๋ฐ์ ์ ์๋ค. 2. Visual Studio๋ก ์ด๋ํ๊ณ ํ์ ์ฐฝ์ด ๋จ๋ฉด 'Reload All' ์ ์ ํํ๋ฉด ..