언어:
페이지 정보
태그:
엔진 버전:
언리얼 엔진

에임 오프셋

언리얼 엔진

AimOffset.png

Aim Offset, 에임 오프셋은 캐릭터의 무기 조준시 도움이 되는 블렌딩가능 포즈 시리즈가 저장된 애셋입니다. 애니메이션 도중, 에임 오프셋 결과를 달리기, 걷기, 점프 등과 같은 다른 모션과 블렌딩하여 캐릭터가 어느 방향을 보더라도 부드럽게 보이도록 만드는 것입니다.

에임 오프셋 배후의 핵심 개념은, 기존 애니메이션 위에 애디티브(더하기식) 블렌딩할 수 있도록 디자인된 것입니다. 그러므로, 예를 들어 에임 오프셋을 사용해서 캐릭터가 무기 조준을 하고자 한다면, 그 애디티브 모션이 캐릭터의 다른 모션에 방해받지 않도록 하고 싶을 것입니다. 다른 말로 하자면, 달리기, 빈둥거리기, 점프 등의 동작을 할 때 팔 부분은 에임 오프셋을 통해 더하기식으로 제어할 수 있도록 비교적 엄격해야(rigid) 할 것입니다.

여러가지 면에서 에임 오프셋은 BLend Space(블렌드 스페이스)와 똑같습니다. 그래서 먼저 블렌드 스페이스에 대해 확실히 이해해 두는 편이 좋을 것입니다. 자세한 내용은 블렌드 스페이스 문서를 참고해 주세요.

애니메이션 콘텐츠 예제 문서의 1.4 섹션에서 캐릭터에 적용된 에임 오프셋 예제를 확인하실 수 있습니다.

에임 오프셋 만들기

에임 오프셋은 다른 애셋과 마찬가지로 콘텐츠 브라우저에서 만들 수 있습니다. 우클릭이나 New_Asset_Button.png 버튼을 누른 다음 컨텍스트 메뉴에서 애니메이션 > 에임 오프셋 을 선택합니다. Aim Offset 1D (에임 오프셋 1D) 라는 옵션이 보일 것입니다. 보통 에임 오프셋은 블렌딩 제어를 위한 변수를 두 개 받는 반면, 에임 오프셋 1D 는 하나만 받는다는 차이가 있습니다.

새 에임 오프셋을 만들 때, 스켈레톤 애셋을 지정해야 할 것입니다. 에임 오프셋을 사용하려는 스켈레탈 메시에 사용한 것과 똑같은 것을 선택해 줘야 합니다.

에임 포즈

에임 오프셋의 목적은 포즈 시리즈를 더하기식으로 조합하여 조준을 돕는 것이니, 이제 일반적으로 어떤 유형의 포즈를 만들어야 하는지에 대해 논해보겠습니다. 실제 필요한 포즈 수는 캐릭터에 필요한 동작에 따라 크게 달라집니다. 아래는 극단적인 예입니다:

Aim_RBU.png

Aim_RU.png

Aim_CU.png

Aim_LU.png

Aim_LBU.png

상향 오른쪽 뒤

상향 오른쪽

상향 가운데

상향 왼쪽

상향 왼쪽 뒤

Aim_RBC.png

Aim_RC.png

Aim_CC.png

Aim_CL.png

Aim_LBC.png

가운데 오른쪽 뒤

가운데 오른쪽

가운데

가운데 왼쪽

가운데 왼쪽 뒤

Aim_RBD.png

Aim_RD.png

Aim_CD.png

Aim_LD.png

Aim_LBD.png

하향 오른쪽 뒤

하향 오른쪽

하향

하향 왼쪽

하향 왼쪽 뒤

이와 같은 구성을 사용하려 한다면, 애니메이션에 요 모션(횡이동)을 어떻게 허용할지 세심한 주의를 기울여야 합니다. 예를 들어 위에 보이는 모션은 캐릭터가 가만히 서있을 때는 괜찮아 보일 것입니다. 그러나 캐릭터가 달리면서 상체를 뒤틀 수 있도록 한다면, 이와 같이 끔찍한 결과가 나올 수도 있습니다:

Character-TwistedBody.png

이런 젼차로, 에임 오프셋은 보통 캐릭터의 측면 보다는 상하 조준에 대해서만 구성하고, 실제 캐릭터의 회전을 통해 횡이동 처리를 해 줍니다. 그러나 위와 같은 포즈 시리즈를 쓰지 못할 것도 없는데, 애니메이션 블루프린트를 사용해서 극단적인 횡이동은 캐릭터가 정지 상태일 때만 나오게끔 에임 오프셋에 들어오는 데이터를 제한시켜 주면 될 일입니다.

메시 스페이스

필요한 각 포즈를 언리얼 엔진에 임포트한 이후에는 몇 가지 프로퍼티를 설정해 줘야 에임 오프셋에 호환됩니다. Additive Settings (애디티브 세팅) 카테고리 아래, 다음과 같이 설정해 줍니다.

  • Additive Aim Type - AAT_MeshSpace

에임 오프셋은 애디티브 에임 타입의 메시 스페이스를 가진 애니메이션만 받습니다!

메시 스페이스는 애디티브 애니메이션의 델타를 추출해 내는 접근법 중 약간 다른 것인데, 에임 오프셋 애셋과 같은 특정 인스턴스에서만 사용된다는 점에서 그렇습니다. 메시 스페이스는 메시의 바운딩 박스를 회전 기준으로 사용하여, 스켈레탈 메시의 본 체인 방향과 상관없이 똑같은 방향으로 회전이 이동하게끔 할 수 있습니다. 측면에 기댄 상태로 권총을 상향 조준해야 하는 캐릭터를 생각해 봅시다. 그 상향 조준 모션이 로컬 스페이스에서 적용된다면, 조준이 바깥쪽, 즉 기대어 있는 방향으로 회전될 것입니다.

BaseIdle.png

AimUp.png

기본 빈둥 포즈

상향 조준

LeaningIdle.png

LocalSpaceLean.png

MeshSpaceCorrected.png

기댄 포즈

상향 조준 기댄 포즈 (로컬 스페이스)

상향 조준 기댄 포즈 (메시 스페이스)

이러한 문제는 메시 스페이스 회전으로 해결됩니다. 스켈레탈 메시의 박스를 기준으로 회전되므로, 그 방향은 캐릭터가 어떤 작업을 하고 있든 항상 일정하게 유지됩니다. 즉 캐릭터가 측면으로 기댄 상태라 할지라도, 상향 조준은 그대로 위쪽으로 틀게 되는 것입니다.

메시 스페이스는 애니메이션 시퀀스의 프로퍼티로 설정됩니다. Additive Settings (애디티브 세팅) 카테고리 아래 Additive Anim Type (애디티브 애님 타입) 프로퍼티가 있습니다. 이것을 Mesh Space (메시 스페이스)로 설정하면 설명한 대로 메시 좌표계가 활용됩니다. 이 블렌딩은 비용이 꽤 들기 때문에, 일반적으로 에임 오프셋처럼 일정한 방향으로 계속해서 움직이는 애니메이션이 필요한 블렌드 스페이스 유형에만 사용해야 할 것입니다.

퍼포먼스

animOffsetNode.png

애님 그래프 Aim Offset 노드를 놓았으면 4.11 에 도입된 LOD Threshold (LOD 한계치) 옵션을 사용하여 퍼포먼스를 조절할 수 있습니다. 이 세팅은 Aim Offset 노드의 디테일 패널에서 찾을 수 있습니다.

perf.png

프로퍼티

설명

LOD Threshold

LOD 한계치 - 이 노드의 실행 대상이 될 수 있는 최대 레벨 오브 디테일 (LOD) 입니다. 예: LOD 한계치가 2 로 설정된 경우, LOD 2 까지만 실행되고, 컴포넌트의 LOD 가 3 이 되면 스스로 꺼집니다.

태그