3인칭 FPS 게임에서 플레이어가 조준을 위해 화면을 이리저리 돌림에 따라 플레이어 캐릭터의 총구 방향 역시 그 방향에 맞게 이동을 해서 발사했을 때 좀 더 실감나는 구현을 할 수 있다. 예를 들어 위를 향해 발사할 때나 땅을 향해 발사할 때나 같은 각도에서 발사가 되는 것은 바람직하지 않을 것이다.
언리얼 엔진에서는 Aim Offset
을 애니메이션에 적용함으로써 구현할 수 있다.
Aim Offset은 1프레임짜리 애니메이션으로, 바라보는 pitch 각도와 yaw 각도에 따라 캐릭터의 조준 이동을 구현할 수 있게 한다.
위를 바라보는 애니메이션, 아래를 바라보는 애니메이션, 오른쪽을 바라보는 애니메이션 등등 다양한 애니메이션을 통해 이러한 blend space를 직접 만들 수도 있고, 어떤 친절한 에셋들의 경우 Aim Offset을 제공하는 경우도 있다.
직접 만들 경우 Center, Left, Right로 좌우 이동과, Center, Up, Down의 상하 이동 총 9개의 애니메이션이 필요할 것이다.
Actor Rotation과 Controller Rotation을 빼서 현재 바라보고 있는 방향의 pitch 값을 구할 수 있다. 이 값을 변수에 할당하고, 그 변수가 blend space상에서 움직일 수 있게 하면 될 것 같다.
따라서 최종 애니메이션은 다음과 같은 형태가 된다.