개요
애니메이션 시퀀스는 캐릭터 애니메이팅을 위해 스켈레탈 메시에서 재생할 수 있는 애니메이션 데이터를 포함하는 애니메이션 에셋입니다. 애니메이션 시퀀스는 특정 시점에서 스켈레탈 메시의 스켈레톤 위치, 회전 및 스케일을 지정하는 키프레임을 포함합니다. 순차적으로 재생하는 동안 여러 키프레임을 블렌딩하여 스켈레톤의 모션이 메시를 애니메이팅합니다.
애니메이션 시퀀스는 특정 스켈레톤과 연결되며, 애니메이션이 동일한 스켈레톤을 사용하는 스켈레탈 메시 전체에 공유되도록 합니다.
애니메이션 생성하기
애니메이션 시퀀스는 대부분 외부 애니메이션 및 모델링 소프트웨어에서 생성되며, FBX 파일 내에 저장됩니다. FBX 임포트 프로세스를 통해 애니메이션 시퀀스를 언리얼 엔진으로 임포트하여 프로젝트에서 사용할 수 있습니다.
애니메이션 임포트하기
애니메이션을 임포트하려면 콘텐츠 브라우저(Content Browser) 에서 임포트(Import) 를 선택합니다.
컴퓨터의 파일 탐색기 창으로 이동하여 임포트할 애니메이션이 있는 FBX 파일을 선택합니다.
FBX 임포트 옵션(FBX Import Options) 창이 열립니다. 여기에서 애니메이션 임포트 프로세스를 미세조정할 수 있습니다.
FBX 임포트 옵션 창은 다음과 같은 환경설정 가능한 프로퍼티를 포함합니다.
| 프로퍼티 | 설명 |
|---|---|
| 애니메이션 임포트(Import Animation) | 애니메이션이 포함된 FBX 파일을 임포트할 때 이 프로퍼티를 활성화한 경우, 애니메이션을 애니메이션 시퀀스 에셋으로 임포트할 수 있습니다. |
| 애니메이션 길이(Animation Length) | 익스포트된 시간(Exported Time): 애니메이션을 시간을 기반으로 익스포트된 길이만큼 임포트합니다. 고급 시간(Advanced Time): 애니메이션을 애니메이션 데이터가 있는 길이만큼 임포트합니다. 범위 설정: 애니메이션을 프레임 임포트 범위(Frame Import Range) 프로퍼티에 정의된 프레임 범위만큼 임포트합니다. |
| 애니메이션 이름 오버라이드(Override Animation Name) | 활성화한 경우, 이 프로퍼티는 임포트되는 애니메이션의 이름을 지정된 이름으로 오버라이드합니다. 기본적으로 애니메이션은 FBX 파일 이름으로 임포트됩니다. |
| 본 계층구조의 메시 임포트(Import Meshes in Bone Hierarchy) | 활성화한 경우, 본 계층구조에 중첩된 메시를 본으로 변환하지 않고 별도로 임포트합니다. |
| 프레임 임포트 범위(Frame Import Range) | 애니메이션 임포트 시 사용할 프레임 범위를 정의합니다. 애니메이션 길이 가 범위 설정(Set Range) 으로 설정된 경우에만 사용됩니다. |
| 디폴트 샘플 레이트(Default Sample Rate) | 활성화한 경우, 모든 현재 애니메이션 커브를 30fps로 샘플링합니다. |
| 커스텀 샘플 레이트(Custom Sample Rate) | 애니메이션 데이터를 임포트할 커스텀 샘플 레이트를 정의합니다. 0으로 설정한 경우, 언리얼 엔진이 자동으로 최적의 샘플 레이트를 찾습니다. |
| 커스텀 어트리뷰트 임포트(Import Custom Attribute) | 활성화한 경우, 모든 FBX 어트리뷰트를 커브 또는 애니메이션 어트리뷰트로 임포트합니다. |
| 기존 커스텀 어트리뷰트 커브 삭제(Delete Existing Custom Attribute Curves) | 활성화한 경우, 리임포트 시 현재 커스텀 어트리뷰트 커브가 모두 삭제됩니다. |
| 기존 비커브 커스텀 어트리뷰트 삭제(Delete Existing Non Curve Custom Attributes) | 활성화한 경우, 리임포트 시 모든 이전 비커브 어트리뷰트가 삭제됩니다. |
| 본 트랙 임포트(Import Bone Tracks) | 활성화한 경우, 본 트랜스폼 트랙이 임포트됩니다. 비활성화한 경우, 본 트랜스폼 트랙이 모두 버려집니다. 커브만 있는 애니메이션으로 작업하면서 본 트랜스폼 트랙을 버릴 때 유용할 수 있습니다. |
| 머티리얼 커브 타입 설정(Set Material Curve Type) | 활성화한 경우, 이 프로퍼티는 머티리얼 커브 타입을 모든 커스텀 어트리뷰트에 대해 설정합니다. |
| 머티리얼 커브 접미사(Material Curve Suffixes) | 여기에서 커스텀 어트리뷰트에 대한 머티리얼 커브 타입을 수동으로 설정할 수 있습니다. 이 프로퍼티는 머티리얼 커브 타입 설정 이 활성화된 경우 아무런 효과도 미치지 않습니다. |
| 중복 키 제거(Remove Redundant Keys) | 활성화하고 커스텀 어트리뷰트를 커브로 임포트한 경우, 이 프로퍼티는 불필요한 키를 제거합니다. |
| 기존 모프 타깃 커브 삭제(Delete Existing Morph Target Curves) | 활성화한 경우, 이 프로퍼티는 기존 모프 타깃 커브를 삭제합니다. |
| 값이 0인 커브는 임포트 안 함(Do not Import Curve with Zero) | 활성화한 경우, 값이 0인 현재 커브는 평가할 커브를 추가하지 않기 위해 제거됩니다. |
| 로컬 트랜스폼 보존(Preserve Local Transform) | 활성화한 경우, 이 프로퍼티는 애니메이션 내 모든 커브를 임포트합니다. |
임포트 세팅(Import Settings) 창에서 스켈레톤(Skeleton) 프로퍼티를 사용하면 임포트된 애니메이션을 제어하는 스켈레톤을 선택할 수 있습니다. 이 프로퍼티를 비워 두면 FBX 파일에서 발견된 스켈레탈 구조를 새 스켈레톤으로 임포트합니다.
기존 스켈레톤을 사용하여 임포트된 애니메이션을 제어하려면 애니메이션이 유사한 스켈레톤을 사용해야 합니다. 언리얼 엔진은 스켈레톤 트리의 본 이름 과 계층구조 를 사용하여 애니메이션의 본을 기존 스켈레톤의 본과 자동으로 매칭합니다.
애니메이션 임포트(Import Animation) 옵션이 활성화되어 있는지 확인하고 임포트(Import) 를 선택합니다.
여러 FBX 파일을 한 번에 임포트하는 경우 모두 임포트(Import All) 를 사용하면 선택된 FBX 파일을 모두 동일한 FBX 임포트 옵션 으로 임포트할 수 있습니다.
임포트 프로세스가 완료되면 '콘텐츠 브라우저'에 애니메이션이 애니메이션 시퀀스 에셋으로 표시됩니다.
정수가 아닌 끝 프레임 값이 있는 애니메이션은 언리얼 엔진으로 올바르게 임포트되지 않습니다.
애니메이션 시퀀스를 외부 DCC로 임포트하고 끝 프레임을 정수 프레임 값으로 편집하거나, 'FBX 임포트 옵션'에서 애니메이션 길이 프로퍼티를 프레임 범위로 설정하고 '고급(Advanced)' 섹션에서 수동으로 프레임 임포트 범위 프로퍼티를 설정하여 이 문제를 해결할 수 있습니다.
언리얼 엔진으로 애니메이션을 임포트하는 방법에 대한 자세한 내용은 FBX 애니메이션 파이프라인 및 FBX를 사용하여 애니메이션 임포트하기 페이지를 참고하세요.
시퀀서
시퀀서를 사용하면 언리얼 엔진에서 스켈레탈 메시만으로 애니메이션을 생성할 수 있습니다. 이는 애니메이션 트랙을 사용하거나 컨트롤 릭을 사용하여 애니메이팅할 때 애니메이션을 새 애니메이션 시퀀스로 저장하고 싶은 경우에 유용할 수 있습니다.
시퀀서를 사용하여 생성된 애니메이션에서 애니메이션 시퀀스를 생성하려면 스켈레탈 메시 액터 트랙을 우클릭 하고 컨텍스트 메뉴에서 애니메이션 시퀀스 굽기(Bake Animation Sequence) 를 선택합니다.
기존 애니메이션을 FK 컨트롤 릭으로 편집하여 시퀀스의 고유 베리언트와 수정된 버전도 생성할 수 있습니다.
컨트롤 릭과 컨트롤 릭을 사용하여 언리얼 엔진에서 캐릭터를 애니메이팅하는 방법에 대한 자세한 내용은 컨트롤 릭 문서를 참고하세요.
애니메이션 시퀀스 편집하기
애니메이션 시퀀스로 작업할 때 기존 애니메이션에서 애니메이션 시퀀스 에디터(Animation Sequence Editor)를 사용하여 애디티브 방식으로 편집 및 조정할 수 있습니다. '애니메이션 시퀀스 에디터'에서 재생되는 내용을 미리 보고, 애디티브 레이어로 애니메이션을 미세조정하고, 노티파이 및 커브를 추가할 수 있습니다.
아래에는 프로젝트에서 기존 애니메이션을 편집 및 수정하는 데 사용할 수 있는 몇 가지 방법이 나와 있습니다.
애디티브 애니메이션 트랙
애니메이션 시퀀스에서 본 조작(Bone Manipulation) 툴을 사용하여 캐릭터의 본 위치를 미세조정할 수 있습니다. 뷰포트 또는 '스켈레톤 트리(Skeleton Tree)' 패널에서 본을 선택하고 무브먼트 툴을 사용하여 본의 위치 및 회전을 조작합니다.
본을 조작한 뒤 툴바 에서 키 추가(Add Key) 로 키를 추가하여 무브먼트 데이터를 시퀀스 타임라인에 표시할 애디티브 애니메이션 트랙 에 저장합니다.
애디티브 트랙은 본의 위치를 블렌딩하여 조작된 위치를 추가된 키프레임에 매칭합니다.
본 조작에 대한 자세한 내용은 스켈레톤 에디터 문서의 본 조작 섹션을 참고하세요.
녹화 기능
애니메이션 시퀀스를 편집할 때 녹화(Record) 버튼을 사용하면 지정된 무브먼트를 실시간으로 녹화하고 애니메이션을 새 시퀀스로 저장할 수 있습니다.
그런 다음 결과 애니메이션을 고유한 애니메이션 시퀀스 에셋으로 사용할 수 있습니다.
녹화 기능을 사용하면 블렌딩된 애니메이션에서 에셋을 생성할 수도 있습니다.
애니메이션 공유하기
프로젝트에서 다양한 스켈레톤 및 스켈레탈 메시 조합을 사용하고 있는 경우에는 애니메이션 시퀀스를 이러한 여러 에셋 간에 공유할 수 있습니다. 프로젝트의 필요 사항에 따라 다양한 애니메이션 공유 및 스켈레톤 리타기팅 방법을 사용할 수 있습니다.
동일한 스켈레톤을 공유하지는 않지만 스켈레탈 구조가 동일한 스켈레탈 메시의 경우 스켈레톤을 호환 스켈레톤(Compatible Skeletons) 으로 정의하여 애니메이션 시퀀스를 공유할 수 있습니다. 자세한 내용은 스켈레톤 문서의 호환 스켈레톤 섹션을 참고하세요.
%animating-characters-and-objects/SkeletalMeshAnimation/AssetsFeatures/Skeleton:topic%
동일한 스켈레톤을 공유하지만 메시 비율이 다른 스켈레탈 메시 간에 애니메이션 시퀀스를 공유하려면 애니메이션 리타기팅을 사용합니다. 자세한 내용은 애니메이션 리타기팅 문서를 참고하세요.
IK 릭 리타기팅을 사용하면 한 스켈레탈 메시의 애니메이션 시퀀스로 다른 스켈레톤을 사용하는 다른 스켈레탈 메시에 대해 새 애니메이션 시퀀스 를 생성할 수 있습니다. 자세한 내용은 IK 릭 리타기팅 문서를 참고하세요.
애니메이션 압축
압축 세팅은 정의 가능한 데이터 에셋으로, 애니메이션 에셋에 압축을 적용합니다. 압축은 애니메이션 데이터를 제거하고 애니메이션의 메모리 비용을 낮춰 프로젝트의 퍼포먼스를 향상합니다. 움직임이 적은 애니메이션은 압축으로 인한 영향이 적지만, 움직임이 섬세한 애니메이션은 압축으로 인한 영향이 훨씬 큽니다.
압축 세팅 에셋을 생성하려면 '콘텐츠 브라우저'에서 추가(Add)(+) 를 클릭하고 컨텍스트 메뉴에서 애니메이션(Animation) > 본 압축 세팅(Bone Compression Settings) 또는 커브 압축 세팅(Curve Compression Settings) 을 선택합니다.
압축 에셋을 생성한 다음 콘텐츠 브라우저 에서 더블클릭 하여 디테일(Details) 패널을 열 수 있습니다.
본 압축 세팅
본 압축 세팅 에셋은 애니메이션 시퀀스의 본 데이터에 대한 압축 방식을 정의 및 적용하는 데 사용됩니다. 본 압축은 '본 압축 세팅'의 프로퍼티에서 정의한 코덱 메서드를 기반으로 불필요하고 임의적인 본 모션 데이터를 제거합니다.
본 압축 세팅 에셋은 다음과 같은 환경설정 가능한 프로퍼티를 포함합니다.
| 프로퍼티 | 설명 |
|---|---|
| 코덱(Codecs) | 여기에서는 애니메이션 시퀀스에서 본 데이터를 압축할 때 시도할 애니메이션 본 압축 코덱 목록을 정의할 수 있습니다. 사용 가능한 코덱은 다음과 같습니다. 애님 압축 비트 연산 압축 전용(Anim Compress Bitwise Compress Only): 비트 연산 압축에 초점을 맞추고 모든 키를 유지합니다. 애님 압축 최소 파괴성(Anim Compress Least Destructive): 모든 현재 애니메이션 압축을 원시 데이터로 복원합니다. 애님 압축 트랙별 압축(Anim Compress Per Track Compression): 트랙별 압축에 초점을 맞추고 각 트랙을 개별적으로 압축합니다. 애님 압축 모든 보조 키 제거(Anim Compress Remove Every Second Key): 애니메이션에서 모든 보조 키를 제거합니다. 애님 압축 선형 키 제거(Anim Compress Remove Linear Keys): 주변 키에서 변경되지 않은 모든 키를 제거합니다. 애님 압축 트리비얼 키 제거(Anim Compress Remove Trivial Keys): 주변 키에서 에셋의 위치와 회전이 변경되지 않은 모든 키를 제거합니다. 목록의 빈 항목은 애니메이션 시퀀스에서 본 압축 실행 시 무시됩니다. 하지만 본 데이터를 압축하려면 목록이 반드시 최소 하나의 코덱을 포함해야 합니다. |
| 오류 한계치(Error Threshold) | 활성화하고 압축 동안 트리거된 경우, 이 프로퍼티는 이 오류 한계치를 넘지 않는 최적의 코덱을 사용합니다. 디폴트 오류 한계치 값은 0.1입니다. |
| 한계치 강제 저하(Force Below Threshold) | 활성화한 경우, 한계치 이하로 떨어질 때까지 오류 한계치가 낮은 코덱을 사용합니다. |
본 압축 세팅 에셋을 애니메이션 시퀀스의 에셋 디테일(Asset Details) 패널에 있는 본 압축 세팅 프로퍼티에서 적용할 수 있습니다.
커브 압축 세팅
커브를 사용하여 애니메이션 시퀀스 프로퍼티를 제어할 때 커브 압축은 프로젝트 퍼포먼스를 관리하는 데 유용한 리소스를 제공할 수 있습니다.
커브 압축 세팅 에셋은 다음과 같은 환경설정 가능한 프로퍼티를 포함합니다.
| 프로퍼티 | 설명 |
|---|---|
| 코덱 | 애니메이션 커브 압축 코덱을 정의합니다. 사용 가능한 코덱 타입은 다음과 같습니다. 압축된 리치 커브(Compressed Rich Curves): 리치 커브만 타기팅하여 압축합니다. 균등 인덱스 가능(Uniform Indexable): 포인트를 인덱싱할 수 있게 커브를 압축하여 다른 기능에서 액세스할 수 있도록 합니다. 균등하게 샘플링됨(Uniformly Sampled): 압축 후 모든 커브가 균등한 레이트로 샘플링됩니다. |
| 최대 커브 오류(Max Curve Error) | 리치 커브 압축 시 허용되는 최대 오류 한계치입니다. 디폴트 값은 0입니다. |
| 애님 시퀀스 샘플 레이트 사용(Use Anim Sequence Sample Rate) | 이 프로퍼티를 활성화한 경우, 애니메이션 시퀀스 샘플 레이트에 명시적 값을 사용합니다. |
| 오류 샘플 레이트(Error Sample Rate) | '애님 시퀀스 샘플 레이트 사용'을 활성화한 경우, 애니메이션 시퀀스는 커브 오류 측정 시 정의된 값을 샘플 레이트로 사용합니다. 디폴트 값은 60입니다. |
커브 압축 세팅 에셋을 애니메이션 시퀀스의 '에셋 디테일' 패널에 있는 '커브 압축 세팅' 프로퍼티에서 적용할 수 있습니다.
애니메이션 시퀀스 기능
여기에서는 프로젝트에서 애니메이션 시퀀스로 작업할 때 사용할 수 있는 관련 애니메이션 시퀀스 기능을 찾을 수 있습니다.