세상에나...! 게임엔진은 역시나 이런 것도 된다.
하체는 걷고 있으며 상체만 공격 애니메이션을 재생(움직이면서 공격하는 애니메이션 -> 무빙 어택 )할 수 있는 방법을 알아내버렸다...
스켈레톤을 반을 지워버려서 하면 되나 싶어 스켈레톤을 삭제했더니 캐릭터 하반신이 아예 날아가버려서 새로 만들어야 했던 슬픈 사연 등 다양한 시도를 해보았는데 구글링을 통해 레이어 애니메이션이라는 것을 알아버렸다. 역시 구글은 대단해!!
정확한 설명을 원한다면 언리얼 레이어 애니메이션을 검색하자
애니메이션 편집하기(자르기)
애니메이션을 복사하여 무빙 어택용 몽타주를 만들어 보자.
기존 공격모션을 복사하여 새로 만들었다. 하나는 Idle(대기) 상태에서 공격할 때이며 새로 만든 애니메이션의 경우에는 무빙 어택을 할 때 사용할 애니메이션이다.
무빙 어택을 위한 애니메이션을 더블클릭하여 해당 편집창에서 마우스 오른쪽 버튼을 눌러 시퀀스 편집의 프레임 제거를 눌러서 필요 없는 부분을 모두 삭제했다. 삭제하
는 부분은 알아서 잘 딱 깔끔하고 센스있게 하면 된다!
본인은 해당 부분만 남기고 다 제거해버렸다!!
제거를 완료 했다면 완성한 애니메이션을 몽타주로 만들어주자!
걷는 도중 기본 공격을 하지 못하게 만들자.
isMove라는 변수를 만들어 이용하자
isMove라는 Bool형식의 변수를 추가하여 마우스를 누르는 동안만 이동 중임을 알려줄 수 있게 하였다.
BP_Player에도 다음과 isMove가 False일때만 공격할 수 있게 하였다.
이렇게 만들게 되면 플레이어가 걷는 도중에는 공격을 할 수 없으며 Idle상태일 때만 공격 버튼을 사용할 수 있게 된다.
걷는 도중 공격모션 집어넣기
1. 공격 도중 움직일 수 없게 하기
2. 움직이는 중일 때 다른 몽타주 재생하게 하기
해당 노드의 위치는 BP_PlayerController이며 Idle 상태에서 공격하는 도중 움직임을 방지하기 위해 해당 노드들을 추가하였다.
IsAttack이 False일 때 ( 공격 중이 아닐때 )만 isMove(움직임)를 할 수 있게하며 공격 중이면 불가능 하게 만드는 구조이다.
해당 노드의 위치는 BP_Player이며 isMove가 True (움직이고 있을 때) 일때 다른 몽타주를 재생하는 방식이다.
기존에 만들었던 움직이지 않을 때 하는 공격과 마찬가지로 커스텀 이벤트와 몽타주의 새 노티 파이, 애니메이션 블루프린트의 이벤트 그래프를 이용해 움직이는 도중 무한 공격이 이루어지지 않게 제작한다.
전에도 해본 거니 까먹지 말도록 하자!
실행해 보면 다음과 같은 결과가 나올 것이다.
Idle 상태에서 공격하는 것과 Move중일 때 공격하는 모션이 다른 것을 확인할 수 있다.
하지만 무빙 어택 도중 발이 굉장히 어색한 것을 확인할 수 있는데 이걸 고쳐볼 예정이다.
'Unreal 21 > Game Make Study' 카테고리의 다른 글
UE4_08. 플레이어 움직이면서 공격 / 부위별 애니메이션 (2) (0) | 2022.01.07 |
---|---|
UE4_06. 플레이어 공격 (0) | 2021.12.23 |
UE4_05. 블렌드 스페이스 (0) | 2021.12.14 |
UE4_04. 캐릭터 대기 / 움직이기 애니메이션 설정 (0) | 2021.12.13 |
UE4_03. 마우스 커서 보이게 하기 (0) | 2021.12.10 |