
적 공격모션을 만들기 위해 Attack 애니메이션을 몽타주로 만들어준다.
나중에 추가하면 귀찮으니 attack와 death 두개를 추가하도록한다
애니메이션 마우스오른쪽 버튼 -> 생성 -> 애님몽타주생성


그 뒤에 Enemy의 블루프린트를 깔끔하게 정리하고 상태에 따른 각각의 함수를 구현해 주기 위해
블루프린트 - 블루프린트 - 열거형 을 생성하여 Idle(대기), Follow(이동), Attack(공격), Die(사망), Impact(피격)
5가지의 상태를 구분하여 만들어 줄 수 있도록 한다.
![]() |
![]() |
기존에 만들었던 캐릭터 움직임 부분을 다음과 같이 수정하였다.
변수로 EnumState(변수 유형은 만들어준 열거형의 이름으로한다)를 생성하고 Update Distance 앞에 EnemyEnumState에 따른 스위치를 추가하여준다. 그 뒤 이동 부분과, 이동후 움직임 부분을 따로 구분하여 만들어준다.
공격부분도 추가하였다. AddMovementInput 뒤에 플레이어와의 거리가 200정도일 경우에 State를 Attack(공격)으로 바꾸어주고 PlayAnimMontage를 사용하여 만들어준 공격 몽타주를 재생시켜준다. 이렇게 되면 플레이어를 따라온 뒤 공격을한다.

실행해 보면 한가지 문제가 발생하는데, 공격을 한번 시행한 뒤 플레이어를 따라오거나, 공격하지 않는다. 그래서 다음과 같은 행동을 하지 않기 위해 Bool형식의 IsAttack라는 변수를 생성하였다.

공격 애니메이션 몽타주 뒤에 Set is Attack를 설정하여주고 체크하여준다.

또한 State의 Attack부분에 다음과 같은 함수를 추가한다.
Attack중이 아니며, 플레이어와의 거리가 다음과 같을 경우에 State를 Follow로 바꾸어주는 형식이다.

그리고 애님 몽타주가 다시 재생될 수 있게 CustomEvent로 다음과 같은 함수를 만들었다.
거리가 다음과 같을 경우에 Attack중이 아니면 Idle, 맞다면 몽타주를 다시 재생시켜주고
IsAttack문을 다시 켜주는 형식이다. 그 뒤에 처음에 만들어준 애니메이션 블루프린트의 이벤트 그래프에 해당 커스텀 이벤트를 실행 시켜 주면 된다. Enemy 블루프린트를 형변환 하여 다음과 같은 커스텀 이벤트를 실행시켜주는 형식이다.

실행을 하면, 적은 플레이어를 계속 공격하며, 플레이어가 이동하면 다시 플레이어를 따라오게 된다.
다음은 플레이어의 공격에 대해 적어볼 예정이다.
'Unreal 20' 카테고리의 다른 글
| 9. 적군 피격 (0) | 2020.07.08 |
|---|---|
| 08. 플레이어 공격 (0) | 2020.07.06 |
| 06. 적 이동 (0) | 2020.07.04 |
| 05. 캐릭터 이동 (2) | 2020.06.29 |
| 04. 카메라 설정 (0) | 2020.06.29 |

