# Ep.8 — FBX Export Options (실무 엔진 임포트용 상세 옵션 가이드)

https://youtu.be/afkE93EkaHM?si=ZT6Pt09ddX46uM8F

> **한 줄 요약**: FBX 옵션 창의 **상단 영역은 3ds Max의 기본 FBX 익스포트 기능**을, **하단 영역은 Fast-Ref가 독자 제공하는 네임스페이스 제거·루트 정렬·변수식 파일명 생성 기능**을 다룹니다. 한 번 맞추어 둔 옵션은 Preset으로 저장해 일괄 공유하세요.

---

## 1. 옵션 제어의 핵심 메커니즘

Fast-Ref의 익스포터 패널은 한번 저장해 둔 설정 값을 **Preset(프리셋)** 파일로 하드디스크에 보관하고, 단일 익스포트든 대량의 파일들을 밤새 구워내는 **Batch Tool(EP09)**이든 동일한 프리셋을 기반으로 완전히 통제하여 결과물의 오차를 제로로 만듭니다.

---

## 2. 3ds Max 기본 FBX 제어 영역 (상단)

기본적으로 3ds Max 엔진이 제공하는 FBX SDK 옵션들과 연결되어 있으며, 실무 팁 위주로 정리합니다.

| 옵션 명칭 | 실제 하는 역할 | 💡 **실무 가이드 및 꿀팁** |
|-----------|----------------|-----------------------------|
| **Animation** | FBX에 키프레임 애니메이션 데이터를 심을지 유무 | 당연히 애니 클립을 뽑을 때는 **켜야(On)** 합니다. 다만 최초 캐릭터 외형(Skeletal Mesh)만 엔진에 등록할 때는 이를 끄고 0프레임 T-pose 상태로 깔끔하게 뽑는 것이 좋습니다. |
| **Skin** | 메시에 뼈가 붙은 스킨 바인딩 정보(피부 연산) 포함 유무 | - **메시 최초 등록 시**: **켬(On)**<br>- **애니메이션 클립만 추출 시**: **끔(Off)**<br>👉 이미 엔진에 캐릭터 메시가 올라가 있는 상태라면, 애니메이션 클립용 FBX를 뽑을 때는 Skin을 꺼서 뼈대 모션만 뽑는 것이 파일 용량을 1/10로 줄여주고 익스포트 속도를 수십 배 빠르게 해주는 강력한 실무 테크닉입니다. |
| **Shape** | 얼굴 표정에 쓰이는 블렌드 쉐이프(Blend Shape / Morph) 데이터 포함 유무 | 페이셜 애니메이션이 쓰이는 메인 캐릭터라면 무조건 **켜둡니다.** |
| **Bake Animation** | 원본 프레임 레이트와 무관하게 1프레임 단위로 키를 굳혀 저장 | 엔진 내부 물리 보간 충돌을 막기 위해 **무조건 켜두는 것(Bake On)**이 애니메이션 찌그러짐을 방지하는 실무 표준입니다. |
| **Smooth Groups** | 3D 메시 면들의 매끄러운 쉐이딩 정보 저장 | **무조건 켜둡니다.** 이걸 실수로 끄고 엔진에 올리면 이쁜 캐릭터가 **마치 마인크래프트 캐릭터처럼 온통 거칠고 각진 상태**로 출력되는 대참사가 터집니다. |
| **Texture Embed** | 캐릭터 이미지 텍스처 소스 자체를 fbx 파일 내에 이진 데이터로 강제 내장 | **무조건 꺼둡니다(Off).** 이를 켜는 순간 fbx 파일 하나에 수십 메가의 이미지가 꼬여 파일 용량이 통제 불능 상태가 됩니다. 경로는 3D 씬 내부에서 상대 경로로만 관리하게 두세요. |
| **Up Axis** | 게임 엔진이 기준 삼는 '하늘 방향' 축 설정 | - **Unreal Engine**: 3ds Max와 결이 같은 **Z-up** 축 설정<br>- **Unity Engine**: Unity 프리셋 단추를 누르면 **Y-up** 축으로 자동 매핑 조정됨 |
| **Units** | 엔진 안의 스케일 단위 맞춤 | 3ds Max는 기본 cm 스케일을 씁니다. 유니티(m 단위 선호) 등 아웃풋에 맞추어 스케일 계수를 꼭 유니티용 프리셋을 통해 수동 매핑 검증해 주셔야 축소/비대화 버그가 없습니다. |
| **File Version** | FBX 내보내기 파일 포맷 연식 | 현재 업계에서 가장 오류가 적고 안정적인 **FBX 2020** 포맷으로 통일해 두는 것이 권장됩니다. |

---

## 3. Fast-Ref 전용 특수 익스포트 제어 영역 (하단)

오직 Fast-Ref 안에서만 제공하는 실무 중심의 자동화 기능들입니다.

### ✂️ Remove Namespace (네임스페이스 자동 박탈)
씬 안에 멀티 배치를 위해 임시로 붙여 둔 `Mable_A:L_Hand` 같은 이름에서 접두사를 강제로 떼어내어, 엔진 임포터에는 순수 원본 뼈대인 `L_Hand` 이름으로만 저장해 전송합니다. 엔진 안에서 리타겟팅이 깨지는 현상을 우려하지 않아도 됩니다.

### 🎯 Reset Root (루트 본 원점 강제 동결)
캐릭터가 월드 공간 앞으로 뛰어 나가는 애니메이션이 박혀 있더라도, 엔진 내부 루트 모션 연산이나 바인딩 규칙을 위해 **최상위 루트 본(Root Bone)의 원점(0,0,0) 위치와 회전을 강제로 묶어둔 채 출력**해야 할 때가 있습니다.
- 특정 루트 본 이름을 인식해 원점으로 강제 홀드하고, 원할 경우 Z축 90도 같은 보정 회전을 주어 캐릭터 전방 방향을 정렬합니다.
- 🚨 **주의점 (매우 중요)**: 이 기능은 익스포트 순간에 강제로 캐릭터 씬 좌표를 임시 연산하므로, **FBX를 추출한 직후 해당 작업용 `.max` 파일은 세이브(Save)하지 않고 닫아야 씬 애니메이션이 오염되지 않습니다.** 리드가 아티스트들에게 강력하게 박아두어야 할 꿀팁입니다.

---

## 4. 변수식 파일 네이밍 룰 설계

출력될 fbx 파일의 이름을 아티스트가 일일이 적지 않고, 아래의 다이내믹 변수를 조합해 식(Rule)으로 정의해 두면 파일명이 자동 생성됩니다.

* `[Original File Name]`: 현재 씬 맥스 파일명
* `[Namespace]`: 해당 캐릭터에 부여된 고유 이름
* `[Date]`: 오늘 날짜 자동 스탬프
* `[Auto Namespace / Index]`: 캐릭터가 씬에 단 한 명이면 굳이 이름을 붙이지 않고 깔끔한 원본 명으로 뽑고, **2명 이상 존재함이 감지되는 순간 자동으로 이름 구분을 위해 `파일명_Yuna`, `파일명_Mila` 등으로 자동 전개 분리**하여 번호를 붙여주는 대단히 똑똑한 자동화 연산입니다.

### 🏷️ Create Rigging Data (Export to Selection - ES 태그)
아티스트가 뷰포트 전체를 잡고 뽑지 않고, 리거가 캐릭터 마스터 셋업 시 등록해 둔 **Selection Set 이름(예: Export Body)**을 읽어서 메시 및 스키닝 웨이트 데이터만 정밀 필터링해 뽑아줍니다. 문법이 꼬여서 익스포터가 해매면 패널 우측에 직관적인 붉은 에러 마크로 알려 주므로 확인 후 수정이 용이합니다.

### 📁 Create Subfolder Per Max Files (씬 파일당 서브 폴더 분리)
- **체크 On**: 컷 단위 시네마틱 씬처럼 여러 캐릭터가 마구 얽혀서 뽑혀야 할 때, 작업용 씬 명으로 하위 폴더를 자동 생성해 묶어주므로 데이터 정리가 편합니다.
- **체크 Off**: 일반 액션 루프(Run, Walk, Idle)처럼 한 캐릭터의 모션 클립만 플랫하게 쏟아내야 할 때 추천합니다.

<!-- [REVIEW: legacy images - verify placement context] -->
![FBX 옵션 패널 1](image.png)

![FBX 옵션 패널 2](image_1.png)