Skelectal Mesh로 FBX를 import할 경우, 크게 Material, Physics, Skeletal, Skeleton이 생성
처음 Import한 Material은 Texture가 지정되어 있지 않을 수도 있음. 직접 Diffuse Texture를 지정한 후, Skeletal Mesh에 Material을 지정하여 Texture 적용
Character의 Capsule Collistion과 Model Mesh를 일치시킨 후, spring arm과 camera 배치
Input에 따른 이동 적용
위 코드의 경우 컨트롤러의 Yaw값을 기준으로하는 Forward Vector를 받아와서 그 방향으로 Character를 이동시키는 함수
위 코드의 경우 Mouse의 이동값에 따른 Controller를 회전시키는 함수
이때, Spring Arm의 폰 제어 회전 사용을 false해야지 Mouse이동에 따른 Camera의 회전을 적용할 수 있음
마지막으로 Character Movement Component에서 무브먼트 방향으로 회전 조정 설정을 해주면 Player가 이동하고자 하는 방향으로 Character가 회전하며 움직임
Animation은 State Machine을 통해 적용하는 것이 편리함
Animation Blueprint 역시 Blueprint이므로 원하는 방식대로 Coding할 수 있음
위 코드는 Animation이 BP_Barbarous에서만 사용한다는 가정하에 필요한 값을 설정하면서 시작
이후, 매 Tick마다 Character의 이동 속도를 Update
Character의 현 Speed에 따라 Animation State 변경
다수의 Animation을 상태값에 따라 보간 처리하는 클래스
Speed에 따라 Walk에서 Run까지 Animation의 보간 계산
이후, 위에서 설정한 Animation State Machine에 의해 Speed값을 받아와 적절한 Animation 출력
Unreal의 장점이라면 역시 자세하게 분리된 Component를 빼놓을 수 없을것이다.
다만, 이에 익숙하지 않은 사람에게는 어디서 어떤 설정을 건드려야 원하는 결과를 얻을 수 있을지를 고민하지 않을 수 없을 것이다.
Character를 이동 방향으로 바라보게 하기위해 약 2시간의 시간을 소모했다.
Character Movement Component가 이동을 담당하는 Component라는걸 알면서도 주의깊게 살펴보지 못한 문제였다.