블루프린트 입력 구성 하우투

블루프린트에 입력을 구성하는 하우투 안내입니다.

Windows
MacOS
Linux

여기서는 간단한 캐릭터를 만들고 입력을 받도록 구성한 다음, GameMode 에 캐릭터를 할당하여 게임플레이 도중 기본 폰이 되도록 해 주겠습니다. 캐릭터 구성에 익숙하거나 입력받도록 하고픈 캐릭터가 있(고, GameMode 에 그 캐릭터를 사용하도록 구성되어 있)는 경우, 캐릭터 생성 부분은 건너뛰고 바로 새 입력 생성 및 구현 부분으로 넘어가셔도 됩니다.

간단한 캐릭터 만들기

여기서는 입력을 할당할 수 있는 캐릭터를 만들겠습니다 (이미 캐릭터 블루프린트 가 있으신 경우, 이 단계는 건너뛰어도 됩니다).

이 예제에서는 시작용 콘텐츠 포함 기본 프로젝트 템플릿을 사용합니다.

  1. 프로젝트 안에서 Shapes 아래 Shape_NarrowCapsule 셰이프에 우클릭한 다음 애셋 액션 - 다음을 사용해서 블루프린트 생성... 을 선택합니다.

    Input2_1.png

    그러면 이 간단한 캐릭터를 제어할 수 있게 됩니다.

  2. Blueprints 폴더 안에서 새로 생성된 블루프린트를 연 다음, 파일 - 블루프린트 부모변경 옵션을 선택합니다.

    Input_2.png

    블루프린트의 클래스를 Actor 에서 Character 로 변경해 줘야 합니다.

  3. 나타나는 팝업창에서 Character 옵션을 선택합니다.

  4. 블루프린트 창 우상단에서 컴포넌트 탭을 클릭합니다.

  5. 컴포넌트 창 아래 컴포넌트 탭에서 컴포넌트 추가 를 선택한 다음 Spring Arm 을 추가합니다.

    Input2_3.png

    Spring Arm 컴포넌트는 그 자손과의 거리를 부모에서 고정된 거리만큼으로 유지하다가, 충돌이 있으면 자손을 오므리고, 없으면 스프링처럼 원래 자리로 돌아갑니다. 이 경우 자손을 Camera 로 하여 삼인칭 관점을 만들도록 하겠습니다.

  6. Spring Arm 을 선택한 채로, 디테일 아래 rotation (회전)을 검색합니다.

  7. Camera Settings 아래 Use Pawn Controller Rotation (폰 카메라 회전 사용) 옵션을 체크합니다.

    Input2_4.png

  8. 컴포넌트 추가 버튼을 다시 한 번 누른 다음 Camera 를 추가한 뒤, Spring Arm 컴포넌트에 끌어 놓습니다.

    Input2_5.jpg

    그러면 Spring Arm 의 자손이 됩니다.

  9. Camera 를 선택한 채로, 트랜스폼 아래 위치회전 값을 0 으로 설정합니다.

    Input_7.png

  10. StaticMesh1 컴포넌트를 선택한 다음, 디테일 아래 위치Z 값을 -90.0 으로 설정합니다.

    Input_6.png

  11. 컴파일, 저장 후 블루프린트를 닫습니다.

게임 모드를 만들어 단순한 캐릭터를 사용하기

단순한 캐릭터를 만들었으니, 게임 모드 를 만들어 새 캐릭터를 사용하라고 해 줘야 합니다.

  1. 콘텐츠 브라우저 에서 생성 버튼을 클릭한 다음, 블루프린트 옵션을 선택합니다.

  2. 뜨는 팝업창에서 게임 모드 버튼을 클릭합니다.

    Input_8.png

  3. 이름을 지은 다음 게임 모드 블루프린트를 열고 디폴트 탭을 클릭합니다.

  4. 디폴트 탭에서 Classes 섹션 아래, Default Pawn Class 드롭다운을 선택한 다음 새로 만든 캐릭터를 선택합니다.

    Input2_9.png

  5. 컴파일, 저장 후 블루프린트를 닫습니다.

  6. 메인 에디터 창에서 메뉴 바의 편집 - 프로젝트 세팅 을 클릭합니다.

    Input2_10.png

    이제 프로젝트에 새로 만든 게임모드 를 사용하도록 해 주겠습니다.

  7. 프로젝트 세팅 에서 맵 & 모드 옵션을 선택합니다.

  8. 맵 & 모드 아래 Default Modes 에서 Default GameMode 드롭다운을 선택한 다음 만든 게임 모드 를 선택합니다.

    Input2_11.png

새 입력 만들기 (액션/축 매핑)

여기서는 프로젝트에 새 액션축 매핑 을 추가한 다음 캐릭터에 할당하는 데 대한 안내입니다.

  1. 프로젝트 세팅 메뉴에서 엔진 아래 입력 옵션을 클릭합니다.

  2. Bindings 아래 Action MappingsAxis Mappings 옆의 + 부호를 클릭한 다음 아래 구성을 재현합니다.

    Input_12.png

  3. 아래와 같이 빈 매핑을 채웁니다.

    Input2_13.png

    여기서 각 매핑에 이름을 짓고 각 매핑에 대해 입력을 할당합니다. 강조된 Scale 값은 -1.0 으로 설정했는지 확인합니다. 축 값을 종합할 때 키 값에 대한 배수 역할을 (하여 반대 방향을 구할 수 있도록) 합니다.

블루프린트에서 액션/축 매핑 구현하기

프로젝트 세팅 을 통해 입력을 만든 이후에는, 블루프린트 안에서 그 입력을 호출할 수 있습니다. 여기서는 간단한 캐릭터 (또는 직접 만드신 캐릭터)에 대한 그 입력 세팅을 구현해 보겠습니다.

  1. 프로젝트 안에서 입력을 할당하고자 하는 캐릭터 블루프린트 (Shape_NarrowCapsule) 를 엽니다.

  2. 블루프린트 안에서, 그래프 아무데나 우클릭 한 다음 Turn 을 검색한 뒤 Turn Axis Event 를 추가합니다.

    Input2_14.png

  3. Axis Value 를 끌어 놓고 Yaw 를 검색한 다음 Add Controller Yaw Input 노드를 선택합니다.

    Input_15.png

  4. 그래프에 우클릭 한 다음 LookUp Axis Event 를 추가합니다.

  5. Axis Value 를 끌어 놓은 다음 Pitch 를 검색하고 Add Controller Pitch Input 노드를 추가합니다.

    Input_16.png

  6. 그래프에 우클릭 한 다음 Jump Axis Event 를 추가합니다.

  7. Pressed 핀을 끌어 놓은 다음 Jump 함수를 검색합니다.

    Input2_17.png

  8. 그래프에 우클릭 한 다음 MoveForward Axis Event 를 추가합니다.

    Input2_18.png

  9. Axis Value 를 끌어 놓은 다음 Add Movement Input 노드를 추가합니다.

  10. 그래프에 우클릭 한 다음 MoveRight Axis Event 를 추가합니다.

  11. Axis Value 를 끌어 놓고 Add Movement Input 노드를 추가합니다.

    Input2_19.png

    이벤트가 추가되었지만, 여전히 각각에 대한 방향을 지정해 줘야 합니다.

  12. 그래프에 우클릭 한 다음 Get Control Rotation 을 검색합니다.

    Input2_20.png

  13. Return Value 를 끌어 놓은 다음 Break Rot 노드를 추가합니다 (회전을 피치, 요, 롤 로 나눕니다).

  14. Yaw 핀을 끌어 놓고 Make Rot 노드를 추가합니다 (Pitch, Yaw, Roll 에서 회전을 만듭니다).

    Input2_21.png

  15. Make Rot 노드에 우클릭 한 다음 Break link to Break Rot (Yaw) 를 선택합니다.

    Input2_22.png

    PitchRoll 은 0 으로 만들고 Yaw 만 유지하면 됩니다.

  16. Break RotYawMake RotYaw 에 연결합니다.

  17. Make RotReturn Value 를 끌어놓은 다음 Get Forward VectorGet Right Vector 노드를 추가합니다.

  18. Get Forward VectorMoveForward Event 이벤트에 묶인 World Direction 에 연결합니다.

  19. Get Right VectorMoveRight Event 이벤트에 묶인 World Direction 에 연결합니다.

    Input_23.png

    시퀀스가 위와 같은 모습일 것입니다.

  20. 컴파일, 저장 후 블루프린트를 닫습니다.

  21. 에디터에서 플레이합니다.

이제 우리가 만들었던 캡슐 캐릭터 (또는 선택하신 캐릭터)로 씬을 돌아다니면서 점프할 수 있을 것입니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼