프로그래밍 공부
작성일
2024. 3. 4. 17:56
작성자
WDmil
728x90

이번에는 Sowrd를 추가한것과 마찬가지로 같은 방법으로, FistAnimationd을 추가한다.

 

새롭게 추가하는 애니메이션 이지만, 전에 구축해놓았던 애니메이션의 로직으로 인해 많은 수정사항이 발생하지 않고 애니메이션만 독립적으로 추가할 수 있다는 점에 주목하자.


BP_Fist

우선, BP_Sword를 복사해서, BP_Fist를 만들어준다.

 

이 무기를 장착하면, 상태를 Fist로 바꾸고, BP_Fist의 공격모션을 사용하게 할 것이다.

 

기본적인 구현도 이다. Collision의 위치를 4개 지정해서, Sphere Collision을 4개 생성하여, 양손, 양발에 장착할 수 있도록 한다.

 

그렇기 때문에, 지금까지 무기를 들면 플레이어에서 장착위치를 지정하였지만, 무기에서 장착 위치를 정의해주어야 한다.

부모를 참조하여, Attach를 할 수 있도록 해준다.

그리고, 그 위치를 만들어놓은 mesh의 sorket에 박아준다.


Enum & Combo System & ABP

 

Sword에서 사용했던, Enum과 ComboSystem을 새롭게 만들어준다.

우선 플레이어의 Enum을 수정하여, Fist상태값을 만들어준다.

무기 상태값을 지정하였다면, 이제 Fist의 Combo테이블을 수정한다.

주먹질 애니메이션의 몽타주를 생성하여, 해당 몽타주를 지정해주고, 움직임 여부와 실행시간을 지정한다.

 

대강 수정은 끝났으니, 이제 블랜드 스페이스를 생성하여, Fist를 들었을 때의 블랜드 스페이스를 지정해준다.

 

위 애니메이션을 ABP에서 수정해준다.

Enum을 수정하였음으로, Fist포즈를 추가할 수 있다.


몽타주의 Combo시스템 구현

 

몽타주에 Sword에서 사용한것 과 같은 AnimNotify를 사용해 콤보의 여부, Collision의 활성화 여부 등을 사용해서 지정해준다.

전부 끝났다면, 이제 BP_Player에서 Fist의 사용을 위해 무기를 지정하고, 키입력을 정한다.

무기중 한개의 종류로 지정하였음으로, 문제없이 무기의 적용과 사용이 이루어진다.

 

기본적인 수정사항은 끝났다. 이와같이 지정하고, 콤보시스템을 적용하면 공격 애니메이션이 출력되고, Collision처리가 정상적으로 지정된다.


테스트

 

 

사전설정을 객체지향적으로 해놓으면 다음 동작이나, 비슷한 과정을 추가할 때 매우 쉽고 효과적으로 추가해줄 수 있다.

728x90