슈팅게임에서 탄환을 발사할 때 하드코딩으로 스폰과 동시에 틱으로 앞으로 날려주거나 할수도 있겠지만 언리얼에선 또다시 편리한 기능을 제공한다. 바로 프로젝타일이다. 프로젝타일 무브먼트를 이용하면 액터를 간단하게 탄환처럼 앞으로 날려줄 수 있다.
프로젝타일 클래스 작성

전용헤더를 추가해주고

프로젝타일 무브먼트 컴포넌트를 선언해주고

컴포넌트를 정의해준다.

그 후 발사기로 사용할 클래스에서 스폰해주면

탄이 발사된다.
응용
탄피, 투척무기 등등 응용할 방법은 많지만 그중에서도 이번에 시도해본건 탄착군이다.
발사가 될 때마다 조금씩 발사각도를 다르게 해서 명중률 요소를 만들었다.

먼저 사용할 변수들을 선언 및 정의해준다. 숫자가 작아질수록 명중률이 올라가는데,
입력자 입장에서 직관적이가 않아서 1-처리를 해줬다.

처음 부분에서 소켓 또는 메시가 없을 경우를 대비해 액터의 위치를 기본 위치로 정한다음,
유효체크를 한 뒤 소켓의 위치를 덮어씌워줬다.
그리고 변수와 위치값을 기반으로 VRandCone을 이용해 각도를 매번 범위내에서 흩어지게했다.



매번 탄착 위치가 달라진다.
'게임 개발 공부 > 언리얼엔진' 카테고리의 다른 글
| UE5 | C++ - 수류탄 만들기 (0) | 2025.02.25 |
|---|---|
| UE5 | c++ - ProjectileMovement->SetUpdatedComponent() (0) | 2025.02.24 |
| UE5 | C++ - FPlatformTime::Second() (2) (0) | 2025.02.19 |
| UE5 | C++ - FPlatformTime::Seconds(); (0) | 2025.02.17 |
| UE5 | C++ - FTimerHandle (0) | 2025.02.13 |