Fire
탱크는 발사체를 발사해야 하지만, 아직 이와 관련된 함수가 없다.
우리는 프로젝트 세팅에서 액션 매핑으로 Fire가 마우스 좌클릭으로 있었던 것을 알고 있기에, 여기에 바인드할 함수를 구현해주어야 한다.
해당 함수 자체는 터렛과 탱크 모두에게 필요하다.
따라서 베이스폰에서 해당 함수를 구현하게 된다.
탱크에서는 입력을 통해 발사가 이루어지기에 바인드 작업이 필요하다.
축 매핑의 경우 BindAxis 함수를 통해 바인드 작업을 해줬지만, 액션 매핑의 경우 BindAction 함수를 통해 바인드 작업을 하게 된다.
동작 매핑은 축 매핑과 다소 다른데, 우선 동작 매핑은 일회성이기에 모든 프레임에서 실행되지 않는다.
또한 축 매핑의 스케일 값과 같은 인풋 매개 변수가 존재하지 않는다.
버튼이 눌렸는지 아닌지의 유무로만 판단하게 된다.
따라서 BindAction의 경우 함수에서 인풋 매개 변수로 버튼을 눌렀을 때 함수가 작동될지, 버튼을 뗐을 때 함수가 작동될지에 대한 값을 받게 된다.
이제 Fire 함수를 구현해야 하는데, 일단은 간단하게 DrawDebugSpehre 함수를 통해 발사 여부를 체크하도록 했다.
발사지점의 경우 우리가 컴포넌트로 만들어준 것이 있기에, GetComponentLocation 함수로 해당 위치를 가져온다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-22 (0) | 2024.04.06 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-21 (0) | 2024.04.06 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-19 (0) | 2024.04.05 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-18 (0) | 2024.04.05 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-17 (0) | 2024.04.04 |