Crouch Turn in Place Anim BP
이제 애니메이션을 적용해보자.
그전에 리타겟팅을 한 애니메이션을 약간 수정해줄 것이다.
우리는 애니메이션 자체가 회전하며 이동하는 것을 원하지 않는다.
따라서 회전만 하도록 고쳐보자.
끝 부분으로 가서 루트를 90도 돌려서 정면을 바라보도록 만들자.
그리고 해당 부분에 키를 설정해주었다.
이를 맨 앞부분에서도 앞을 바라보도록 각도를 수정해주자.
이후 오른쪽 회전에 대해서도 똑같이 작업해주자.
이제 이렇게 얻은 제자리 (이동 x) 회전 애니메이션을 가지고 애니메이션 블루프린트에서 적용시켜줄 것이다.
먼저 CoruchIdle 스테이트에서 Layered blend Per Bone 함수를 생성해주자.
그리고 스테이트 머신을 하체 상체에 관해 2개 만들어줄 것이다.
기본적으로 상체는 따로 변하는 것이 없기에 기존에 사용하던 Crouching 애니메이션을 그대로 사용해주면 된다.
이제 하체에 대해서이다.
제자리 왼쪽/오른쪽 회전에 대해 스테이트가 필요하다.
먼저 각 스테이트에 애니메이션 부터 할당해주자.
이제 전환 조건을 설정해주자.
먼저 Crouch -> Crouch_Turn_Left이다.
제자리에 있는 경우이기에 스피드는 0보다 작고, 왼쪽 회전이기에 -90도가 넘어야하고, 공중에 있으면 안된다.
Root Yaw Off set 값을 참고하기에 90도보다 클 때를 체크하게 된다.
Crouch -> Crouch_Turn_Right의 경우도 거의 똑같다.
Root Yaw Off set 체크하는 부분만 -90보다 작아야 하는지 체크하게 된다.
반대로 Crouch_Turn_Left -> Crouch 전환 조건도 만들어주자.
여기서는 And 조건의 반대이다.
우선 첫 번째로 애니메이션이 끝나가는지 (비율이 0.1 이하인지) 체크하고, Speed가 0 보다 큰지, Root Yaw Offset 값이 0보다 작은지, 공중에 있는지 를 체크하며 하나만 할당해도 회전 애니메이션이 끝나게 된다.
이어서 Crouch_Turn_Right -> Crouch 전환 조건이다.
나머지는 동일하고 Root Yaw Off set 값이 0보다 큰 것을 체크하는 것만 다르다.
근데 이 상태로 컴파일하고 실행하면 우리가 수정했던 제자리 애니메이션의 형태를 보게 된다.
이는 우리가 커브 곡선 및 메타 데이터 값을 설정 안 했기 때문에 발생한 문제이다
기존에 저장했던 이름을 이용하여 생성해주자.
(포인트 값 [0, -90] / [0.6, -45] / [1.2, 0])
마찬 가지로 Right에 대해서도 해주자.
(포인트 값 동일)
그리고 컴파일 하면 무사히 웅크리고 회전 애니메이션이 동작한다.
근데 다소 느려보여서 Play Rate를 조절하여 조금 더 빠르게 동작하도록 하였다.
그리고 앉아서 사격을 할 때 반동이 상당히 강해보인다.
이를 blend 해주는 부분의 비율을 낮춰주자.
해당 비율은 지금은 하드코딩으로 낮춰주었지만 특정 자세에 따라 반동을 달리해줄 것이다.
이는 이어지는 강의를 통해 학습하게 된다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-16~18 (0) | 2024.09.07 |
---|---|
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-15 (0) | 2024.09.06 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-13 (0) | 2024.09.04 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-12 (0) | 2024.09.04 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-11 (0) | 2024.09.04 |