## 3D 모델 및 재질 가져오기 엔진 업데이트: Plavian Picon 발표 요약
본 발표는 엔진의 3D 모델 및 재질 가져오기 프레임워크 업데이트 현황과 향후 계획에 대한 개요를 제공합니다.
### 1. 주요 3D 모델 파일 형식 지원 현황
* **FBX:**
* 가장 널리 사용되는 형식으로, 정적 메시, 스켈레탈 메시, 애니메이션 등 전반적인 데이터 전송이 가능합니다.
* 현재 개발 중단 상태이며, 복잡한 장면 관리에 대한 제약이 있습니다.
* **주요 변경 사항:** 레거시 프레임워크에서 **Interchange 프레임워크**로 전환 중입니다.
* UE 5.5부터 FBX 가져오기 UI가 Interchange UI로 변경되었습니다.
* UEFN에서도 Interchange 프레임워크를 사용하도록 전환 중입니다.
* **참고:** Interchange 프레임워크를 사용하지 않으려면 레거시 프레임워크로 돌아갈 수 있습니다. 하지만 GLTF, MaterialX 등은 Interchange만 지원하므로 주의해야 합니다.
* **glTF (GL Transmission Format):**
* 웹 환경을 위해 경량화 및 최적화되었으며, 오픈 표준으로 확장성과 활발한 커뮤니티 지원이 강점입니다.
* 장면 표현에는 적합하지 않을 수 있습니다.
* **주요 변경 사항:** **Interchange 프레임워크만 지원**하며, 5.0 이후 다양한 Kronos 확장 기능 지원이 대폭 강화되었습니다.
* **OBJ:**
* 간단하지만 기능이 제한적입니다.
* **CAD:**
* 기업 고객을 위한 특수 형식으로, 파라메트릭 표면, 제조 정보 등 복잡한 장면을 다룰 수 있지만, 일반적인 가상 프로덕션 또는 게임 환경과는 다릅니다.
* **USD (Universal Scene Description):**
* 상호 운용성이 뛰어나며, 정적/스켈레탈 메시, 애니메이션, 재질, 장면 구성 등 복잡한 장면 전송에 유용합니다.
* 확장 가능하며 활발한 커뮤니티를 보유하고 있습니다.
* **주요 변경 사항:**
* **Interchange 프레임워크로 마이그레이션** 중입니다. (5.5: FBX와 패리티, 5.6/5.7: 추가 기능 및 USD 고유 기능 지원 확대)
* **USD Stage Actor:** USD 파일을 엔진 내에서 직접 링크하고 실시간으로 변경 사항을 반영하며, prim 정보 및 메타데이터 접근이 가능합니다.
* **가져오기/내보내기:** USD Stage Actor 또는 일반 가져오기/내보내기 옵션을 선택할 수 있습니다.
* **기능 개선:** 품질 향상, 로딩 시간 및 메모리 사용량 최적화, 커스텀 프리미티브 병합, 오디오 파일 가져오기/내보내기, 카메라 속성 지원 확대, 충돌 타입 대체 기능 등이 추가되었습니다.
* **플러그인 활성화 필요:** FBX, glTF와 달리 USD는 기본적으로 비활성화되어 있으므로 플러그인 활성화가 필요합니다.
### 2. 재질 가져오기 및 관리
* **Substrate 재질 시스템 (UE 5.7):**
* 기존 고정 셰이딩, 언리얼, 불투명 등의 재질 시스템에서 벗어나 **높은 사용자 정의가 가능한 표면 표현 시스템**을 제공합니다.
* Nathaniel의 발표에서 자세한 내용을 확인할 수 있습니다.
* **재질 가져오기:**
* **FBX:** Glambert의 재질 표현은 매우 단순합니다.
* **glTF, USD:** 물리 기반 재질 표현을 지원하며, DCC 툴과 엔진 간에 잘 전송됩니다.
* **MaterialX:**
* 2022년부터 지원되는 형식으로, 표면 표현을 정의합니다.
* 범용 노드 및 OpenPBR, USD Preview Surface와 같은 프리셋 셰이더를 지원합니다.
* Substrate와 연동하여 재질 간의 사실적이고 안정적인 전송을 가능하게 합니다.
* **자동 재질 생성 지양:**
* 엔진에서 기본적으로 재질을 프로그래밍 방식으로 생성하는 대신, **미리 정의된 마스터 재질 및 인스턴스를 활용**합니다.
* 임포트 시 파일에서 읽어온 파라미터로 재질 인스턴스를 채우는 방식입니다.
* **장점:**
* 불필요한 재질 생성을 줄여 성능 향상.
* 테크 아티스트가 제작한 재질로 가독성 및 수정 용이성 증대.
* 코드 수정 없이 재질 직접 수정 가능.
* **Substrate 호환성:**
* Substrate 활성화 프로젝트에서는 레거시 재질이 자동으로 Substrate용으로 변환됩니다.
* MaterialX의 경우, 레거시용과 Substrate용 재질 세트가 별도로 제공되어 더욱 사실적인 표현이 가능합니다.
* 향후 다른 형식에서도 Substrate용 네이티브 재질 제공을 확대할 예정입니다.
* **재질 설정 사용자 정의:**
* 프로젝트 설정에서 각 파일 형식(예: glTF)에 대한 기본 재질(불투명 등)을 지정하고 사용자 정의할 수 있습니다.
* **X-Rite 협업:**
* 재질 스캐닝 전문 기업 X-Rite과의 협력을 통해 **고유한 재질 표현 방식을 Substrate 기반 플러그인으로 구현**하고, Interchange 프레임워크를 사용하여 자체 파일 형식에서 Substrate 재질로 변환하는 데 성공했습니다.
### 3. Interchange 프레임워크
* **목표:** 가져오기 프로세스를 더욱 **사용자 정의 가능**하게 만들어, 프리셋 수정, 사용자 정의 단계 추가 등을 용이하게 합니다.
* **작동 방식:**
* **번역 단계 (Translation Step):** 파일 읽기 담당.
* **파이프라인 (Pipeline / Processing Step):** 읽어온 데이터를 처리 (메시 베이킹, 노멀 생성, Nanite 활성화 등).
* **팩토리 (Factories):** 에셋 및 액터를 생성.
* **사용자 정의:**
* **C++:** 팩토리 및 번역기 개발.
* **Blueprint, Python, C:** 처리 단계(파이프라인) 커스터마이징.
* **튜토리얼:** EDC 플랫폼에서 Interchange 사용 방법에 대한 튜토리얼을 제공합니다.
* **커스터마이징 수준:**
* **프리셋 커스터마이징:**
* 가져오기 UI에서 노출되는 옵션의 가시성, 기본값 등을 수정할 수 있습니다.
* 프리셋 자산을 복제하여 수정하고 프로젝트 설정에서 사용자 정의 프리셋을 지정할 수 있습니다.
* **Blueprint 파이프라인:**
* 자산 생성 전후에 특정 작업을 수행하는 함수 후크를 제공합니다.
* 프로젝트 설정에 추가하여 가져오기 UI에 사용자 정의 설정을 노출할 수 있습니다.
* **스택 (Stack) 및 그룹 (Group) 기능:**
* **스택:** 파일 형식별로 다른 기본 동작 또는 프리셋을 적용할 수 있습니다. (예: glTF는 A 프리셋, USD는 B 프리셋)
* **그룹:** 사용자 역할(애니메이터, 환경 아티스트 등) 또는 작업 환경(Blender 등)에 따라 다른 스택을 적용할 수 있습니다.
* **5.7:** 그룹 옵션이 추가되어 지정된 그룹에 따라 자동으로 스택이 적용되도록 설정할 수 있습니다.
* **UI 개선:**
* 기본적으로 모든 설정을 숨기고 파일 내용을 요약하여 보여주는 단순화된 UI를 제공합니다. (주로 UEFN에서 사용)
* 고급 설정은 언제든지 접근 가능합니다.
* **주요 기능 업데이트:**
* **레벨 가져오기 지원:** FBX 파일도 Interchange를 통해 레벨로 가져올 수 있습니다.
* **재가져오기 설정:** 재가져오기 시 기존 파이프라인 설정 적용 또는 변경이 가능합니다.
* **레벨 인스턴스 액터 지원:** 장면 가져오기 시 액터들을 레벨 인스턴스 액터로 묶을 수 있습니다.
* **Nanite Foliage 지원:** USD 및 사용자 정의 스키마를 통해 Nanite Foliage를 지원합니다.
### 4. 향후 계획 및 리소스
* **FBX:**
* UFBX 또는 MicroFBX 라이브러리 도입 검토 중 (가져오기 속도 향상 기대)
* **Interchange vs Legacy:** Interchange가 권장되지만, 레거시 프레임워크도 계속 지원됩니다. Interchange 플러그인을 비활성화하는 대신, CVAR을 사용하여 특정 파일 형식(FBX)에 대한 Interchange만 비활성화하는 것을 권장합니다.
* **USD:**
* Interchange 플러그인 개발 진행 중 (현재 Stage Actor는 레거시 코드 사용)
* 문서화 작업 확장 예정
* **재질:**
* Substrate 재질의 지속적인 업데이트 및 USD, glTF용 Substrate 버전 재질 제공 예정.
* **엔진에서 MaterialX 형식으로 재질 내보내기 기능 개발 예정.**
* **참고 자료:**
* **Interchange 샘플 프로젝트:** EDC 플랫폼 제공 (파이프라인, 번역기, 팩토리 등 상세 설명)
* **FBX Legacy vs Interchange UI 변경 사항:** EDC 플랫폼 튜토리얼
* **USD 지원 현황:** 일반 문서 및 기능 지원 목록
* **Substrate 문서, X-Rite 플러그인:** 관련 링크 제공 (QR 코드)
* **Nathaniel 발표:** YouTube 업로드 예정