.uexp와 .ubulk 파일의 정의와 역할
언리얼 엔진에서 텍스처를 쿠킹(Cooking)하면 **.uexp**와 .ubulk 파일이 생성됩니다. 이 파일들은 각각 텍스처 데이터와 관련된 정보를 저장하며, 최적화된 리소스 로딩과 관리를 위해 사용됩니다.
.uexp 파일
정의 및 역할
.uexp는 Unreal Export 파일의 약자로, 주로 텍스처와 같은 리소스의 데이터와 메타정보를 저장합니다. 이 파일은 .uasset 파일과 함께 작동하며, 텍스처의 압축 설정이나 Mip Map 레벨과 같은 추가적인 데이터가 포함됩니다.
주요 내용
- 머티리얼과 텍스처 설정 정보:
- 텍스처의 압축 형식(예: DXT, BC7, ASTC).
- 필터링 방식(예: Bilinear, Trilinear).
- 텍스처의 Wrap Mode(반복, 클램프).
- 플랫폼별 메타정보:
- 플랫폼 및 GPU API(DX11, Vulkan)에 최적화된 데이터를 설명.
- 테이블 데이터:
- 텍스처 데이터를 관리하기 위한 인덱스와 참조 정보를 포함.
역할
- .uasset 파일이 텍스처의 기본적인 메타데이터(예: 이름, 유형, 경로)를 저장하는 반면, .uexp는 텍스처의 세부 데이터를 저장합니다.
- 엔진이 텍스처를 로드할 때 .uexp 파일을 통해 추가적인 데이터(예: 압축 형식, 필터링 정보)를 가져옵니다.
.ubulk 파일
정의 및 역할
.ubulk는 Unreal Bulk Data 파일의 약자로, 텍스처의 대용량 데이터(Bulk Data)를 저장합니다. 이 파일은 주로 텍스처의 원시 압축 데이터나 Mip Map을 포함하며, 텍스처 스트리밍 및 성능 최적화를 지원합니다.
주요 내용
- Mip Map 데이터:
- 텍스처의 여러 해상도를 포함.
- 렌더링 거리나 GPU 메모리 상태에 따라 적절한 Mip Level을 로드.
- 압축된 원시 데이터:
- 플랫폼에 맞는 텍스처 압축 데이터(예: DXT, BC7, ASTC).
- GPU에서 빠르게 사용할 수 있는 형식으로 저장.
- 스트리밍 데이터:
- 필요할 때만 로드되는 텍스처 데이터를 포함.
- 오픈 월드 게임에서 큰 텍스처를 효과적으로 관리하기 위해 사용.
역할
- 텍스처 데이터를 독립적으로 저장하여 메모리 효율성을 극대화.
- 텍스처 스트리밍 시스템에서 필요할 때만 특정 데이터를 로드.
- 게임 빌드 크기와 성능을 최적화.
.uexp와 .ubulk의 차이
파일 유형 주요 내용 역할
.uexp | 텍스처의 압축 형식, 필터링, Mip Map 정보 등 세부 데이터. | 텍스처의 압축 및 렌더링 관련 메타정보를 저장. |
.ubulk | 텍스처의 대용량 원시 데이터(Mip Map, 압축된 텍스처 데이터). | 텍스처의 대용량 데이터를 저장하여 스트리밍 및 효율적 로드를 지원. |
파일 구조
쿠킹된 텍스처는 다음과 같은 파일로 구성됩니다:
파일 이름 설명
.uasset | 텍스처의 기본 정보(이름, 유형, 경로 등 메타데이터). |
.uexp | 텍스처의 세부 설정(압축 형식, 필터링, 플랫폼별 메타데이터). |
.ubulk | 텍스처의 대용량 원시 데이터(Mip Map, 압축된 텍스처 데이터). |
.uexp와 .ubulk 활용
- 텍스처 스트리밍:
- .ubulk에 저장된 대용량 데이터를 필요한 시점에만 로드하여 메모리 사용 최적화.
- 플랫폼별 최적화:
- .uexp와 .ubulk에 저장된 데이터를 사용하여 플랫폼 및 렌더링 API에 맞는 텍스처 데이터를 로드.
- 성능 최적화:
- .ubulk를 통해 대용량 데이터를 독립적으로 관리하고, .uexp를 통해 효율적인 로드 메커니즘을 제공.
정리
- .uexp:
- 텍스처의 압축 형식, 필터링 방식, Mip Map 정보를 포함한 설정 파일.
- 텍스처 데이터 관리의 메타 정보를 저장.
- .ubulk:
- 텍스처의 대용량 원시 데이터를 저장.
- 텍스처 스트리밍 및 Mip Map 처리에 사용.
이 두 파일은 함께 작동하여 텍스처를 효율적으로 관리하고, 게임의 빌드 성능과 실행 성능을 최적화합니다.
'UNREAL ENGINE' 카테고리의 다른 글
[번역] Using physical lighting units with Enlighten and UE4 (6) | 2024.11.06 |
---|---|
셰이더 함수 분석: Diffuse_Chan (0) | 2024.10.30 |
[소식] Z-emotion 언리얼엔진 업데이트. (1) | 2024.09.27 |
텐센트 PUER TypeScript 라이브러리 (0) | 2024.07.30 |
애러 추적 : GetSingleLayerWaterMaterialOutput 에 대해서... (0) | 2024.06.28 |