본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-24

이제 사망 애니메이션을 실제 게임플레이랑 연결해보자.

전에 선언했던 bool 타입 변수인 Is Dead을 통해 사망 여부를 판별하기 위해 VScode에서 사망 여부를 판별하고 리턴해주는 블루프린트로 노출 가능한 함수를 작성해줄 필요가 있다.

 

블루프린트에 노출시키기 위해서는 UFUNCTION을 작성해주면 되고, 안에 내용은 BlueprintPure를 작성해주었다.

BlueprintPure의 의미는, C++의 const와 유사하지만 더 강력한 의미로 간단하게는 실행핀이 없는 함수를 뜻한다.

더 자세히 말하자면 실팽 핀이 없는 함수는 보통 호출하는 대상에 아무 영향을 끼치지 않고 결과만 받는 다는 것을 뜻한다.

 

예시로 속도를 얻기 위해 사용했던 Get Velcoity 함수 등이 있다.

해당 함수 자체는 단지 속도만 얻을 뿐 실제 게임플레이에는 아무런 영향을 미치지 않는다.

 

해당 함수의 구현은 매우 간단하다.

우리는 이미 캐릭터 클래스에 캐릭터의 체력을 나타내는 Health 변수가 있기에, 해당 체력이 0이하인지 체크하여 bool 타입으로 반환해주면 된다.

 

이제 컴파일하고 해당 함수를 블루프린트에서 호출하여 블루프린트의 IsDead의 값을 변경해보자.

슈터캐릭터에 속한 함수이기에 Cast를 통해 슈터캐릭터로 먼저 바꿔줄 필요가 있다.

 

이제 총을 쏴서 체력을 0으로 만들면 사망 애니메이션이 실행된다.