[Unreal_블루프린트]#20_Magical Attack
Unreal 블루프린트 개발 중 "Wizard Mode"에 대해 알아보겠습니다.
"블루 프린트" 활용에 대한 내용입니다.
Fire Ball
1. Hand Fire Ball 블루프린트 생성
Hand Fire Ball은 Player의 Combat Mode가 "Wizard"일 때 장착하는 일종의 Actor입니다!
2. Fire Ball 블루프린트 생성
Fire Ball은 무기로써 활용됩니다!
3. Skeleton에 Socket 추가
같은 Particle System 템플릿이지만, 장착 용(Hand_Fireball)과 투척 용(Throw_Fireball)으로 구분합니다!
4. 투척 용 Fireball의 Use Local Space 해제
투척 용 Fireball은 "Use Local Space" 체크를 해제해줍니다!
Hand Fireball (장착용 Fireball)
1. BeginPlay 이벤트 추가 구현
1. HandFireBall 변수 생성
BP_HandFireBall을 참조하는 변수를 생성합니다.
2. Spawn Actor By Class
다뤘던 내용이라서, 간단히 줄이면 Blueprint 클래스를 특정 위치에 Spawn합니다!
3. Attach Actor To Component
다뤘던 내용이라서, 간단히 줄이면 Actor를 Mesh의 특정 Socket 이름에 Attach 합니다!
4. Set Actor Hidden In Game
Actor의 Visibility를 컨트롤할 수 있습니다. 여기선 Hidden을 체크했습니다!
2. Start Wizard Mode + End Wizard Mode 추가 구현
1. Start Wizard Mode
Character의 Combat Mode가 Wizard로 변경되면 그 즉시 Actor의 Hidden 설정을 해제
2. End Wizard Mode
Character의 Wizard Mode가 끝나면 그 즉시 Actor의 Hidden 설정을 체크
Throw Fire Ball (투척 용 Fireball)
1. Throw Fireball 커스텀 이벤트 구현
1. Throw Fire 커스텀 이벤트 생성
2. Spawn Actor By Class 구현
Mesh의 특정 Socket Name에 Attach 한 Hand_Fireball과 다르게, 투척 용 Fireball은 특정 Socket 위치에 Spawn만 할 수 있도록 구현합니다.
2. Wizard Attack 노티파이 생성 및 추가
1. AN_WizardAttack
간단하게 BP_Player의 Throw Fire를 호출하도록 합니다.
2. AM_Wizard_Attack_1
앞서 생성한 노티파이를 적당한 타이밍에 추가해줍니다.
3. Projectile Movement 컴포넌트 추가
1. Projectile Movement
Tick이 도는 동안 다른 컴포넌트의 위치를 Update 합니다. Initial Speed와 Max Speed를 설정할 수 있습니다.
Velocity를 설정하면 "UpdateComponent"의 현재 속도를 지정할 수 있습니다. 다만, Initial Speed가 '0'이 아니라면, Velocity는 방향으로 처리됩니다.
4. Life Span 지정
1. Life Span
Life Span을 지정하지 않으면, 무한히 날아가는 발사체가 되므로, Play 시작 시점에 Life Span을 지정합니다.
5. On Component Begin Overlap
1. On Component Begin Overlap
Actor에 미리 생성한 Sphere Collision 컴포넌트의 충돌 처리를 위한 On Component Begin Overlap 이벤트를 생성합니다.
2. Spawn Emitter at Location
Actor의 충돌이 발생하면 Explosion Particle System을 Spawn 시킵니다.
3. Apply Damage
Self(자신)을 제외한 다른 Actor가 충돌하면, 대미지를 전달합니다. Apply Damage의 자세한 내용은 아래 링크를 참조해주세요.
4. Destroy Actor
충돌이 발생해 Spawn Emitter at Location까지 실행되었다면, Actor를 World에서 Destroy 합니다.
* 복잡해 보이지만 간단한 내용들입니다!
'게임개발 > Unreal 블루프린트' 카테고리의 다른 글
[Unreal_블루프린트]#21-2_Interface, No Combo (1) | 2022.09.25 |
---|---|
[Unreal_블루프린트]#21-1_Interface, Combo (0) | 2022.09.25 |
[Unreal_블루프린트]#19_Wizard Animation (0) | 2022.09.15 |
[Unreal_블루프린트]#18_Combat Style, Sword Mode, Wizard Mode (0) | 2022.09.14 |
[Unreal_블루프린트]#17_Particle System, Trailer, 공격 이펙트 (0) | 2022.09.14 |