UE5 창고 부수기

Chaco22·2023년 7월 13일

UE5

목록 보기
1/8
post-thumbnail

액터 스폰과 임펄스 추가


발사체 BP_projetile을 생성, 블루프린트 작업을 통해 액터가 스폰하고 임펄스를 받을 수 있도록 설정해준다.

SpawnActor를 통해 발사체를 x : 60, y : 0, z : 120에 스폰되도록 설정해주고 Add Impulse를 생성하여 위쪽으로 600의 힘을 받도록 설정해주었다. 또한 Vel Change 체크박스를 활성화하여 물체의 무게는 무시한채 600의 힘을 받는다.

발사체를 바라보는 전방에 발사


Get Player Pawn응 이용해 폰의 위치와 바라보는 방향을 가져온다.
Get Acter Forward Vector를 활용 폰이 바라보는 방향으로 4000을 곱해 임펄스를 적용하여 발사해준다.

지오메트리 액터배치를 통한 공간과 빈 공간 만들기


지오메트리 박스 액터로 Walls를 생성한 뒤 WallsSubtract를 만들어 WallsSubtract의 브러시 타입을 Subtractive로 바꾸어 빈공간을 만들어주었다. 창문도 같은 방식으로 만들어 복사, 벽 양쪽에 창문을 만듦.!

액터 컴포넌트 하나로 합쳐 선반 만들기


선반 틀의 StaticMeshComponent에 선반을 드래그하여 하나의 액터로 만들어 주었다. 이 때 선반틀은 RootComponent로서 부모 컴포넌트가 되고 선반은 자식 컴포넌트로서 부모의 위치를 기준으로 위치가 0, 0, 0 으로 표시된다.

충돌 메시를 활용하여 액터를 안정시킨다


드럼통을 쌓아놓고 게임을 진행시키면 드럼통들이 제자리에 있지않고 날아가거나 튕기는 현상이 발생한다. 보통 그 이유는 드럼통의 메시가 복잡해 언리얼이 충돌을 계산할 때 붙어있는 액터에서 많은 충돌이 발생하거나 액터의 질량이 낮아 안정적으로 그 자리에 있지 못하는 것이다.

콘텐츠 드로어에 있는 드럼통을 더블클릭하여 드럼통의 메시창으로 들어가 콜리전을 1차적으로 제거해준 뒤 10면체 Z 단순화 콜리전을 추가하여 메시를 휠씬 단순하게 만들어주었다.

함수 생성 및 사용


발사체를 한정적으로 제한하기 위해 레벨 블루프린트에서 Ammo 함수를 Int로 생성 이 후 함수의 값을 알려주는 Get과 함수의 값을 바꿔주는 Set 그리고 빼기 기능을 이벤트를 가져와 처음에 총알의 갯수가 20개 있다는 것을 알려주고 발사때마다 줄어드는 총알의 갯수를 보여준다.

참과 거짓을 따져 다른 이벤트를 수행하는 Branch


총알이 0개가 됐을 때 발사되는것을 방지하기 위하여 Branch와 Greater을 사용해서 Ammo의 갯수가 0보다 클 때 총알을 발사 거짓이면 Out of Ammo를 출력하도록 만들어주었다.

블루프린트 함수로 접기 이용해서 정리


반복되는 구간이나 확실한 역할을 가진 이벤트들을 모아 함수로 접고 이름을 붙인다. 반복되어 사용되는 함수는 재활용하여 복잡한 블루프린트를 정리한다.

게임 다시 시작하기


총알을 다 사용한 뒤 메세지가 뜨면 5초 뒤 게임을 다시 시작하게 만들기로 한다.
먼저 Delay 이벤트를 사용하여 메세지가 뜨고 5초를 기다려준 뒤 현재 레벨을 반환하는 이벤트와 새 레벨을 여는 이벤트를 조합하여 현재의 레벨이 다시 시작하게 만들어준다.

0개의 댓글