[Unreal] Game Ability System(GAS) - Ability System Componet(ASC)
ยท
๐Ÿ–ฅ๏ธ Study Note/Unreal Engine
Ability System ComponentASC๋Š” ActorComponent๋กœ GAS ์š”์†Œ๋“ค์˜ ์ธํ„ฐ๋ ‰์…˜์„ ๋‹ค๋ฃฌ๋‹ค.Game Abilities๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, Attribute๊ฐ€ ์žˆ๊ฑฐ๋‚˜, Gameplay Effect๋ฅผ ๋ฐ›๋Š” ๋ชจ๋“  ์•กํ„ฐ๋Š” ASC๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. Attribute๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  GAS ์š”์†Œ๊ฐ€ ASC์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๊ณ  Replicate๋œ๋‹ค.Attribute๋“ค์€ ์ž์‹ ์˜ Attribute Set์— ์˜ํ•ด Replicate๋œ๋‹ค.ASC๋Š” Owner Actor์™€ Avatar Actor๋ฅผ ๊ฐ€์ง„๋‹ค.Owner Actor : ASC๊ฐ€ ๋ถ™์–ด์žˆ๋Š” ActorAvatar Actor : ASC๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ActorASC์˜ Owner์™€ Aavatar๋Š” ๊ฐ™์„ ์ˆ˜๋„, ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค.MOBA์˜ ๋ฏธ๋‹ˆ์–ธ์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•œ ์บ๋ฆญํ„ฐ์˜..
[Unreal] Game Ability System(GAS)
ยท
๐Ÿ–ฅ๏ธ Study Note/Unreal Engine
GAS๋Š” ์–ด๋นŒ๋ฆฌํ‹ฐ(์•กํ„ฐ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์•กํ‹ฐ๋ธŒ ์Šคํ‚ฌ์ด๋‚˜ ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ๊ณผ ๊ฐ™์€ ๋Šฅ๋ ฅ)๋‚˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ(์•กํ„ฐ์˜ ๋Šฅ๋ ฅ์น˜)๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ต‰์žฅํžˆ ์œ ์—ฐํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ RPG๋‚˜ MOBA๋ฅ˜์˜ ๊ฒŒ์ž„์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค. ์–ด๋นŒ๋ฆฌํ‹ฐ์˜ ๊ฒฐ๊ณผ๋กœ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๊ฑฐ๋‚˜ ๋ฒ„ํ”„๋‚˜ ๋””๋ฒ„ํ”„, ์ฟจ๋‹ค์šด ํƒ€์ด๋จธ ํ˜น์€ ๋งˆ๋‚˜ ์‚ฌ์šฉ๊ณผ ๊ฐ™์€ ์ž์› ๋น„์šฉ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋นŒ๋ฆฌํ‹ฐ์˜ ํŒŒํ‹ฐํด์ด๋‚˜ ์‚ฌ์šด๋“œ๋„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ ํ”„์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์–ด๋นŒ๋ฆฌํ‹ฐ๋‚˜ ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ๊ฒŒ์ž„์—์„œ ๋ณด๋˜ ๋ณต์žกํ•œ ์Šคํ‚ฌ๋„ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค.GAS๋Š” ์‹ฑ๊ธ€ ํ”Œ๋ ˆ์ด์™€ ๋”๋ถˆ์–ด ๋ฉ€ํ‹ฐ ํ”Œ๋ ˆ์ด ๊ฒŒ์ž„์—์„œ๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋„๋ก ๋‹ค์Œ ์‚ฌํ•ญ์˜ ๊ธฐ๋ณธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค.Game Abilities ⇒ ๋ ˆ๋ฒจ ๊ธฐ๋ฐ˜ ์บ๋ฆญํ„ฐ ๋Šฅ๋ ฅ์ด๋‚˜ ๋น„์šฉ์ด๋‚˜ ์ฟจํƒ€์ž„์ด ์žˆ๋Š” ์Šคํ‚ฌ ๊ตฌํ˜„Attributes ⇒ Actor์˜ ๋Šฅ๋ ฅ์น˜ ์ •์˜ ๋ฐ..
[Unreal Engine] ๋ชจ๋“ˆ(Module)
ยท
๐Ÿ–ฅ๏ธ Study Note/Unreal Engine
๋ชจ๋“ˆ์€ Unreal Engine์˜ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์—์„œ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, ๋ Œ๋”๋ง, ์ž…๋ ฅ ์ฒ˜๋ฆฌ, ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด ๋กœ์ง ๋“ฑ ํŠน์ • ๊ธฐ๋Šฅ์„ ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ ๋‹จ์œ„๋กœ ์บก์Аํ™”ํ•œ ์ฝ”๋“œ ๋ฌถ์Œ์ž…๋‹ˆ๋‹ค. ๊ฐ ๋ชจ๋“ˆ์€ Unreal Build Tool(UBT)์— ์˜ํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ปดํŒŒ์ผ๋˜๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ์˜ ์˜์กด์„ฑ์„ ์ •์˜ํ•˜์—ฌ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋ชจ๋“ˆ์˜ ๊ตฌ์กฐ๋ชจ๋“ˆ์€ ํ”„๋กœ์ ํŠธ์˜ ๐Ÿ“‚Source ๋‚ด์— ์œ„์น˜ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.MyProject/โ””โ”€โ”€ Source/ โ””โ”€โ”€ MyModule/ โ”œโ”€โ”€ MyModule.Build.cs โ”œโ”€โ”€ Private/ โ”‚ โ””โ”€โ”€ MyModule.cpp โ””โ”€โ”€ Public/ โ””โ”€โ”€ MyModule.hMyMo..
[Unrael Engine] IWYU ๊ฐ„๋‹จ ์ •๋ฆฌ
ยท
๐Ÿ–ฅ๏ธ Study Note/Unreal Engine
IWYU๋Š” “Include What You Use” ์˜ ์ค€๋ง๋กœ, ์†Œ์Šค ์ฝ”๋“œ์— ํ•„์š”ํ•œ ํ—ค๋” ํŒŒ์ผ๋งŒ ํฌํ•จ(Include) ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ž…๋‹ˆ๋‹ค. Unreal Engine์€ ํ•ด๋‹น IWYU๋ฅผ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์–ธ๋ฆฌ์–ผ 5 ๋ฒ„์ „๋ถ€ํ„ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.๋ชจ๋“  ํ—ค๋” ํŒŒ์ผ์€ ํ•„์ˆ˜๊ธฐ๋Šฅ์ด ์ง‘์•ฝ๋œ CoreMinimal.h๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.*.cpp ํŒŒ์ผ์€ ๋งค์นญ๋œ *.h ํŒŒ์ผ์„ ์šฐ์„  ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.UBT(Unreal Build Tool)์—์„œ ์–ด๋–ค PCH(Precompiled Header)๋ฅผ Include ํ• ์ง€ ํŒ๋‹จํ•˜์—ฌ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.Engine.h ๋˜๋Š” UnrealEd.h ๊ฐ™์€ ๋ชจ๋†€๋ฆฌ์‹ ํ—ค๋” ํŒŒ์ผ์€ ๋” ์ด์ƒ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์ด ์œ„ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋ ค๋ฉด *.Build.cs ํŒŒ์ผ์—์„œ PCHUsage๋ฅผ PCHUsageMod..
[Unreal Engine] Animation Blueprint์—์„œ Owner ์บ๋ฆญํ„ฐ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•
ยท
๐Ÿ–ฅ๏ธ Study Note/Unreal Engine
์•ˆ๋…•ํ•˜์„ธ์š” 1๋…„ ์ฐจ ๊ฒŒ์ž„ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๐Ÿซ›๋นˆ์ฝฉ์ž…๋‹ˆ๋‹ค~Animation Blueprint์—์„œ Character์˜ ํŠน์ • ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• 3๊ฐ€์ง€๋ฅผ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.1. Casting๋ฐฉ๋ฒ•ABP์—์„œ TryGetPawnOwner๋กœ ์บ๋ฆญํ„ฐ ๊ฐ์ฒด(Object)๋ฅผ ๊ฐ€์ ธ์™€ Casting ํ•˜์—ฌ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ฑ๋Šฅ : ไธ‹๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค.Casting์„ ํ•  ๊ฒฝ์šฐ ABP๋ฅผ Load ํ•  ๋•Œ ์บ์ŠคํŒ…ํ•œ Character BP๋„ ํ•จ๊ป˜ Load ๋˜๋ฏ€๋กœ ABP๊ฐ€ ๋ฌด๊ฑฐ์›Œ์ง„๋‹ค.ABP_Base์˜ Size Map์„ ๋ณด๋ฉด BP_LyraCharacter๊ฐ€ ํ†ต์งธ๋กœ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 2. Interface ๋ฐฉ๋ฒ•1. Chracter๋กœ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ฐ€..