내배캠 TIL

[내배캠 TIL 2551202] UnrealEngine 플레이어블 캐릭터 만들기

xodn246 2025. 12. 2. 19:47

 오늘은 지난시간에 학습한 BluePrint 를 기반으로 간단하게 플레이어블 캐릭터를 만들어 보았다. 블루프린트 오브젝트를 생성할때 다양한 종류의 타입이 있는데 플레이어블 캐릭터를 제작할 때 사용할 수 있는 타입은 Actor, Pawn, Character 세가지이다.

  Actor는 기본적인 게임 오브젝트를 의미한다. 다양한 컴포넌트를 붙여 Actor가 어떻게 행동하게 할지 제어할 수 있다. 플레이어 캐릭터를 만들때 잘 사용되지는 않는다. 플레이어블 캐릭터는 주로 Pawn 또는 Character 타입을 사용하게된다. Pawn의 경우 플레이어나 AI 가 제어할 수 있는 모든 액터의 베이스가 된다. 플레이어나 AI 가 제어할 수 있도록 기본적인 기능들이 들어있는 오브젝트이다. Charater의 경우 Pawn과 유사하나 점프나 비행등의 행동을 제어하고 애니메이션을 처리할 수 있도록 도와주는 더욱 정교한 오브젝트이다. 이제부터 Charater 타입을 사용해 플레이어블 캐릭터를 만들예정이다.

 

 BluePrint 를 생성 후 원하는 캐릭터 메쉬를 선택해 캐릭터를 추가해준다. 이번에는 교육용 키트에 들어있는 캐릭터를 사용해 제작해보았다.

  캐릭터 메쉬를 추가해 캐릭터를 추가했다면 캡슐 컴포넌트를 선택한 후 디테일에서 캡슐 컴포넌트의 크기를 캐릭터 크기에 맞게 조절해 준다.

  마지막으로 스프링 암을 추가해 준뒤 스프링암 하위에 카메라를 넣어주면 기본적인 플레이어블 캐릭터 제작 세팅이 완료된다. 이제부터는 키맵핑과 블루프린트를 활용해 캐릭터를 조작할 수 있도록 해줄것이다.

 

  우선 컨텐츠 브라우저에 Input 폴더를 생성한 뒤 키맵핑을 위해 필요한 InputAction 과 Input Mapping Context를 생성해 준다. 이때 InputAction은 파일 이름앞에 'IA_ '를, Input Mapping Context 파일에는 'IMC_' 입력해 헷갈리지 않도록 해주자. InputAction은 입력값을 어떤값으로 줄것인지를 선택하는 파일이고, Input Mapping Context 는 말 그대로 InputAction 을 입력 키에 맵핑 시켜주는 역할을 한다.

 

  InputAction 파일을 열어서 ValueType에 원하는 입력 타입을 골라주도록 하자. 입력타입에는 Digita, Axis1D, Axis2D, Axis3D 가 있다. Digital은 불리언(Bool)값을, 나머지는 각각 x, xy, xyz 의 입력값을 입력받을 수 있는 타입이다.

 

  입력값 타입을 정했다면 Input Mapping Context 파일을 켜서 InputAction에 맵핑할 키를 할당해주면 간단하게 키맵핑이 완료된다. 이때 입력받는 값에 변화를 주려면 Modifiers 에서 원하는 옵션을 선택해 주면 된다.

 

 

  키맵핑이 완료되었다면 블루프린트에서 맵핑된 이벤트를 불러와 캐릭터 이동함수에 값을 할당해 위와같이 블루프린트를 작성해 캐릭터를 3D 공간에서 움직이고 점프할 수 있도록 만들 수 있다.