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

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

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. 에디터에서 플레이합니다.

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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback