본문 바로가기
Unreal Engine5/게임 만들기 - Warehouse Wreckage

Unreal Engine Aming Projectile, Pawn

by wanna_dev 2023. 6. 28.

1인칭 슈팅게임에서 Aming을 하는 방법에 대해서 써보려고 합니다.

 

1. 플레이 버튼을 누른 후 F8키를 눌러서 캐릭터에서 탈출

가운데 위치한 구체를 DefaultPawn이라고 한다.
player start

언리얼 엔진에서는 기본적으로 사용자를 위해 시작 시 Scene안에 Pawn을 Spawn하고 Player라는 Scene안에 액터가 주어진 위치에 배치한다.

Pawn은 위치를 얻는데 사용할 수 있기 때문에 1인칭 슈팅게임의 aiming에 사용될 수 있다. 즉, 총알이 생성될 위치를 정의하는데 Pawn을 사용할 수 있다.

 

Get Player Pawn

Input Pin : 싱글플레이에서 Index 0은 첫번째이자, 유일한 플레이어

Return Value : Pawn Object Reference 

Actor의 Location을 받아올 수 있다. 

-x축으로 총알 발사

 

이제 Rotation을 적용해야합니다. 

총알 방향을 확인하기위한 scale 

Get Actor Rotation 노드 검색 후, 

SpawnActor BP Projectile 의 Spawn Transform Rotation과 연결

하지만, Pawn이 현재 카메라의 이동과 별개라서 Rotation이 이루어지지 않는 상황이다.

따라서, Get Control Ratation노드로 바라보는 방향에서 Spawn되도록한다.

 

총알 방향에 따른 설정 : 게임 수학과 관련한 글은 게임 수학 카테고리에 따로 정리하도록 하겠습니다.

Spawn된 총알에, Query를 주면 된다.

먼저, SpawnActor BP Projectile 노드의 Return Value에서 전방벡터(Forward Vector)를 가져온다.

하지만, Forward Vector의 크기는 1이므로 multiply node를 추가해줘야하며, 핀을 Float로 변환해주어야한다. 후, 4000을 입력하여 Impulse Node에 연결해준다.

완성된, Blueprint