만들어진 캐릭터를 움직여보자
우선 캐릭터와 카메라를 월드 내에 배치 하고 머티리얼을 적용 해 보았다. 이제 만들어진 캐릭터에 움직임을 부여해 보자.
우선 컨트롤러를 추가하자.
캐릭터를 움직이기 위해 필요한 컨트롤러를 먼저 추가하도록 하자.

C++ 클래스로 플레이어 컨트롤러를 추가하고,

블루프린트 클래스로 상속시켜 주었다.
이제 움직임을 부여하기 위한 IA와 IA를 통제하기 위한 IMC를 만들어 주자.

이는 이전에 블루프린트로 캐릭터를 만들 때에도 생성을 했었는데, 그 때와 비슷하게 만들어 주었다.

키를 눌러서 작용하는 Jump와 Sprint는 bool타입으로 설정하고,

좌우측으로 움직이는 Move와 Look은 X축과 Y축만 사용하는 Vecter2D 타입으로 설정을 해 주었다.
이제 IMC에 키와 타입을 입력하도록 하자.

다음과 같이 각각의 행동에 맞는 키를 설정하고, 필요에 따라 값을 조금씩 수정했다.

특히 카메라의 회전을 움직이는 Look의 인덱스는 Y값만 부정을 해 주었다. Y값을 부정하지 않으면 마우스와 카메라의 상하 움직임이 반전이 된다.
코드를 작성하자.

우선 지금까지 생성한 IA와 IMC를 플레이어 컨트롤러 헤더 파일에 작성 해 주고,

소스 파일에 nullptr로 정의 해 주었다.
또한, BeginPlay함수를 정의해 시작할 때 지금 생성한 IMC 매핑콘텍트를 사용하도록 설정했다.
이제 캐릭터를 움직일 수 있게 코드를 작성 해 주면 된다.
우선, 캐릭터의 헤더파일에

구현할 행동들을 하나씩 정의 해 주었다.
또한, 달리기 기능을 구현하기 위해 속도 변수들을 추가했다.
이제 헤더 파일인데, 우선 Enhanced Input System을 활용해 이전에 PlayController를 사용하게 설정했다.


위와 같이 추가해서 설정한 컨트롤러를 사용하게 했다.
이제 캐릭터의 움직임을 작성했다.


캐릭터의 X축과 Y축 움직임, 점프와 시야, 달리기까지 구현을 전부 해 주었다.

캐릭터의 이동과 점프, 시야까지 구현이 잘 된 모습이다.
마치며
블루프린트로 처음 설정할 때는 어렵지만 초보자도 생각보다 쉽게 할 수 있다고 생각했었는데, C++ 코드로 작성을 하려니 더 어렵고 복잡하게 느껴졌다.