본문 바로가기

Unreal/Udemy 강의

Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-21

Swap Weapon

이제 무기를 바꿔보자.

이를 위해 트레이스한 아이템에 대해서 알아야 한다.

이에 대한 변수를 선언해주자.

 

함수 또한 생성해주자.

인풋 매개 변수는 Awepon* 타입이다.

 

무기를 바꾸기 위해서는 기존 무기를 떨어뜨려야한다.

따라서 DropWeapon() 함수를 호출하고, 이어서 EquipWeapon() 함수를 호출하여 새로운 무기를 장착하자.

그러면서 TraceHitItme과 TraceHiItemLastFrame 값을 nullptr로 바꿔주자.

기존에 추적하던 무기를 이제 장착한 상태이기에 다시 새로운 무기를 장착하기 위해 초기화해주는 것이 좋다.

 

그리고 SelectButtonReleased 함수를 이용하여 SwapWeapon() 함수를 호출해주자.

E를 누르면서 무기를 버리고, 트레이스 한 아이템에 대해서 스왑을 시도하게 된다.

 

추가적으로 TraceHitItemLastFrame 변수 값이 nullptr로 바뀜에 따라 장착한 무기에 대해 위젯이 뜨게 된다.

이 부분을 상태 관련 부분을 통해 보이지 않도록 바꿔주자.

 

다음으로 TraceForItems() 함수를 살펴보자.

여기서 트레이스한 아이템을 로컬 변수로 저장했었는데, 이 부분에 새로 선언한 변수인 TraceHitItem으로 바꿔주자.

 

맵에 배치한 총기가 장착하고 있는 총기가 똑같아서 맵에 배치한 총기의 메테리얼을 바꿔주었다.

 

바꿔준 모습

 

 

스왑한 모습