본문 바로가기

UnrealEngine

[UnrealEngine]FPS 게임 만들기(1)

반응형
unreal

[UnrealEngine]FPS 게임 만들기(1)

언리얼 엔진을 통해 FPS 게임을 만드는 프로젝트를 진행하고자 한다. 해당 내용은 언리얼엔진 블로그에서 제공하는 MVP FPS의 유투브 영상을 참고하여 작성하였다.

 

1. 프로젝트 생성

proj

Blank 프로젝트, 최대퀄리티, 시작용 콘텐츠 없음, 프로젝트이름을 지정하고 우측 하단의 프로젝트 생성 클릭

 

2. 폴더 생성

2

하단의 콘텐츠 브라우저에서 콘텐츠 폴더 하위에 Blueprint, Character, Maps 폴더 생성

 

3. 블루프린트 클래스 생성

3

Blueprint 폴더 내에 게임모드를 위한 블루프린트를 생성한다.

 

4

Game Mode Base를 클릭하면 생성 완료. 이름은 FPS-GameMode로 지어준다.

 

이와 같은 방법으로 Character 폴더 내부에 CharacterPlayerController 블루프린트를 생성한다.

6

 

4. 입력 설정

캐릭터 이동을 위한 키보드 입력을 설정한다.

6

 

7

Axis Mappings 하위에 입력 키 및 Scale을 지정해준다.

 

  • Action Mappings : on/off 시키는 토글키나 특정 동작을 수행하는 키(ex: 점프, 발사)
  • AxisMappings : scale을 지정하여 이동하는 키

 

5. 컨트롤 블루프린트 작성

현재 CharacterController 두개 다 생성했다. 캐릭터를 움직이는 로직은 사실 어디에 들어가도 상관없다. 지금은 CharacterContoller에 작성한다.

9

Controller 블루프린트 더블클릭

 

이벤트 그래프 탭으로 이동. 작성되어 있는 BeginPaly 이벤트와 Tick 이벤트는 삭제한다.

 

4에서 입력 설정으로 작성한 MoveForward 이벤트를 추가한다.

 

 

 

MoveForward에 대한 이벤트 노드를 모두 연결하면 다음과 같은 모양이 된다. MoveRight도 동일한 방법으로 노드를 만들어준다.

 

 

6. 마우스 방향 전환

현재 설정으로는 정면을 보며 움직일 수 밖에 없다. 마우스 이동을 통해 화면 전환을 하도록 설정해보자.

프로젝트 세팅 - 입력에서 Axis Mappings에 마우스 Y, 마우스 X 입력을 추가한다. 여기서 마우스 Y의 Scale 값을 -1.0으로 설정했는데 이렇게 해야 마우스를 위로 올렸을때 하늘을 보고 아래로 내리면 땅을 보게된다.

 

FPS-Controller 블루 프린트에 마우스 입력에 대한 노드를 추가한다.

 

7. 게임 모드 설정

게임 플레이를 위해 게임 맵을 설정해보자.

 

FPS-GameMode의 블루 프린트에서 Classes - Default Pawn Class를 우리가 작성한 FPS-Character로, Classes - Player Controller Class를 FPS-Controller로 변경한다.

 

파일 - 모두 저장을 클릭하여 Maps 폴더에 FPS-Map으로 저장한다.

 

프로젝트 세팅 - 맵 & 모드로 이동한다. 여기서 Default Modes - Default GameMode를 우리가 작성한 FPS-GameMode로 선택한다. Defualt Maps도 모두 FPS-Map을 선택한다.

 

플레이를 선택하면 맵을 이동해볼 수 있다.

 

8. 마무리

플레이를 하는데 한가지 문제가 있다. 화면을 바닥을 향하게 하면 이동 속도가 느려지게 된다. 이를 수정해보자.

 

FPS-Controller의 이벤트 그래프에서 Get Control Rotation의 Return Value 우클릭, 구조체 핀 분할 클릭한다.

 

Get Forward Vector 역시 구조체 핀 분할을 해주고, Z 값끼리 연결해준다. 이 작업을 MoveRight에도 해준다.

 

 

 

 

 

 

반응형