Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (1099)

KoreanFoodie's Study

์–ธ๋ฆฌ์–ผ INI ํŒŒ์ผ ์„ค์ • (Unreal INI File Setting)

์–ธ๋ฆฌ์–ผ INI ํŒŒ์ผ ์„ค์ • ๋งŒ์•ฝ ์บ๋ฆญํ„ฐ์˜ HP ๋ฅผ ํŽธ์ง‘ํ•˜๊ณ  ์‹ถ์€๋ฐ, HP ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ๋งค๋ฒˆ ์บ๋ฆญํ„ฐ๋ฅผ ์—๋””ํ„ฐ์—์„œ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋งค์šฐ ๋น„ํšจ์œจ์ ์ผ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด, ์–ธ๋ฆฌ์–ผ์€ INI ํŒŒ์ผ์„ ์ด์šฉํ•ด ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋‚˜ ๋ณ„๋„์˜ ์—๋””ํ„ฐ ์ž‘์—…์ด ์—†์ด๋„ ์†์„ฑ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. (์›๋ž˜ INI ํŒŒ์ผ์€ ์œˆ๋„์šฐ์—์„œ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์„ค์ •์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํŒŒ์ผ ํ˜•์‹์ด๋‹ค) INI ํŒŒ์ผ์˜ ํ˜•์‹์€ ์†์„ฑ๊ณผ ๊ฐ’, ๊ทธ๋ฆฌ๊ณ  ์ด ๋‘ ๊ฐ€์ง€๋ฅผ ํฌ๊ด„ํ•˜๋Š” ์„น์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์„น์…˜ : ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” C++ ํด๋ž˜์Šค ์‹๋ณ„์ž ์†์„ฑ : C++ ํด๋ž˜์Šค์—์„œ INI ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•œ UPROPERTY ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ๊ฐ’ : ์†์„ฑ์— ์ง€์ •ํ•  ๊ฐ’ C++ ํด๋ž˜์Šค ์‹๋ณ„์ž๋Š” ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์„ ๊ฐ€์ง„๋‹ค. {..

Game Dev/Unreal C++ : Study 2022. 3. 31. 11:47
ํšŒ์‚ฌ์ผ๊ณผ ๊ฒŒ์ž„๊ฐœ๋ฐœ ๊ณต๋ถ€์˜ ๋ณ‘ํ–‰

..์€ ํž˜๋“ค๋‹ค. ์ด์œ ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์žˆ๊ฒ ์ง€๋งŒ, ์—ญ์‹œ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•˜๋‹ค๋Š”๊ฒŒ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋‹ค. ์žฌํƒ์„ ํ•œ๋‹ค๋ฉด ๋˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ์ง€๊ธˆ๊ฐ™์€ ์ƒํ™ฉ์—์„œ๋Š”.. ํ‰์ผ์—๋Š” ์‹ค์ œ ๊ฐœ๋ฐœ์— 1-2 ์‹œ๊ฐ„์ด๋‚˜ ํˆฌ์ž…ํ• ์ˆ˜ ์žˆ๋‚˜ ์‹ถ๋‹ค. ์ฃผ๋ง์„ ์ž˜ ํ™œ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋“ค ์ ˆ๋Œ€์ ์œผ๋กœ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•˜๋‹ค. ๊ธฐํš์€ ๊ณ„์† ๋ฐ”๋€๋‹ค. ๊ฐœ๋ฐœ์— ๋ฌด์Šจ ์ง„์ฒ™์ด ์žˆ๋Š”๊ฒƒ๋„ ์•„๋‹Œ๋ฐ ๋ง์ƒ๋งŒ ๋Š˜์–ด๊ฐ€๋Š” ๋Š๋‚Œ์ด๋‹ค. ์„ ํƒ์˜ ์‹œ๊ฐ„์ด ์ ์  ๋‹ค๊ฐ€์˜ค๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‘๋ ต๊ธฐ๋„ ํ•˜๊ณ  ๋–จ๋ฆฌ๊ธฐ๋„ ํ•˜์ง€๋งŒ, ๋‘๋ ต์ง€ ์•Š๋‹ค๋ฉด ๊ทธ๊ฑด ๋„์ „์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„์ „์€ ์–ธ์ œ๋‚˜ ๋‚ด ์˜ˆ์ƒ์„ ๋›ฐ์–ด๋„˜๋Š” ๊ฐ€์น˜๊ฐ€ ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ๋„ ์ž˜ ์•Œ๊ณ  ์žˆ๋‹ค. ๋ฐ”์•ผํ๋กœ ํญํ’์ „์•ผ.

AboutMe 2022. 3. 31. 08:54
์–ธ๋ฆฌ์–ผ ํ”„๋กœํผํ‹ฐ ์‹œ์Šคํ…œ : ๋ฆฌํ”Œ๋ ‰์…˜(Reflection)

๋ฆฌํ”Œ๋ ‰์…˜ : ๋Ÿฐํƒ€์ž„์— ์ž๊ธฐ ์ž์‹ ์„ ์กฐ์‚ฌํ•˜๊ฒŒ ๋งŒ๋“ค์ž ์–ธ๋ฆฌ์–ผ์€ UHT(Unreal Header Tool) ์„ ์ด์šฉํ•ด ํด๋ž˜์Šค ๊ณ„์ธต ๊ตฌ์กฐ, ๋ฉค๋ฒ„ ๋ณ€์ˆ˜/ํ•จ์ˆ˜ ๋“ฑ์˜ ์ •๋ณด๋ฅผ UClass ์— ์ €์žฅํ•œ๋‹ค. ์ด๋ฅผ ๋ฆฌํ”Œ๋ ‰์…˜์ด๋ผ๊ณ ๋„ ํ•˜๊ณ , ํ”„๋กœํผํ‹ฐ ์‹œ์Šคํ…œ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์Šคํ…œ์€ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์œผ๋กœ, ๋ฆฌํ”Œ๋ ‰์…˜ ์‹œ์Šคํ…œ์— ๋ณด์ด๋„๋ก ํ–ˆ์œผ๋ฉด ํ•˜๋Š” ์œ ํ˜•์ด๋‚˜ ํ”„๋กœํผํ‹ฐ์— ์ฃผ์„์„ ๋‹ฌ์•„๋‘๋ฉด UHT ๊ฐ€ ์ปดํŒŒ์ผ์‹œ ํ•ด๋‹น ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ฒŒ ๋œ๋‹ค. ํ”„๋กœํผํ‹ฐ ์‹œ์Šคํ…œ ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. (UField ์•„๋ž˜์— UStruct, UEnum, UProperty ๊ฐ€ ์žˆ์Œ) ์‹ค์ œ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž. #include "MyObject.generated.h" UCLASS(Blueprintable) class UMyObject : public UObject ..

Game Dev/Unreal C++ : Study 2022. 3. 30. 15:04
์–ธ๋ฆฌ์–ผ CDO (Class Default Object) : ํด๋ž˜์Šค ๊ธฐ๋ณธ ๊ฐ์ฒด

CDO ๋Š” ๋ฌด์—‡์ด๊ณ , ๋˜ ์™œ ์‚ฌ์šฉํ• ๊นŒ ์–ธ๋ฆฌ์–ผ์—์„œ๋Š” ๋Ÿฐํƒ€์ž„์— ๋น ๋ฅธ ํƒ€์ž… ์ฒดํ‚น๊ณผ ํด๋ž˜์Šค ๊ฒ€์ƒ‰์„ ์œ„ํ•ด, ์ปดํŒŒ์ผ ํƒ€์ž„์—์„œ ํด๋ž˜์Šค์™€ ํƒ€์ž… ๋“ฑ์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”ํƒ€ ์ •๋ณด๋Š” UClass ๋ผ๋Š” ์–ธ๋ฆฌ์–ผ ํด๋ž˜์Šค์— ๋ณด๊ด€๋œ๋‹ค. UClass ์—๋Š” ํด๋ž˜์Šค์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋‚˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜/ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. ์ด๋Ÿฌํ•œ UClass ๋ฅผ ์ด์šฉํ•˜๋ฉด, ๋‹จ์ˆœํžˆ ํƒ€์ž…์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด ๋Ÿฐํƒ€์ž„์—์„œ ์ธ์Šคํ„ด์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ๋‹ค. (Java, C# ์—์„œ๋Š” ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ๋ฆฌํ”Œ๋ ‰์…˜[Reflection] ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค) ๋Ÿฐํƒ€์ž„ ๊ณผ์ •์—์„œ๋Š” ์–ธ๋ฆฌ์–ผ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ƒ์„ฑ๋˜๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ CDO(Class Default Object), ํด๋ž˜์Šค ๊ธฐ๋ณธ ๊ฐ์ฒด์ด๋‹ค. ์–ธ๋ฆฌ์–ผ์€ CDO ๋ฅผ ๋ฏธ๋ฆฌ ..

Game Dev/Unreal C++ : Study 2022. 3. 30. 14:46
์–ธ๋ฆฌ์–ผ ์˜ค๋ธŒ์ ํŠธ (UObject) ์˜ ์ดํ•ด

์–ธ๋ฆฌ์–ผ ์˜ค๋ธŒ์ ํŠธ ์–ธ๋ฆฌ์–ผ ์˜ค๋ธŒ์ ํŠธ๋Š” ์–ธ๋ฆฌ์–ผ ์—”์ง„์˜ ๊ด€๋ฆฌ๋ฅผ ๋ฐ›๋Š” ๊ฐ์ฒด์ด๋‹ค. ์–ธ๋ฆฌ์–ผ์ด ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋˜๋Š” ์ด์ ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ, ๋จผ์ € ํด๋ž˜์Šค์˜ ํƒ€์ž…์ฒดํ‚น์„ ๋น ๋ฅด๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์ž๋™์œผ๋กœ ํ•ด ์ฃผ๋Š” ๊ฒƒ ๋“ฑ์ด ์žˆ๊ฒ ๋‹ค. ์–ธ๋ฆฌ์–ผ ์˜ค๋ธŒ์ ํŠธ๋Š” U ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ์ผ๋ฐ˜ C++ ์˜ค๋ธŒ์ ํŠธ๋Š” F ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค. ์–ธ๋ฆฌ์–ผ ์˜ค๋ธŒ์ ํŠธ์˜ ์ „์ฒด ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค : CDO(Class Default Object) : ๊ฐ์ฒด์˜ ์ดˆ๊ธฐ ๊ฐ’์„ ์ž์ฒด์ ์œผ๋กœ ๊ด€๋ฆฌ Reflection : ๊ฐ์ฒด ์ •๋ณด๋ฅผ ๋Ÿฐํƒ€์ž„์—์„œ ์‹ค์‹œ๊ฐ„ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅ GC(Garbage Collection) : ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž๋™ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Œ Serialization : ๊ฐ์ฒด์™€ ์†์„ฑ ์ •๋ณด๋ฅผ ํ†ต์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€ํ•˜๊ณ ..

Game Dev/Unreal C++ : Study 2022. 3. 30. 14:20
์–ธ๋ฆฌ์–ผ ๋นŒ๋“œ ์‹œ์Šคํ…œ ์š”์•ฝ (Unreal Build System)

์–ธ๋ฆฌ์–ผ ๋นŒ๋“œ ์‹œ์Šคํ…œ ๊ทธ๋ ‡๋‹ค๋ฉด UClass ํƒ€์ž…์˜ ์ •๋ณด๋Š” ๋ฌด์—‡์ด๊ณ  ์‹ค์ œ ๊ฐ์ฒด์˜ ์ •๋ณด๋Š” ๋ฌด์—‡์ผ๊นŒ? ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์–ธ๋ฆฌ์–ผ ๋นŒ๋“œ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. (๋””ํ…Œ์ผํ•œ ๋‚ด์šฉ์€ ์ด๋“์šฐ๋‹˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ์กฐํ•จ) ๋จผ์ €, ์–ธ๋ฆฌ์–ผ์€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์œผ๋กœ ๋™์ž‘ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ์ ํŠธ์˜ ํด๋” ๊ตฌ์กฐ์™€ ์†Œ์ŠคํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ธ๋ฆฌ์–ผ ๋นŒ๋“œ ํˆด์ด OS ์— ๋งž๋Š” ์†”๋ฃจ์…˜์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋œ๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„œ ๋นŒ๋“œ์‹œ, Editor ๋กœ ๋๋‚˜๋Š” ์„ค์ •์„ ํด๋ฆญํ•˜๋ฉด ์—๋””ํ„ฐ์šฉ dll ์„ ์ƒ์„ฑํ•˜๋Š” ๊ตฌ์„ฑ์ด๋ฉฐ, Editor ๊ฐ€ ๋ถ™์–ด ์žˆ์ง€ ์•Š์„ ๊ฒฝ์šฐ ์‹คํ–‰์šฉ exe ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ฆ‰, Development Editor ์„ค์ •์„ ๋ˆ„๋ฅด๋ฉด ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ ๋ฒ„์ „์œผ๋กœ, ์—๋””ํ„ฐ์šฉ dll ์„ ๋งŒ๋“ค๋„๋ก ์ปดํŒŒ์ผ๋œ๋‹ค. ์ปดํŒŒ์ผ๋œ dll ํŒŒ์ผ๋“ค์€ interm..

Game Dev/Unreal C++ : Study 2022. 3. 30. 13:58
์–ธ๋ฆฌ์–ผ ์‹ค์Šต์šฉ ๊ฒŒ์ž„ WithTheLight ๊ธฐํš

Level Design ์ปจ์…‰ : ๋ฌดํ•œ๋งต. 4 ๊ฐœ์ค‘์˜ ํ•˜๋‚˜์˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•จ. ๋ชฉํ‘œ ์ง€์ ์ด ์ •ํ•ด์ ธ ์žˆ์Œ. ๋ชฉํ‘œ์ง€์ ์— ๋„๋‹ฌํ•˜์—ฌ, ์„ฑํ™”๋ฅผ ๋ด‰์†กํ•˜๋ฉด ๊ฒŒ์ž„์ด ํด๋ฆฌ์–ด. ์ „ํˆฌ : ์ƒˆ ๊ณต๊ฐ„์— ๋„์ฐฉํ•˜๋ฉด, ๋ฌธ์ด ๋‹ซํžˆ๋ฉด์„œ ์ ์ด ๋žœ๋ค์œผ๋กœ ์Šคํฐ๋œ ์ ๊ณผ ์‹ธ์šฐ๊ฒŒ ๋จ. ๋ชฉํ‘œ ์ง€์ ์— ๊ฐ€๊นŒ์ด ๊ฐˆ์ˆ˜๋ก ์ ์ด ๊ฐ•๋ ฅํ•ด์ง. ๋ชฉํ‘œ ์ง€์  ๋ฐฉ์—์„œ๋Š” ๋ณด์Šค์™€ ์ „ํˆฌ๋ฅผ ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Œ. ์ „ํˆฌ ์™„๋ฃŒ : ์ ์„ ์ „๋ถ€ ๋ฌด์ฐŒ๋ฅด๋ฉด, 2๊ฐœ์˜ ์•„์ดํ…œ ๋ฐ•์Šค๊ฐ€ ๋‚˜์˜ด. ์ด๋•Œ ์„ ํƒ์„ ํ•ด์•ผ ํ•จ. ์„ ํƒ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Œ. ๋ฌด๊ธฐ๋ณ€๊ฒฝ ๋ฌด๊ธฐ๊ฐ•ํ™” ๋ฌด๊ธฐ ๋‚ด๊ตฌ๋„ ์ˆ˜๋ฆฌ ์บ๋ฆญํ„ฐ HP ์ฆ๊ฐ€ ์บ๋ฆญํ„ฐ ์ด๋™์†๋„ ์ฆ๊ฐ€ ์บ๋ฆญํ„ฐ ๊ณต๊ฒฉ์†๋„ ์ฆ๊ฐ€ ๋‹ค๋งŒ 2 ๊ฐ€์ง€ ์ „๋ถ€ ํšจ๊ณผ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ๊ฐ™์€๋ฐ, ํ•˜๋‚˜๋Š” "100% ํ™•๋ฅ ๋กœ 10% ์„ฑ๋Šฅ ํ–ฅ์ƒ" ์ด๋ฉฐ, ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” "10% ํ™•๋ฅ ๋กœ ์„ฑ๋Šฅ 50% ์ƒ์Šน, 40%ํ™•๋ฅ ๋กœ ์„ฑ๋Šฅ..

Game Dev/Unreal C++ : Dev Log 2022. 3. 28. 11:47