본 트랜스폼 변경하기

1000·2021년 5월 17일
0
post-thumbnail

1. 애님 그래프에서 본 트랜스폼 변경하기

이전에 앞뒤로 갈때 애니메이션 시퀀스를 재생하는 작업을 했었는데
좌우로 움직일 때는 본 트랜스폼을 회전하여, 다리가 회전하는 걸로 표현해보고자 합니다.

Hips 본이 최상위 본이라 회전시키면 모든 본들이 회전되고
그 바로 아래 본이 Spine인데 이 본을 회전 시키면 상체가 회전됩니다.

그래서 다리를 회전 시키기 위해서는 Hips본을 30도 회전시키고,
그 아래 Spine본을 -30도 회전 시키면 다리가 회전되는 효과가 나타나게 됩니다.

애니메이션 블루프린트에서 LowerRotation 변수를 추가합니다.
이벤트 그래프에서 MoveRight와 30을 곱한 값을 LowerRotation에 넣어줍니다.
MoveRight는 MoveForward와 마찬가지로 캐릭터 액터에서 받아온 값이며,
MoveRight는 -1~1값입니다.

애님 그래프에서 스테이트 머신 결과값을 컴포넌트로 변경하고 본 트랜스폼을 변경해줍니다.

LowerRotation 값을 벡터로 만들어 Hips본에는 그대로 넣어주고
Spine본에는 부호를 반대로 바꿔 넣어줍니다.

2. 앞뒤 이동 없이 좌우 이동 처리하기

앞뒤 이동이 없이 좌우 이동만 하면 애니메이션 시퀀스가 Idle로 재생됩니다.
그래서 Idle 상태에서 다리만 회전하는 현상이 있고
조건을 걸어 MoveRight 값이 있는데 MoveForward값이 없다면
강제로 MoveForward 값을 1로 변경시켜 줍니다.

3. 회전값 보간하기

LowerRotation값을 그대로 사용하면 회전할때 모션이 튀는 현상이 있어
Interp 기능일 이용하여 LowerRotation을 보간시켜 줍니다.

profile
Game Programming

0개의 댓글