[KOR][100]The-State-of-Model-Importing-Processes-i

https://www.youtube.com/watch?v=8CyEgBRdB3Q

Frame at 1.68s
## 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 업로드 예정