모션 워핑은 캐릭터의 루트 모션이 타깃과 일치시켜 준다.

캐릭터가 북쪽을 바라보고 공격을 하고있는데 공격이 끝나는 동시에 키보드를 왼쪽을 누르면 공격하면

왼쪽을 바라보고 공격을 할 수 있게 해준다.

먼저 플러그인에서 모션워핑을 찾아 추가해주고 재시작을 해주었다.

C++에서도 사용할수 있도록 모듈을 추가해 주었다.

 

캐릭터 클래스에 MotionWarpingComponent를 추가해주고 생성자에서 메모리 할당을 시켜주고

외부에서 쓸수있게 Get함수를 만들어주었다.

 

어빌리티 능력에 UpdateMotionWraping 함수를 만들어주고 KatanaBaseAttack 블루프린트에 UpdateMotionWarping함수 노드를 가져와 사용해주었다.

 

그런다음 KatanaAttackMontage에서 노티파이구간에 모션워핑을 추가시켜고 모션워핑에 대한 옵션을 세팅해주었다.

TargetName은 TargetWarp로하고 캐릭터가 방향만 바꿀것이라 Translation은 체크를 풀고 Warp Rotation만 체크를 해주고 Type은 Facing으로 해주었다.

 

이제 실행을 해보면 아래의 동영상처럼 캐릭터가 때리고 난 후 키보드 방향을 바꾸고 때리면 도중에 방향을 바꿀 수 있게 되었다.

 

캐릭터가 움직일때 너무 딱딱해보여 SpringArm의 기능중 카메라 랙을 설정해서 카메라를 스무스하게 움직이는 설정을 추가해 좀 자연스럽게 만들어 주었다.

 

+ Recent posts