Player의 Move Animation을 만들 때, BlendSpace2D를 통해 Player의 Speed와 Direction값을 받아와서 그에 따른 Animation을 재생시킨다.

이렇게 플레이어의 움직임을 제어할 경우, Speed값은 0에서 500으로 고정되고, 좌우 Direction값은 -180도에서 180도 사이를 움직이기에 한 번씩 Animation이 튀는 현상이 발생한다.
이를 해결하기 위해 위 방식을 통해 구한 속도와 방향값을 토대로 Player의 움직임을 좀 더 세분화하고자 한다.

위 방식을 통해 구한 Direction값은 Player의 움직임에 따라 아래와 같은 값을 반환한다.
Forward : 0 / Back : 180
Right : 90 / Left : -90
Forward Right : 45 / ForwardLeft : -45
Back Right : 135 / BackLeft : -135
이렇게 나오는 값이 각 방향에 따라 완전히 반전되는 값을 반환하기에 해당 값에 Sin, Cos 값을 곱해서 Player의 앞뒤, 좌우에 대한 방향값을 구하는 것이다.

Forward값은 Cos을 통해, Right값은 Sin을 통해 구한다. 이는 각각 Forward, Right일 경우 1을 반환하고, Back, Left일 경우, -1을 반환한다.
속도값은 Player가 앞으로 움직일 경우, 무조건 MaxWalkSpeed의 값과 같아지기에 이 둘을 곱함으로써 Player의 움직임을 좀 더 세분화할 수 있다.