[Unreal_블루프린트]#23_Weapon Change, Scroll 액션 이벤트
Unreal 블루프린트 개발 중 "Weapon Change" 구현에 대해 알아보겠습니다.
"블루 프린트" 활용에 대한 내용입니다.
Scroll 액션 매핑
1. Scroll 액션 매핑 추가
Player
1. Skills(F_WizardSkill) 배열 생성
1. Skill(BP_WizardSkill 타입)
BP_WizardSkill을 상속하는 BP_WizardSkill_Heal, BP_WizardSkill_Warp, 그리고 BP_WizardSkill_Throw 중 하나를 담도록 합니다.
2. ThrowItem(BP_ThrowItem)
BP_ThrowItem을 상속하는 BP_Fireball과 BP_Iceball 중 하나를 담을 수 있겠죠.
2. Skill 배열 초기화
1. "배열 만들기"
"F_WizardSkill" 구조체에 정보를 담아서 배열을 생성합니다. 이때, ThrowItem 클래스는 Skill 이 "BP_WizardSkill_Throw"일 때만 가능하므로 그 외 Skill들은 Throw Item 클래스를 별도로 지정하지 않습니다.
3. Scroll Up + Scroll Down 액션 이벤트
1. Switch 문 -> Wizard
당연하게도, Combat Type이 Wizard일 때만 Scroll Up 그리고 Scroll Down 액션 이벤트를 호출하도록 해줍니다.
4. Wizard Skill Selection 구현
* 실제로 굉장히 복잡하기 때문에 세부 사항들을 순차적으로 알아보겠습니다.
1. Scroll Index (int) 변수 생성
먼저, Scroll Index 변수를 생성합니다. 쉽게 말해, Scrol Index는 "Skill" 종류들의 Index를 의미합니다. Up(Scroll Up)이 발생하면 증가하고, Down(Scroll Down)이 발생하면 감소합니다. 이때, 변수의 최소 값은 0이 되고, 최대 값은 3이 됩니다. 당연히 총 4개의 Wizard Skill(Heal, Warp, Throw_Fireball, Throw_Iceball)이 존재하기 때문이죠.
2. Cast To WizardSkill_ThrowOn Select 이벤트 호출은 추후에 UI 생성 후에 다루겠습니다. 최종 선택된 Scroll Index 값을 갖고 "Skills(Wizard Skill들을 담고 있는 배열)"에 접근하여 특정 Index 값의 항목이 "BP_WizardSkill_Throw"라면 추가적인 세부 스킬 선택이 필요합니다! 따라서, "BP_WizardSkill_Throw"가 맞다면, "BP_ThrowItem_Fireball"과 "BP_ThrowItem_Iceball" 중 하나를 선택해 "BP_WizardSkill_Throw"의 "Throw Item"을 무엇으로 할지 결정하겠죠.
3. Change Skill or Change Skill + Change Item(Throw Item)캐스팅이 성공하면 BP_Wizard의 "Change Skill" 호출과 함께 새로운 "Throw Item"을 BP_WizardSkill_Throw의 "Change Item" 함수 호출과 함께 인자로 넘겨줍니다. 당연하게도, 캐스팅이 실패했다면 Change Skill만 호출해줍니다.
'게임개발 > Unreal 블루프린트' 카테고리의 다른 글
[Unreal_블루프린트]#25_Fist Attack 구현, 맨손 공격 (0) | 2022.09.27 |
---|---|
[Unreal_블루프린트]#24_Skill UI (0) | 2022.09.26 |
[Unreal_블루프린트]#22_Wizard Skills (1) | 2022.09.26 |
[Unreal_블루프린트]#21-2_Interface, No Combo (1) | 2022.09.25 |
[Unreal_블루프린트]#21-1_Interface, Combo (0) | 2022.09.25 |