에임 오프셋(Aim Offset) 은 애니메이션 샘플이 애디티브 인 블렌드 스페이스 타입입니다. 일반적으로 에임 오프셋은 디폴트 에이밍 포즈에 추가로 적용되는 다방향 무기 조준 블렌드 구조체를 생성하는 데 사용됩니다.
전제조건
- 프로젝트에 에임 오프셋 그래프에서 샘플로 사용할 필수 애니메이션 및 포즈가 임포트되어 있는 스켈레탈 메시 캐릭터가 있어야 합니다.
- 에임 오프셋이 블렌드 스페이스 타입인 만큼, 블렌드 스페이스에 대해 이해하고 있어야 합니다.
개요
에임 오프셋의 주요 콘셉트는 기존 베이스 애니메이션에 추가로 적용되도록 설계되었다는 것입니다. 무기 조준 예시에서 이 베이스 애니메이션은 일반적으로 '전방을 조준하는' 중립 애니메이션이 될 것입니다.
이 베이스를 바탕으로 에임 오프셋 그래프 내에 전체 범위의 애디티브 포즈를 구현할 수 있습니다. 필요한 포즈 수는 캐릭터에 무기를 조준하는 데 필요한 모션에 따라 달라집니다. 전형적인 에임 스페이스 샘플 시스템은 아래와 같은 모습일 것입니다.
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| 오른쪽 위 후방 | 오른쪽 위 | 위 | 왼쪽 위 | 왼쪽 위 후방 |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| 오른쪽 후방 | 오른쪽 | 베이스 | 왼쪽 | 왼쪽 후방 |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| 오른쪽 아래 후방 | 오른쪽 아래 | 아래 | 왼쪽 아래 | 왼쪽 아래 후방 |
생성 및 구성
콘텐츠 브라우저(Content Browser)에서 에임 오프셋을 생성하려면, + 추가(Add) 를 클릭하고 컨텍스트 메뉴에서 애니메이션(Animation) > 에임 오프셋(Aim Offset) 또는 에임 오프셋 1D(Aim Offset 1D) 를 선택합니다. 새 에임 오프셋을 생성할 때는 스켈레톤 에셋을 지정해야 합니다. 에임 오프셋과 함께 사용하려는 스켈레탈 메시에서 사용하는 것과 같은 스켈레톤 에셋을 선택해야 합니다.
새로 생성한 에임 오프셋을 열어 구성을 계속합니다.
베이스 포즈 구성
에임 오프셋은 애디티브 애니메이션 샘플과 함께 사용하도록 설계되었으므로 애디티브 행동을 제대로 프리뷰하려면 재생할 베이스 애니메이션을 설정해야 합니다. 그러려면 에셋 디테일(Asset Details) 패널의 프리뷰 베이스 포즈(Preview Base Pose) 프로퍼티로 이동하여 재생할 애니메이션 에셋을 지정합니다.
에임 포즈 참조하기
블렌드 스페이스와 마찬가지로, 에임 오프셋도 블렌딩 그래프 내에서 애니메이션 샘플을 참조하여 생성됩니다. 가장 쉬운 방법은 에셋 브라우저(Asset Browser) 패널에서 그래프로 애니메이션을 드래그하는 것입니다.
에임 오프셋 시스템을 생성할 때는 요(좌우) 모션을 어떻게 애니메이팅할 수 있을지 신경 써야 합니다. 예를 들어, 위에서 볼 수 있는 예시 포즈는 캐릭터가 가만히 서 있을 때는 괜찮아 보일 것입니다. 하지만, 달리기나 걷기 같은 다른 애니메이션 스테이트 중에 재생을 허용하면 문제가 발생할 수 있습니다.
이 문제를 완화하려면 애니메이션 블루프린트를 사용하여 에임 오프셋에 들어오는 데이터를 제한함으로써 캐릭터가 움직이지 않을 때만 좌우 익스트림이 사용되도록 할 수 있습니다. 아니면 에임 오프셋을 캐릭터가 위아래만 조준하도록 변경하여 실제 캐릭터의 회전이 좌우 모션을 처리하도록 할 수 있습니다.
메시 스페이스 애디티브
애니메이션 샘플이 에임 오프셋과 함께 작동하려면 애니메이션이 애디티브이고 애디티브 애님 타입(Additive Anim Type) 이 메시 스페이스(Mesh Space) 로 설정되어 있어야 합니다. 왜냐하면 에임 오프셋은 애디티브인 애니메이션만 허용하기 때문입니다.
이렇게 설정하려면 에임 오프셋에 사용되는 모든 애니메이션 시퀀스(Animation Sequences) 를 엽니다. 해당 에셋 디테일(Asset Details) 패널에서 다음 프로퍼티를 찾아 설정합니다.
- 애디티브 애님 타입 을 메시 스페이스(Mesh Space) 로 설정합니다.
- 베이스 포즈 타입(Base Pose Type) 을 Selected animation frame 으로 설정합니다.
- 베이스 포즈 애니메이션(Base Pose Animation) 이 베이스 포즈 구성과 같은 베이스 애니메이션을 사용하도록 설정합니다.
- 레퍼런스 프레임 인덱스(Ref Frame Index) 를 0 으로 설정합니다.
로컬 스페이스(Local Space) 대신 메시 스페이스(Mesh Space) 를 선택해야 하는 이유는 메시 스페이스가 스켈레탈 메시 컴포넌트(Skeletal Mesh Component) 의 스페이스에 애디티브 이펙트를 적용하기 때문입니다. 그러면 스켈레탈 메시에서 선행 본의 방향과 관계없이 같은 방향으로 회전이 이동하게 됩니다. 이것이 에임 오프셋에 중요한 이유는 캐릭터의 현재 베이스 포즈와 상관없이 블렌드 스페이스에서 나오는 회전이 일관되게 적용되도록 해야 하는 경우가 있기 때문입니다.
예를 들어, 캐릭터가 조준 중에 옆으로 몸을 기울일 수 있다면, 이로 인해 본의 전체 로컬 스페이스가 몸을 기울이는 방향으로 이동할 수 있습니다. 애디티브 타입을 로컬 스페이스 로 설정하면, 위쪽을 조준하는 포즈가 왜곡되어 제대로 위쪽을 향하지 않을 수 있습니다. 애디티브 타입으로 메시 스페이스 를 사용하면, 블렌드 스페이스에서 회전 오프셋이 예상된 방식으로 적용되므로 이러한 문제가 수정됩니다.
- 몸을 한쪽으로 기울인 베이스 포즈입니다.
- 로컬 스페이스 애디티브를 사용할 때 몸을 한쪽으로 기울여서 위를 조준하는 포즈입니다.
- 메시 스페이스 애디티브를 사용할 때 몸을 한쪽으로 기울여서 위를 조준하는 포즈입니다.
애니메이션 블루프린트 구성
에임 오프셋을 생성한 다음에는 애니메이션 블루프린트 내에서 참조할 수 있습니다. 블렌드 스페이스와 마찬가지로, 에임 오프셋 에셋을 직접 참조하는 플레이어로 참조하거나, 애님 그래프 내에서 로직을 분산할 수 있는 그래프로 참조할 수 있습니다.
애님 그래프 내에서 에임 오프셋 플레이어를 참조하려면, 그래프에서 우클릭하고 블렌드 스페이스(Blend Spaces) 카테고리에서 해당 에임 오프셋 플레이어 에셋(Aim Offset Player Asset) 을 선택합니다. 선택한 에셋의 출력을 Output Pose 노드에 연결합니다.
또한, 베이스 포즈 를 에임 오프셋 노드에 연결해야 하는데, 이는 일반적으로 앞서 나온 베이스 포즈 구성 단계에서 정의한 것과 같은 애니메이션이 될 수도 있고, 비슷한 베이스 포즈를 사용하는 스테이트 머신이 될 수도 있습니다.
마지막으로 에임 오프셋에서 요(Yaw) 및 피치(Pitch) 값을 구동할 로직을 생성해야 합니다. 플레이어 컨트롤에 따라 이 로직은 여러 가지 방식으로 생성될 수 있습니다. 이 예시의 경우 프로퍼티 액세스를 사용하여 폰의 베이스 에임 회전으로부터 데이터를 출력할 수 있습니다.















