243's 게임&애니메이션 Archive

unreal engine

언리얼 엔진 커스텀 게임모드 만들기

243 2022. 5. 17. 17:16

언리얼 엔진  커스텀 게임모드 만들기

언리얼 4.27

 

 

----------------------

 

~안읽어도 되는 부분~

 

 

 

블루프린트의 종류

 

레벨 블루프린트

 

  • 게임의 모든 레벨에 하나씩 있는 블루프린트다.

 

클래스 블루프린트 액터

 

게임모드 블루프린트

 

—------

 

블루프린트 간 통신

 

직접통신 1:1

BPI 1:N(예상되는 블루프린트들에게만)

이벤트 디스패쳐

형변환

 

str_이름

int_나이

float_키

float_몸무게

bool_차량 소유 여부

str_주소

 

플레이 모드 중 독립형 게임은 최종 결과물에 가깝다

시뮬레이트 모드는 플레이 모드와 캐릭터를 생성하지 않기 때문에 

레벨 탐색용으로 쓰인다.




—--------


여기서부터 게임모드 만들기

 

 

 

 

게임모드를 만들기 위해 캐릭터 블루프린트를 생성한다.

일단 생성만 하고 넘어가도 되고 캐릭터 암거나 만들어줘도 됨.

 

 

 

프로젝트 세팅 - 입력 탭에서 액션 맵핑, 축 맵핑을 할 수 있다.

+로 항목을 생성하고 행위 이름을 써준 뒤 어떤 키를 입력하면 출력할지를 정해준다.


액션 맵핑은 점프나 어택 등 처럼 특정 키를 누르면 특정 행동이 출력되는 방식이고

축 매핑은 기준점이 있고 축 스케일에 따라 행위가 이어지는(?) 것이다.

 

위의 이미지에서 Jump라는 행위를 왼쪽 Ctrl을 누르면 출력하도록 설정을 해준 것이고

LookUp은 마우스 Y축으로 설정한 것이다.

 

이런식으로 마우스y축과 lookup값을 같이 움직이도록 엮은 것이다.

 

 

 

행위와 키를 대응시켜주었으면 플레이어 컨트롤러 블루프린트 만들어서 메커니즘을 짜줘야한다.

(우리가 입력한 lookup turn등등이 무슨 행위를 일으켜야 하는지 정의해주는 과정이다.)

 

시점 회전은 간단한 편이다.

아까 비행기 사진에서 나왔던 것처럼 위아래는 Pitch이고 Turn(좌우)는 Yaw이기 때문에 

이렇게 연결해주면 끝이다.

 

프로젝트 세팅에서 lookup이랑 turn을 입력해줬기 때문에 블루프린트에 @@@입력 축 노드를 불러올 수 있는 것이다.

 

 

캐릭터 이동은 더 복잡하다.




 

게임모드 베이스 블루프린트 만들어서 밑줄 친거를 아까 만든 게임모드, 캐릭터 블루프린트로 교체한다.

캐릭터, 컨트롤러 등등 설정한 것을 게임모드라는 큰 바탕으로 엮어주는 것이다.




 

컴파일 한 후 프로젝트 세팅에서 게임모드를 방금 만든 블루프린트로 바꿔준다.

디폴트 게임모드로 되어있기 때문에 본인이 만든 것으로 바꿔줘야 해당 게임모드로 플레이할 수 있다.



 

 

플레이해보면 설정한 키대로 움직인다. 캐릭터는 기본 구체로 해놓았다.