-
[UE5 RPG] 8. ํ์ฑํ๋ GA๋ก ์ ํฌ ์ ๋๋ฉ์ด์ ์ถ๋ ฅํ๊ธฐ : ์ ๋๋ฉ์ด์ ๋ ธํฐํ์ด, Default SlotUnrealEngine/SomedayProject 2025. 11. 11. 14:54
๐ Someday Proejct ๊ฐ๋ฐ์ผ์ง ์๋ฆฌ์ฆ
๐ฆพ AI๋ก ๋ง๋ค์ด๋ณด๊ธฐ
๐ก๏ธ ๊ณต๊ฒฉ GA ๋ด๋ถ์์ EndAbility๋ฅผ ์ฒ๋ฆฌํ๋ ๊ณผ์
์ผ๋ฐ์ ์ธ ๊ณต๊ฒฉ GA ๋ด๋ถ์์๋ ๋ค์๊ณผ ๊ฐ์ ํ๋ฆ์ผ๋ก
End Ability๋ฅผ ํธ์ถํฉ๋๋ค.Event Activate Ability(ํ์ฑํ ์์)Commit Ability(๋น์ฉ/์ฟจ๋ค์ด ์ ์ฉ)Ability Task: Play Montage and Wait for Event(๋ชฝํ์ฃผ ์ฌ์ ์์)
- ๋ชฝํ์ฃผ ์ฌ์ ์ค
- ์ ๋๋ฉ์ด์ ๋ ธํฐํ์ด ๋ฐ์
Ability Task์ ์ด๋ฒคํธ ์ถ๋ ฅ ํ ์คํ (๊ณต๊ฒฉ ํ์ ๋ก์ง ์คํ)
- ๊ณต๊ฒฉ ํ์ ๋ฐ ํผํด ์ ์ฉ ์๋ฃ
K2_EndAbility๋ ธ๋ ํธ์ถ- ์ด๋น๋ฆฌํฐ ์ข ๋ฃ
์ ๋ฏธ๋์ด ๋ก์ง ์ถ์ฒ๋ฐ์๋ดค๊ณ ์ปค์ํํ ๋ค ๋ง๋ค๋ผ๊ณ ํด๋ดค๋ค

1,2๋ถ๋ง์ ๋๋ฑ ๋์ด ใทใท
์ถ๊ฐ์ ์ผ๋ก ์ธํ ์ ๋ ํด๋ณด์
Attribute ์ถ๊ฐ
์ดํธ๋ฆฌ๋ทฐํธ๋ก ์ฐ๊ณ ์ถ๋ค๋ฉด ํด๋น ๋ฉํ๋ฅผ ๋ฃ์ด์ผํ๋๋ด
์ผ๋จ ์ดํธ๋ฆฌ๋ทฐํธ๋ ๋์ค์
/** Internal Attribute that modifies the duration of gameplay effects created by this component */ UPROPERTY(**meta=(SystemGameplayAttribute="true")**) float OutgoingDuration;
๐โ๏ธโก๏ธ ์ ๋๋ฉ์ด์ ๋ชฝํ์ฃผ ์คํ
๊ทธ๋ฅ ๋ชฝํ์ฃผ๋ง ํ๋ ์ดํ๋ฉด ๋ฐ์์ด ์๋๋ค Gemini ํํ ๋ฌผ์ด๋ณด๋ Default Slot ์ ์ถ๋ ฅํด์ผํ๋ค๊ณ .
- Default Slot ๋ ธ๋๋ ์คํ ์ดํธ ๋จธ์ ์ด ์์ฑํ ๊ธฐ๋ณธ ์ ๋๋ฉ์ด์ ํฌ์ฆ ๋ฐ๋ก ๋ค์ ์ฐ๊ฒฐ๋์ด, ํด๋น ํฌ์ฆ ์์ ๋ชฝํ์ฃผ ์ ๋๋ฉ์ด์ ์ ๋ฎ์ด์์ธ(Override) ์ ์๋ ์์น๋ฅผ ์ ๊ณตํฉ๋๋ค.

๊ธฐ๋ณธ์ผ๋ก๋ HeroBasicSM ์ Locomotion ์ ์ฌ์ฉํ์ง๋ง, ์ฌ๊ธฐ์ ์ํ๋ ๋ชฝํ์ฃผ๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ๊ธฐ์กด ํฌ์ฆ ์์ ๋ด๊ฐ ์ง์ ํ ๋ชฝํ์ฃผ (AM_NormalAttack)๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํ๋ค
์ ๋๋ฉ์ด์ ๋ธ๋๋ ๊ณต๋ถํ๊ณ ๋์ด๊ฐ๊ธฐ
์ด ์์์ผ๋ก ๋ธ๋๋์ ๋ํด์ ๋ฐฐ์ ๋ค
- BlendByBool, int, Enum ์ ๋ฐ๋ผ ํน์ ๋ณ์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ถ๋ ฅํ ์ ๋์ด๋ ํฌ์ฆ๋ฅผ ์ง์ ํ ์ ์์
- BlendTime์ ๊ฐ ์ํ์ ๋ฐ๋ผ ์ ์ํด๋๋ฉด, ๊ทธ ํฌ์ฆ๋ฅผ ์ถ๋ ฅํ ๋ ๋ธ๋๋ํ๋ ์๊ฐ์ ์ผ๋ง๋ ์ธ๊ฑด์ง ์ ํ ์์์
- Inertialization (๊ด์ฑํ) ๋ฅผ ์ฌ์ฉํด์ ์ด์ ๋ชจ์
์ ๊ด์ฑ์ ์ฃผ๋ ํน์ดํ ๋ชจ์
์ ๋ง๋ค ์ ์๋ค
- ์ผ๋ฐ์ ์ธ ์ ๋๋ฉ์ด์ ํฌ๋ก์คํ์ด๋ฉ(Crossfading, ํ์ค ๋ธ๋ ๋) ๋์ , ์ด์ ์ ๋๋ฉ์ด์ ์ ๋ชจ์ (์๋์ ๊ฐ์๋)์ ์ด์ฉํ์ฌ ์์ฐ์ค๋ฝ๊ฒ ์๋ก์ด ์ ๋๋ฉ์ด์ ์ผ๋ก ์ ํํ๋๋ก ํด์ฃผ๋ ๊ธฐ์ ์ ๋๋ค.
์ถฉ๋ ๋๋ฒ๊ทธ ์ผ์ ํ์ธ

ํ์ธํด๋ณด๋ฉด ์ํ๋๊ฒ๊ณผ๋ ๋ค๋ฅธ ์์น์ ์ถฉ๋ํ์ ์ด ๋ค์ด๊ฐ๊ณ ์๋ค
๊ฒ์ ํ๋๋ฅผ ๋๊ฐ ์๋๋ผ ๊ฒ์ ๋๋ ค๋์ ๋ ๊ณต๊ฒฉ์ ํ์ ํ๋ ๋ชจ์..
๋ ์ ํํ๊ฒ ๊ฒ์ ํ๋๋ฅด๋ ํ์ด๋ฐ์ ์ ์ดํด์ผํ๋ค
๐ ์ ๋๋ฉ์ด์ ๋ ธํฐํ์ด

Lyra์์๋ AN_PlayWeaponMontage(Animation Montage ์์) ๋ฅผ ์ฌ์ฉํด์ ๋ ธํฐํ์ด๋ฅผ ๋ฐ์์ํค๊ณ , ์ด ๋ ธํฐํ์ด๋ฅผ ๊ฐ ๋ฌด๊ธฐ๋ค๋ง๋ค ์ฌ์ฉํด์ฃผ๊ณ ์๋ค. ๋ฌด๊ธฐ์ฒ๋ผ ์ฌ๋ฌ๋ฒ ์ฐ์ผ ๋ ธํฐํ์ด๋ ๋์ผํ๊ฒ ๋ง๋ค์ด๋ ์ข์๊ฒ๊ฐ๋ค ํ
๋ ธํฐํ์ด ๋ฐ๋๊ฑฐ ํด๋ณด๊ณ ์๋๋ฐ Delegate ์ชฝ์์ ์๋ฌ๊ฐ ๋๋ค
1>D:\UEProject\SomedayProject\Source\SomedayProject\Weapon\SPGameAbility_WeaponDefault.h(76): error : **Inappropriate '*' on variable of type 'FGameplayEventData', cannot have an exposed pointer to this type.**https://hyun2and.tistory.com/45
[C++/UE] Inappropriate '*' on variable of type 'FGameplayEventData', cannot have an exposed pointer to this type.
๋งคํฌ๋ก๋ก ์ค์ ๋ Delegate ๋ฅผ ์คํํ๋ ค๊ณ ํ๋ ์ด๋ฐ ์๋ฌ๊ฐ ๋์๋ค์ปดํ์ผ์์๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ๋ง์ ๋น๋๋ฅผ ์คํํ๋ ๋ฌธ์ ๊ฐ ๋ํ๋๊ฑธ๋ก ๋ด์ ๋งํฌ๋ ์ธ๋ฆฌ์ผ ๋น๋ ์์ ๋ฌธ์ ๊ฐ ์๋ ๋ชจ์ SPGameAb
hyun2and.tistory.com
ํจ์๋ฅผ
UFUNCTION์ผ๋ก ๋ง๋ค์ด์ ์๊ธด ์ค๋ฅ์๋ค. delegate ๋ฅผ ํ๋ ค๋ฉด ๋ฌด์กฐ๊ฑด UFUNCTION ํค์๋๊ฐ ์์ด์ผ ํ๋์ค์์๋๋ฐ ์๋์๋๋ด
๋ ์ง๊ธ๊น์ง ์
UFUNCTION์ ๊ณ์ ๋ถ์ด๊ณ ์์๋.. BP์์ ํธ์ถ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง์๋๋ฐ ํ์๋ํฐ์์ ์ ๋๋ฉ์ด์ ๋ ธํฐํ์ด ๋ธ๋ฃจํ๋ฆฐํธ ์ถ๊ฐ

AnimNofity๋ฅผ ์์๋ฐ๋
AN_NormalAttack์ ๋ง๋ค์ด์ค๋ค. ์ดํ์ ๋ค๋ฅธ ๋ฌด๊ธฐ๋ค์ด ๋์์ ๋ ์ฌ์ฌ์ฉํ ์ ์์ผ๋๊น ๋ง๋ค์ด์ค
๋ ธํฐ ์ด๋ฒคํธ ๋ฐ์ํ์ ๋ ์ง์ ํ EventTag์ ํด๋นํ๋ ๋ ธํฐ๋ฅผ ์กํฐ๋ก ๋ณด๋ด๋๋ก ํ๋ค
์ด์ ๋๋ ๊ตณ์ด ์ฝ๋ ๋ง๋ค์ง์๊ณ BP๋ก ํด๊ฒฐํด๋ณด๊ธฐ

๋ ธํฐํ์ด๋ฅผ ์ํ EventTag ์นดํ ๊ณ ๋ฆฌ๋ ์๋ก ๋ง๋ค์ด์คฌ๋ค

์ ๋๋ฉ์ด์ ๋ชฝํ์ฃผ์์ ๋ฐฉ๊ธ ๋ง๋ ์ ๋๋ฉ์ด์ ๋ ธํฐํ์ด๋ฅผ ์ถ๊ฐํด์ฃผ๊ณ EventTag ๋ ๋ฑ๋กํด์ค๋ค
์ด ์์ ์ฐธ๊ณ

๋ด๊ฐ ์ํ๋๋๋ก ์๋ฉด์์๋ถํฐ ์ถฉ๋์ด ๋ค์ด๊ฐ๊ณ ์๋ค

์ํ๋ ์์ญ์ผ๋ก ๋ฒ์๊น์ง ์ ํด์ฃผ๋ฉด ๋
์ถฉ๋ ์ฒดํฌ ์์ญ์ด ์ด์ ๋๊ณ , ์ค์ ๋ก๋ ๋ฌด๊ธฐ์ Angle ๋ก ๊ณต๊ฒฉ ๋ฒ์์ ์๋์ง ํ๋จํ๊ฒ ๋๋ค
๋ค์์ ํ ๊ฒ
- ๋ชฌ์คํฐ : ์ถฉ๋์ฒ๋ฆฌ ์ ๋๊ณ ์๋์ง ํ์ธํด๋ณด์
- ์ ํฌ์์ ์ด๋์๋๊ฒ ์ฒ๋ฆฌ
728x90'UnrealEngine > SomedayProject' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ