
## Unreal Engine 애니메이션 데이터 작업: 애니메이션 시퀀스와 컨트롤 리그
이 비디오 시리즈에서는 Unreal Engine 내에서 애니메이션 데이터 작업을 중점적으로 다룹니다. 특히 **애니메이션 시퀀스(Animation Sequence)**와 **라이브 컨트롤 리그(Live Control Rig)**의 차이점과 활용법을 살펴봅니다.
---
### 1. 프로젝트 및 기본 설정
* **ACOM 애니메이션 샘플 프로젝트:** Fab에서 다운로드 가능합니다.
* **본 시리즈의 두 번째 파트:** 이전 영상에서는 프로젝트 개요, 레벨, 레벨 시퀀스 등을 다루었습니다.
* **현재 영상의 목표:** 애니메이션 시퀀스와 라이브 컨트롤 리그에 대해 집중적으로 알아보고, 각 옵션의 차이점을 이해합니다.
---
### 2. 시퀀서 환경 탐색
* **전체 시퀀스:** 캐릭터들이 움직이는 장면을 보여줍니다.
* **마스터 레벨:** 비행하며 환경 전체를 확인할 수 있습니다.
* **기본 레벨로 이동:** `Ctrl + N`을 눌러 거의 아무것도 없는 기본 레벨로 전환합니다.
* 이유: 애니메이션 작업에 필요한 에셋에만 집중하여 조명 및 효과로 인한 방해를 최소화하고, 튜토리얼 내용을 더 명확하게 전달하기 위함입니다.
---
### 3. 애니메이션 시퀀스 vs. 컨트롤 리그
#### 3.1. 베이크된 애니메이션 (Baked Animation)
* **샷(Shot) 내의 서브 시퀀스:** 각 샷은 여러 서브 시퀀스를 포함합니다.
* **베이크된 애니메이션 (Baked Animations):**
* 각 캐릭터는 애니메이션이 적용되어 있습니다.
* 예시: '베타' 캐릭터의 **메인 애니메이션 베타 캐릭터 리그**
* 컨트롤 리그가 아닌 **애니메이션 트랙**에 포함된 **애니메이션 시퀀스**에 의해 변형됩니다.
* 애니메이션 트랙을 음소거하면 캐릭터의 변형이 사라집니다.
#### 3.2. 라이브 컨트롤 리그 (Live Control Rig)
* **원본 리그:** 모든 원본 키프레임 데이터가 포함된 컨트롤 리그를 가지고 있습니다.
* **애니메이션 시퀀스**를 끄고 **컨트롤 리그 레이어**를 켜면 거의 동일한 결과를 얻을 수 있습니다.
* **주요 차이점:** 컨트롤 리그는 베이크되지 않은 **라이브** 상태이며, 예를 들어 '감마' 캐릭터의 꼬리가 움직이는 것을 볼 수 있습니다.
#### 3.3. 'Anim Work' 서브 시퀀스
* **베타 및 감마 캐릭터 포함:**
* **베타 컨트롤 리그:** 애니메이션 시퀀스가 아닌 컨트롤 리그가 있습니다.
* 내부에는 캐릭터 애니메이션에 사용된 키프레임 데이터가 있습니다.
* '베타 컨트롤 리그'를 선택하면 **애니메이션 모드**로 진입합니다.
* **G 키**로 컨트롤 리그를 토글할 수 있습니다.
* 컨트롤 리그는 애니메이션 모드에서만 표시됩니다.
* 컨트롤을 선택하면 **커브 에디터(Curve Editor)**에서 해당 애니메이션의 개별 그래프와 커브를 확인할 수 있습니다.
---
### 4. 두 가지 주요 작업 방식
Unreal Engine에서 일반적으로 애니메이션 데이터를 다루는 두 가지 주요 방식입니다.
1. **컨트롤 리그 서브 시퀀스:** 원본 애니메이션 파일입니다.
2. **베이크된 애니메이션 시퀀스:** 미리 만들어진 애니메이션 클립으로, 블루프린트 등에서 쉽게 로드하고 사용할 수 있습니다.
---
### 5. 애니메이션 데이터 작업: 라이브 컨트롤 리그에서 애니메이션 시퀀스로 베이크하기
#### 5.1. 애니메이션 수정
* **'AnimWorks' 서브 시퀀스 선택**
* '베타' 캐릭터의 **바디 컨트롤** 선택
* **시퀀서 커브 에디터**에서 **LZ(위아래 위치)**를 수정합니다.
* `Ctrl + T`를 사용하여 스케일링으로 점프 높이를 조절합니다.
* 캐릭터의 웅크림(squash)과 늘림(stretch)을 더 과장되게 만듭니다.
#### 5.2. 애니메이션 베이크
1. 시퀀서에서 **베타 캐릭터의 스켈레탈 메시 트랙**(예: '베타'라고 표시된 부분)을 **우클릭**합니다.
2. **'Bake Animation Sequence'(애니메이션 시퀀스 베이크)**를 선택합니다.
3. 파일 저장 위치를 지정합니다. (예: `Content/Developer/Me/` 폴더)
4. 파일 이름을 지정합니다. (예: `_beta_run_v1`)
* **명명 규칙:** `AnimationSequence_CharacterName_Action_VersionNumber` (예시)
5. **'OK'**를 누르고 기본 설정을 유지합니다.
#### 5.3. 결과 확인
* **콘텐츠 드로어**에서 저장된 애니메이션 시퀀스(`AS_beta_run_v1`)를 찾습니다.
* 저장되지 않은 임시 파일이므로 **반드시 저장**합니다 (`Ctrl + S`).
* 애니메이션 시퀀스를 더블 클릭하여 재생하면 수정된 애니메이션을 확인할 수 있습니다.
* 이 **애니메이션 시퀀스**는 이제 캐릭터에 대한 사전 제작된 애니메이션 클립으로, 다른 샷에서도 사용할 수 있습니다.
---
### 6. 새로운 레벨 시퀀스에서 애니메이션 시퀀스 활용
1. **새로운 레벨 시퀀스 생성:** `ls_anim_run`
2. **캐릭터(베타 스켈레탈 메시)**를 시퀀서로 드래그 앤 드롭합니다.
3. **캐릭터 복제:** `Ctrl + D`를 눌러 베타 캐릭터를 복제합니다 (베타 1, 베타 2).
4. **베타 1 (애니메이션 시퀀스 적용):**
* **애니메이션 트랙 추가**
* **애니메이션 시퀀스 선택:** `AS_beta_run_v1`
* 캐릭터의 변형(transform) 값을 조정하여 원하는 위치로 이동시킵니다.
5. **베타 2 (컨트롤 리그로 변환):**
* **베타 2 우클릭**
* **'Bake to Control Rig'(컨트롤 리그로 베이크)** 선택
* **'베타 컨트롤 리그'**를 선택합니다.
* **'Go'**를 눌러 컨트롤 리그로 변환합니다.
* 이 과정에서 **역방향 솔브(Backwards Solve)**가 사용됩니다.
#### 6.1. 결과 비교
* **베타 1:** 애니메이션 시퀀스로 재생됩니다.
* **베타 2:** 컨트롤 리그로 재생되며, 커브 에디터에서 데이터 수정이 가능합니다.
#### 6.2. 컨트롤 리그 IK 솔브 문제 해결
* **문제:** 컨트롤 리그로 변환 시 팔 부분이 부자연스러워질 수 있습니다.
* **해결책:**
1. **'arm mid'**로 필터링하여 팔꿈치 컨트롤을 찾습니다.
2. **애니메이션 디테일**에서 **'Left Arm IK Solve'**와 **'Right Arm IK Solve'**를 선택합니다.
3. 커브 에디터에서 이 값들을 **'On'**으로 설정합니다.
4. 다른 프레임에서 문제가 재발하면, 해당 프레임의 키프레임을 삭제하여 항상 'On' 상태를 유지하도록 합니다.
---
### 7. 요약 및 다음 단계
* **컨트롤 리그에서 애니메이션 시퀀스로 베이크:** 라이브 컨트롤 리그의 애니메이션 데이터를 재사용 가능한 애니메이션 시퀀스 클립으로 만듭니다.
* **애니메이션 시퀀스에서 컨트롤 리그로 베이크:** 기존 애니메이션 시퀀스 데이터를 수정 가능한 컨트롤 리그로 되돌립니다.
* **유연한 작업 흐름:** Unreal Engine은 애니메이션 시퀀스와 컨트롤 리그 간의 상호 변환을 지원하여 다양한 워크플로우에 유연하게 대처할 수 있습니다.
**다음 영상에서는 베이크 및 언베이크 과정 없이 애니메이션 시퀀스 또는 컨트롤 리그 데이터를 수정하는 다양한 방법을 알아봅니다.**