Choose your operating system:
Windows
macOS
Linux
여기서는 간단한 캐릭터를 만들고 입력을 받도록 구성한 다음, GameMode 에 캐릭터를 할당하여 게임플레이 도중 기본 폰이 되도록 해 주겠습니다. 캐릭터 구성에 익숙하거나 입력받도록 하고픈 캐릭터가 있(고, GameMode 에 그 캐릭터를 사용하도록 구성되어 있)는 경우, 캐릭터 생성 부분은 건너뛰고 바로 새 입력 생성 및 구현 부분으로 넘어가셔도 됩니다.
간단한 캐릭터 만들기
여기서는 입력을 할당할 수 있는 캐릭터를 만들겠습니다 (이미 캐릭터 블루프린트 가 있으신 경우, 이 단계는 건너뛰어도 됩니다).
이 예제에서는 시작용 콘텐츠 포함 기본 프로젝트 템플릿을 사용합니다.
-
프로젝트 안에서 Shapes 아래 Shape_NarrowCapsule 셰이프에 우클릭한 다음 애셋 액션 - 다음을 사용해서 블루프린트 생성... 을 선택합니다.
그러면 이 간단한 캐릭터를 제어할 수 있게 됩니다.
-
Blueprints 폴더 안에서 새로 생성된 블루프린트를 연 다음, 파일 - 블루프린트 부모변경 옵션을 선택합니다.
블루프린트의 클래스를 Actor 에서 Character 로 변경해 줘야 합니다.
-
나타나는 팝업창에서 Character 옵션을 선택합니다.
-
블루프린트 창 우상단에서 컴포넌트 탭을 클릭합니다.
-
컴포넌트 창 아래 컴포넌트 탭에서 컴포넌트 추가 를 선택한 다음 Spring Arm 을 추가합니다.
Spring Arm 컴포넌트는 그 자손과의 거리를 부모에서 고정된 거리만큼으로 유지하다가, 충돌이 있으면 자손을 오므리고, 없으면 스프링처럼 원래 자리로 돌아갑니다. 이 경우 자손을 Camera 로 하여 삼인칭 관점을 만들도록 하겠습니다.
-
Spring Arm 을 선택한 채로, 디테일 아래 rotation (회전)을 검색합니다.
-
Camera Settings 아래 Use Pawn Controller Rotation (폰 카메라 회전 사용) 옵션을 체크합니다.
-
컴포넌트 추가 버튼을 다시 한 번 누른 다음 Camera 를 추가한 뒤, Spring Arm 컴포넌트에 끌어 놓습니다.
그러면 Spring Arm 의 자손이 됩니다.
-
Camera 를 선택한 채로, 트랜스폼 아래 위치 와 회전 값을 0 으로 설정합니다.
-
StaticMesh1 컴포넌트를 선택한 다음, 디테일 아래 위치 의 Z 값을 -90.0 으로 설정합니다.
-
컴파일 , 저장 후 블루프린트를 닫습니다.
게임 모드를 만들어 단순한 캐릭터를 사용하기
단순한 캐릭터를 만들었으니, 게임 모드 를 만들어 새 캐릭터를 사용하라고 해 줘야 합니다.
-
콘텐츠 브라우저 에서 생성 버튼을 클릭한 다음, 블루프린트 옵션을 선택합니다.
-
뜨는 팝업창에서 게임 모드 버튼을 클릭합니다.
-
이름을 지은 다음 게임 모드 블루프린트를 열고 디폴트 탭을 클릭합니다.
-
디폴트 탭에서 Classes 섹션 아래, Default Pawn Class 드롭다운을 선택한 다음 새로 만든 캐릭터를 선택합니다.
-
컴파일 , 저장 후 블루프린트를 닫습니다.
-
메인 에디터 창에서 메뉴 바의 편집 - 프로젝트 세팅 을 클릭합니다.
이제 프로젝트에 새로 만든 게임모드 를 사용하도록 해 주겠습니다.
-
프로젝트 세팅 에서 맵 & 모드 옵션을 선택합니다.
-
맵 & 모드 아래 Default Modes 에서 Default GameMode 드롭다운을 선택한 다음 만든 게임 모드 를 선택합니다.
새 입력 만들기 (액션/축 매핑)
여기서는 프로젝트에 새 액션 및 축 매핑 을 추가한 다음 캐릭터에 할당하는 데 대한 안내입니다.
-
프로젝트 세팅 메뉴에서 엔진 아래 입력 옵션을 클릭합니다.
-
Bindings 아래 Action Mappings 와 Axis Mappings 옆의 + 부호를 클릭한 다음 아래 구성을 재현합니다.
-
아래와 같이 빈 매핑을 채웁니다.
여기서 각 매핑에 이름을 짓고 각 매핑에 대해 입력을 할당합니다. 강조된 Scale 값은 -1.0 으로 설정했는지 확인합니다. 축 값을 종합할 때 키 값에 대한 배수 역할을 (하여 반대 방향을 구할 수 있도록) 합니다.
블루프린트에서 액션/축 매핑 구현하기
프로젝트 세팅 을 통해 입력을 만든 이후에는, 블루프린트 안에서 그 입력을 호출할 수 있습니다. 여기서는 간단한 캐릭터 (또는 직접 만드신 캐릭터)에 대한 그 입력 세팅을 구현해 보겠습니다.
-
프로젝트 안에서 입력을 할당하고자 하는 캐릭터 블루프린트 ( Shape_NarrowCapsule ) 를 엽니다.
-
블루프린트 안에서, 그래프 아무데나 우클릭 한 다음 Turn 을 검색한 뒤 Turn Axis Event 를 추가합니다.
-
Axis Value 를 끌어 놓고 Yaw 를 검색한 다음 Add Controller Yaw Input 노드를 선택합니다.
-
그래프에 우클릭 한 다음 LookUp Axis Event 를 추가합니다.
-
Axis Value 를 끌어 놓은 다음 Pitch 를 검색하고 Add Controller Pitch Input 노드를 추가합니다.
-
그래프에 우클릭 한 다음 Jump Axis Event 를 추가합니다.
-
Pressed 핀을 끌어 놓은 다음 Jump 함수를 검색합니다.
-
그래프에 우클릭 한 다음 MoveForward Axis Event 를 추가합니다.
-
Axis Value 를 끌어 놓은 다음 Add Movement Input 노드를 추가합니다.
-
그래프에 우클릭 한 다음 MoveRight Axis Event 를 추가합니다.
-
Axis Value 를 끌어 놓고 Add Movement Input 노드를 추가합니다.
이벤트가 추가되었지만, 여전히 각각에 대한 방향을 지정해 줘야 합니다.
-
그래프에 우클릭 한 다음 Get Control Rotation 을 검색합니다.
-
Return Value 를 끌어 놓은 다음 Break Rot 노드를 추가합니다 (회전을 피치, 요, 롤 로 나눕니다).
-
Yaw 핀을 끌어 놓고 Make Rot 노드를 추가합니다 (Pitch, Yaw, Roll 에서 회전을 만듭니다).
-
Make Rot 노드에 우클릭 한 다음 Break link to Break Rot (Yaw) 를 선택합니다.
Pitch 와 Roll 은 0 으로 만들고 Yaw 만 유지하면 됩니다.
-
Break Rot 의 Yaw 를 Make Rot 의 Yaw 에 연결합니다.
-
Make Rot 의 Return Value 를 끌어놓은 다음 Get Forward Vector 와 Get Right Vector 노드를 추가합니다.
-
Get Forward Vector 를 MoveForward Event 이벤트에 묶인 World Direction 에 연결합니다.
-
Get Right Vector 를 MoveRight Event 이벤트에 묶인 World Direction 에 연결합니다.
시퀀스가 위와 같은 모습일 것입니다.
-
컴파일 , 저장 후 블루프린트를 닫습니다.
-
에디터에서 플레이합니다.
이제 우리가 만들었던 캡슐 캐릭터 (또는 선택하신 캐릭터)로 씬을 돌아다니면서 점프할 수 있을 것입니다.