[TIL] 250910

๊น€์„ธํฌยท2025๋…„ 9์›” 10์ผ
0

โœ๏ธToday I Learned

๐Ÿ“… 2025-09-10

  • GAS: GameplayTag / GameplayCue

GAS: GameplayTag / GameplayCue

GameplayTag

๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜์˜ ๊ณ„์ธต์  ๋ผ๋ฒจ ์‹œ์Šคํ…œ

ํŠน์ง•
1. ๊ณ„์ธต ๊ตฌ์กฐ: ํŠธ๋ฆฌ ํ˜•ํƒœ (ex HUD.Slot.Reticle, HUD.Slot.Equipment)
2. ์ƒ์† ๊ฒ€์ƒ‰: ์ƒ์œ„ํƒœ๊ทธ๋กœ ํ•˜์œ„ํƒœ๊ทธ ๊ฒ€์ƒ‰
3. ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ : ์—ฌ๋Ÿฌ ํƒœ๊ทธ ๋™์‹œ์— ๋ณด์œ  ๊ฐ€๋Šฅ
4. ์—๋””ํ„ฐ ํ†ตํ•ฉ : ์ž๋™์™„์„ฑ, ๊ฒ€์ฆ, ๊ด€๋ฆฌ ๋„๊ตฌ ์ œ๊ณต

ํƒœ๊ทธ ๋งค์นญ ์ข…๋ฅ˜
1. Exact Match
ํ•˜์œ„ ๋งค์น˜๋Š” ์ฐพ์ง€ ์•Š์Œ
2. Partial Match
๋ถ€๋ถ„ ์ผ์น˜ ๊ฒ€์ƒ‰. ์ƒ์œ„ ํƒœ๊ทธ๋กœ ํ•˜์œ„ ํƒœ๊ทธ๋ฅผ ๊ฒ€์ƒ‰
3. Container Match
์ปจํ…Œ์ด๋„ˆ ์ผ์น˜. ์—ฌ๋Ÿฌ ํƒœ๊ทธ๋ฅผ ๋™์‹œ์— ๊ฒ€์ƒ‰

๋‚ด๋ถ€ ๊ตฌ์กฐ

struct FGameplayTag
{
    FName TagName;  // ํ•ด์‹œ ๊ธฐ๋ฐ˜ ๋น ๋ฅธ ๋น„๊ต
};

struct FGameplayTagContainer
{
    TArray<FGameplayTag> GameplayTags;
    TArray<FGameplayTag> ParentTags;  // ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ๋œ ๋ถ€๋ชจ ํƒœ๊ทธ๋“ค
};

ParentTags.Add("Status");
ParentTags.Add("Status.Debuff");
ParentTags.Add("Status.Debuff.Frozen");
  1. ๋ถ€๋ชจ ํƒœ๊ทธ๋ฅผ ๋ฏธ๋ฆฌ ์ €์žฅํ•ด์„œ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ๋†’์ž„
  2. FName: ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ €์žฅ -> ๋Œ€์—ญํญ๋„ ์ž‘์•„์ง€๊ณ  ์†๋„๊ฐ€ ๋น ๋ฆ„
  3. ํƒœ๊ทธ๋กœ GAS ์กฐ๊ฑด ์ ์šฉ

GameplayCue

๊ฒŒ์ž„์˜ ๋กœ์ง๊ณผ ์—ฐ์ถœ์„ ๋ถ„๋ฆฌํ•˜๊ณ  ํƒœ๊ทธ๋กœ ์—ฐ๊ฒฐ
GA ์‹คํ–‰ ์‹œ ํƒœ๊ทธ๋กœ ํ ์‹คํ–‰. ๊ฐ™์€ ํƒœ๊ทธ๋ฅผ ๊ฐ–๋Š” ํ๋Š” ๋™์‹œ ์‹คํ–‰๋œ๋‹ค.

ํƒ€์ž…

  1. Execute ์‹คํ–‰ํ˜•
    ์ฆ‰์‹œ ์‹คํ–‰ (OnExecute)
    ์ž๋™ ์ •๋ฆฌ
  2. Add Cue ์ถ”๊ฐ€ํ˜•
    ์ˆ˜๋™ ์ œ๊ฑฐํ•  ๋•Œ๊นŒ์ง€ ์ง€์† (OnActive->WhileActive)
    ๋ฒ„ํ”„/๋””๋ฒ„ํ”„ ์ƒํƒœ ํ‘œ์‹œ
  3. Remove Cure ์ œ๊ฑฐํ˜•
    Add๋œ Cue ์ •๋ฆฌ (OnRemove)
    ์ข…๋ฃŒ ์—ฐ์ถœ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

WhileActive์—์„œ false๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด OnRemove ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋™์ ์—ฐ์ถœ
ํ ์‹คํ–‰์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ๋™์ ์—ฐ์ถœ ๊ฐ€๋Šฅ

๋„คํŠธ์›Œํฌ ๋™๊ธฐํ™”
Local Cue: ๋กœ์ปฌ ์ „์šฉ (ExecuteGameplayCueLocal)
Replicated Cue: ๋„คํŠธ์›Œํฌ ๋ณต์ œ (ExecuteGameplayCue)

ํด๋ž˜์Šค ๊ณ„์ธต
1. static
์•กํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€์•Š์Œ. ๊ฐ€๋ฒผ์›€. OnExecute๋งŒ ๊ฐ€๋Šฅ
2. actor
๋ณต์žกํ•œ ์—ฐ์ถœ. ์•กํ„ฐ ์ƒ์„ฑ. ์ƒํƒœ ์œ ์ง€ ๊ฐ€๋Šฅ


๐Ÿ’ก ๋А๋‚€ ์  (What I Felt)


์ถœ์ฒ˜: ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

0๊ฐœ์˜ ๋Œ“๊ธ€