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

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

KoreanFoodie's Study

์–ธ๋ฆฌ์–ผ ํ”„๋กœํผํ‹ฐ ์‹œ์Šคํ…œ : ๋ฆฌํ”Œ๋ ‰์…˜(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
์ด๋“์šฐ ์–ธ๋ฆฌ์–ผ C++ 15 : ๊ฒŒ์ž„์˜ ์™„์„ฑ

์ด๋“์šฐ๋‹˜์˜ "์ด๋“์šฐ์˜ ์–ธ๋ฆฌ์–ผ C++ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์˜ ์ •์„" ์ฑ…์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์‹ค์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. ์‹ค์Šต์— ํ•„์š”ํ•œ ์ž๋ฃŒ๋“ค์€ ์ด ๋งํฌ์—์„œ, ์ œ๊ฐ€ ์ž‘์—…ํ•œ ์˜ˆ์ œ ์†Œ์Šค ์™„์„ฑ๋ณธ์€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์•„๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ €๋Š” ์–ธ๋ฆฌ์–ผ 4.27.2 ๋ฒ„์ „ ๊ธฐ์ค€์œผ๋กœ ์ž‘์—…ํ•˜์˜€์Šต๋‹ˆ๋‹ค) ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ๊ณผ ๋กœ๋”ฉ SaveGame ์ด๋ผ๋Š” ์–ธ๋ฆฌ์–ผ์˜ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋กœ๋“œํ•ด๋ณด์ž. ์ด๋ฆ„์€ ABSaveGame ์œผ๋กœ ๋งŒ๋“ ๋‹ค. ๊ฒŒ์ž„ ์„ธ์ด๋ธŒ ๊ธฐ๋Šฅ์—๋Š” ๊ฐ ์ €์žฅ ํŒŒ์ผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ  ์ด๋ฆ„์ธ ์Šฌ๋กฏ ์ด๋ฆ„์ด ํ•„์š”ํ•˜๋‹ค. ์Šฌ๋กฏ ์ด๋ฆ„์„ ๋‹ค๋ฅด๊ฒŒ ์ง€์ •ํ•ด ์„ธ์ด๋ธŒ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๋Š” Player1 ์ด๋ผ๋Š” ์Šฌ๋กฏ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๋ณธ ์„ธ์ด๋ธŒ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋กœ์ง์€ ํ”Œ๋ ˆ์ด์–ด ์Šคํ…Œ์ดํŠธ์˜ InitPlay..

Game Dev/Unreal C++ : Tutorial 2022. 3. 27. 19:04
์ด๋“์šฐ ์–ธ๋ฆฌ์–ผ C++ 14 : ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด์˜ ์ œ์ž‘

์ด๋“์šฐ๋‹˜์˜ "์ด๋“์šฐ์˜ ์–ธ๋ฆฌ์–ผ C++ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์˜ ์ •์„" ์ฑ…์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์‹ค์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. ์‹ค์Šต์— ํ•„์š”ํ•œ ์ž๋ฃŒ๋“ค์€ ์ด ๋งํฌ์—์„œ, ์ œ๊ฐ€ ์ž‘์—…ํ•œ ์˜ˆ์ œ ์†Œ์Šค ์™„์„ฑ๋ณธ์€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์•„๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ €๋Š” ์–ธ๋ฆฌ์–ผ 4.27.2 ๋ฒ„์ „ ๊ธฐ์ค€์œผ๋กœ ์ž‘์—…ํ•˜์˜€์Šต๋‹ˆ๋‹ค) ์บ๋ฆญํ„ฐ์˜ ์Šคํ…Œ์ดํŠธ ์„ค์ • AI ์˜ ์บ๋ฆญํ„ฐ ์Šคํ…Œ์ดํŠธ์™€ ๋น„์Šทํ•˜๊ฒŒ, ํ”Œ๋ ˆ์ด์–ด์˜ ์บ๋ฆญํ„ฐ์—๋„ ์Šคํ…Œ์ดํŠธ ๋จธ์‹  ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•ด๋ณด์ž. PREINIT ์Šคํ…Œ์ดํŠธ : ์บ๋ฆญํ„ฐ ์ƒ์„ฑ ์ „์˜ ์Šคํ…Œ์ดํŠธ. ์• ์…‹์€ ์„ค์ •๋ผ ์žˆ์œผ๋‚˜ ์บ๋ฆญํ„ฐ์™€ UI ๋ฅผ ์ˆจ๊ฒจ๋‘  LOADING ์Šคํ…Œ์ดํŠธ : ์บ๋ฆญํ„ฐ ์• ์…‹์„ ๋กœ๋”ฉ. ํ˜„์žฌ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ AI ์ธ์ง€ ํ”Œ๋ ˆ์ด์–ด์ธ์ง€ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅ. ํ”Œ๋ ˆ์ด์–ด ์ปจํŠธ๋กค๋Ÿฌ์ธ ๊ฒฝ์šฐ ์• ์…‹ ๋กœ๋”ฉ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์บ๋ฆญํ„ฐ๋ฅผ ์กฐ์ข…ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ž…๋ ฅ์„ ๋น„ํ™œ์„ฑํ™”. READY ์Šคํ…Œ์ดํŠธ : ์บ๋ฆญํ„ฐ ์• ..

Game Dev/Unreal C++ : Tutorial 2022. 3. 23. 18:15