언리얼 - 게임 개발

첫 게임 개발 (3) _ 넉백 및 패배시 애니메이션 구현

earth-star 2024. 6. 18. 15:12

 

맞았을 때 반짝임과 무적시간을 할당하기 위해서 BP_Player에 TriggerInvincibility함수를 만들고  위와 같이 콜리전을 일시적으로 Ignore로 바꾸어 무적을 구현한다.

 

BP_ActionChar_Base에 넉백을 구현하였다. 길어서 노드로 접었으며 내용은 아래와 같다.

 

때리는 대상과 맞는 대상의 위치를 구해 Find Look at Rotation함수를 통해 방향벡터를 구하고 Launch Character함수로 밀어내어 넉백을 구현한다. 수평으로 미는 힘과 수직으로 미는 힘을 변수로 할당하여 각 Pawn마다 다른 변수를 입력할 수 있도록 하였다.

 

 

Stun구현을 위하여 StateMachine에 Jump선을 만들어 Stun상태를 만들었다.

 

 

Stun에서 Idle로 이동하는 조건은 위와 같이 애니메이션의 남은 시간으로 구현하면 된다.

 

 

BP_Player에서 이벤트 디스패처로 defeat를 받아 Dead함수를 호출한다. 사망하는 애니메이션을 플레이하도록 하고 카메라 페이드함수로 화면이 어두워지고 다시 밝아지는 상태를 만들고 restartplayer함수로 캐릭터가 다시 리스폰되도록 만들었다.

 

 

잘 동작하는 것을 볼 수 있다.