์ด๋์ฐ์ ์ธ๋ฆฌ์ผ ํ๋ก๊ทธ๋๋ฐ Part1 - ์ธ๋ฆฌ์ผ C++์ ์ดํด ๊ฐ์ ์ ๋ฆฌ
1. GameInstance ์์๋ฐ๊ธฐ
2. ์๋ํฐ ์ค์ ๋ณ๊ฒฝ
ํค๋ ํ์ผ
UCLASS()
class HELLOUNREAL_API UMyGameInstance : public UGameInstance
{
GENERATED_BODY()
public:
virtual void Init() override;
// ์ ์ธ ํ alt + enter๋ฅผ ํ์ฌ, ์ ์๋ฅผ ์๋์ผ๋ก ์ฝ์
ํด์ค๋ค
};
์์ค ํ์ผ
void UMyGameInstance::Init()
{
Super::Init();
UE_LOG(LogTemp, Log, TEXT("%s"), TEXT("Hello Unreal"));
}
• Super::Init()
๋ถ๋ชจ ํด๋์ค์ ์๋ Init() ํจ์ ๋ด ๋ชจ๋ ๊ฒ์ ์ธํ
• Init()
๊ฒ์ ์คํ ์ , GameInstance ์ธํ ์ ์ํด ํ์ํ ํจ์
• UE_LOG(LogTemp, Log, TEXT("%s"), TEXT("Hello Unreal"));
DebugLog. ํ์ ์ง์ ์ ํ์
์ธ๋ฆฌ์ผ ์์ง ์ฝ๋ฉ ํ์ค
1. public์ private๋ก ์ด์ด์ง๋ ํด๋์ค ์ฒด๊ณ๋ฅผ ์ค์
2. ๋ช ๋ช ๊ท์น
๐ ํ์ค์นผ ์ผ์ด์ฑ์ ์ฌ์ฉํ๋ค. ์) UnrealEngine
๐ ์๋ฌธ์๋ฅผ ๊ฐ๊ธ์ ์ฌ์ฉํ์ง ์๊ณ , ๊ณต๋ฐฑ ๋ฐ ์ธ๋์ค์ฝ์ด(_)๊ฐ ์์
๐ ๋ชจ๋ ํด๋์ค์ ๊ตฌ์กฐ์ฒด์๋ ๊ณ ์ ํ ์ ๋์ฌ๊ฐ ์์
3. ์ฝ๋์ ๋ช ํ์ฑ
๐ ํ๋ผ๋ฏธํฐ์ ๊ฐ๊ธ์ In๊ณผ Out ์ ๋์ฌ๋ฅผ ์ฌ์ฉํด ๋ช ์
๐ const ์ง์์์ ์ ๊ทน์ ์ธ ํ์ฉ
๐ ๋ ํผ๋ฐ์ค๋ฅผ ํตํ ๋ณต์ฌ ๋ฐฉ์ง
๐ auto ํค์๋๋ ๊ฐ๊ธ์ ์์
4. Find In Files์ ํ์ฉ
๐ FShaderType* Ptr ๊ท์น์ ๋ฐ๋ฅด๋๋ก ํ๋ค. *์ ์์น๊ฐ ์ค์
5. ํค๋ ํ์ผ ๋ฐ #include ๊ตฌ๋ฌธ์ ์์กด์ฑ์ ์ต์ํ์์ผ ์ฃผ์ ๊น๊ฒ ๋ค๋ค์ผ ํ๋ค.
ํ๊ธฐ
๋ช ๋ช ๊ท์น
ํ์ค์นผ ์ผ์ด์ฑ : ํฉ์ฑ์ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ฅผ ์ฌ์ฉํด ๋ช ๋ช
์ธ๋ฆฌ์ผ์์๋ ํ์ค์นผ ์ผ์ด์ฑ๋ง์ ํ์ฉํ๊ณ ์๋ค. ์) UnrealEngine
cf. ์นด๋ฉ(๋ํ)์ผ์ด์ฑ : unrealEngine
cf. ์ค๋ค์ดํฌ ์ผ์ด์ฑ : unreal_engine
ํ ํ๋ฆฟ ํด๋์ค๋ ์ ๋์ฌ T๋ฅผ ํฌํจ
UObject์์ ์์๋ฐ์ ํด๋์ค๋ ์ ๋์ฌ U๋ฅผ ํฌํจ ์) gameInstance : UMyGameInstance
AActor์์ ์์๋ฐ์ ํด๋์ค๋ ์ ๋์ฌ A๋ฅผ ํฌํจ
Swidget์์ ์์๋ฐ์ ํด๋์ค์๋ ์ ๋์ฌ S๋ฅผ ํฌํจ
์ถ์์ ์ธํฐํ์ด์ค์ธ ํด๋์ค์๋ ์ ๋์ฌ I๋ฅผ ํฌํจ
์ํฝ์ ๊ฐ๋ ์ด ์ ์ฌํ ํด๋์ค ํ์ ์ ์ ๋์ฌ C๋ฅผ ํฌํจ
์ด๊ฑฐํ = E
๋ถ์ธ ๋ณ์ = b
๊ทธ ์ธ ๋๋ถ๋ถ์ ํด๋์ค๋ ์ ๋์ฌ F๋ฅผ ํฌํจ. ๊ทธ๋ฌ๋ ์ผ๋ถ ์ด๊ฑฐ ์๋ธ์์คํ ์๋ ๋ค๋ฅธ ๊ธ์๋ ์ฌ์ฉ
Typedef ์ ๊ฒฝ์ฐ ํด๋น ํ์ ์ ์ ํฉํ ์ ๋์ฌ ์ฌ์ฉ
cf. ํ์ผ ์ด๋ฆ์ ์ ๋์ฌ๋ฅผ ๋นผ๋ ๊ฒ์ด ์ข๋ค.
์) UScene.cpp ๋ณด๋ค๋ Scene.cpp ๊ฐ ๋ซ๋ค.
ํจ์ ํ๋ผ๋ฏธํฐ๊ฐ ์ฐธ์กฐ๋ก ์ ๋ฌ๋ ํ ํจ์ ๊ฐ ๊ทธ ๊ฐ์ ์ธ ๊ฒ์ผ๋ก ์์๋๋ ๊ฒฝ์ฐ ์ด๋ฆ ์์ ์ ๋์ฌ 'Out'์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข๋ค. In ๋๋ Out ํ๋ผ๋ฏธํฐ๋ ๋ถ์ธ์ธ ๊ฒฝ์ฐ bOutResult์ ๊ฐ์ด In/Out ์ ๋์ฌ ์์ 'b'๋ฅผ ๋ถ์ธ๋ค. ํญ์ ์ฐ์ด๋ ๊ฒ์ ์๋
ํฌํฐ๋ธ C++ ์ฝ๋
int -> int32
char -> TCHAR ๋ฑ
C++ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ๊ธฐ๋ณธ์์น
const ์ ๊ทน์ ์ฌ์ฉ
- ํฌ์ธํฐ์ const๋ฅผ ๋ถ์ผ ์ ์์
- ๋ ํผ๋ฐ์ค์๋ ์๋จ
T * const Ptr = ... ; // ํฌ์ธํฐ๋ก์ ์ฌํ ๋น์ ๋ถ๊ฐํ๋, T๋ ์ฌ์ ํ ์์ ๊ฐ๋ฅํ๋ค.
T & const Ref = ...; // ๋ฌธ๋ฒ์ ์ผ๋ก ํ๋ฆผ
enum์ namespace ๋ณด๋ค class๊ฐ ๋ซ๋ค.
ํค๋ ๋ถ๋ถ์ includeํ ๋, ์ ์ ์๋ฅผ ํฌํจํ๋๋ก ํ๋ค.
Find in Files๋ฅผ ํ ๋, FShaderType* Ptr ๊ท์น์ ๋ฐ๋ฅด๋๋ก ํ๋ค. *์ ์์น๊ฐ ์ค์
'โ๏ธ ์์ง > ๐ซ ์ธ๋ฆฌ์ผ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unreal] ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ๋ฆฌํ๋ ์ ์์คํ 2 (0) | 2024.03.31 |
---|---|
[Unreal] ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ ๋ฆฌํ๋ ์ ์์คํ (ensure, check) (0) | 2024.03.31 |
[Unreal] ์ธ๋ฆฌ์ผ ์ค๋ธ์ ํธ (0) | 2024.03.29 |
[Unreal] ์ธ๋ฆฌ์ผ C++ ๊ธฐ๋ณธ ํ์ ๊ณผ ๋ฌธ์์ด ์ฒ๋ฆฌ (0) | 2024.03.28 |
[Unreal] ์ปดํ์ผ ๋ฐฉ๋ฒ (0) | 2024.03.28 |