mystic-agit 개발 블로그

[Unreal] Android 빌드 옵션에 대해 (Content Management, Flavor Selection, Binary Configuration) 본문

Unreal

[Unreal] Android 빌드 옵션에 대해 (Content Management, Flavor Selection, Binary Configuration)

mystic-agit 2024. 5. 9. 22:56

Unreal 프로젝트에서 Android 빌드 시 노출되는

Content Management, Flavor Selection, Binary Configuration 설정에 대해 간략히 알아보았다.

 

 

 

Content Management

  • Package Project
    • 현재 프로젝트를 apk output으로 도출
  • Cook Content
    • 애플리케이션에서 리소스를 준비하고 빌드하는 프로세스
    • 프로젝트 내 asset(모델, 텍스처, 사운드 등)을 게임 실행에 필요한 형식으로 변환,
      그래픽스와 연결하는 작업을 포함
    • 현 프로젝트에 cooking이 되는 것이라 리소스의 준비 상태를 확인하고,
      프로젝트를 최적화하여 공유하기 전에 진행하는 프로세스
      • cooking을 진행하여서 특정 OS에서 설치 가능한 output이 발생하진 않음

 

Flavor Selection

  • 텍스처 압축 포멧 선택
  • ASTC (Adaptive Scalable Texture Compression)
    • 고급 텍스처 압축 포멧, 다양한 해상도 및 비율에 대해 효율적인 메모리 사용 보장
    • 품질을 유지하면서 GPU 성능을 향상
    • OpenGL ES 3.0 이상에서 지원
    • Unity, Unreal에서 지원
  • DXT (DirectX Texture Compression)
    • Microsoft DirectX API용으로 개발된 압축 포멧
    • 특정 게임 엔진이나 플랫폼에서 사용
    • 압축률이 좋고, GPU에서 해독이 빠르지만, 품질 손실 폭이 큼
  • ETC2 (Ericsson Texture Compression version 2)
    • RGBA와 RGB 텍스처를 지원
    • 압축 모드를 지원(최상 품질, 중간 품질, 최소 품질 등)
    • OpenGL ES 3.0 이상에서 지원
    • Android의 경우 ETC2가 표준적으로 사용, Android 기기에서 대부분 이 포멧을 사용
    • Unity, Unreal에서 지원
  • Multi
    • ASTC, DXT, ETC2 압축 방식을 포함

 

잠깐! ASTC와 ETC2 비교

  • 압축 품질 (ASTC > ETC2)
    • 더 높은 압축 품질 제공
    • 메모리 사용 최적화, 세부 사항 보존성이 좋은 고품질 압축
  • 유연성 (ASTC > ETC2)
    • 다양한 압축 모드 지원
  • 압축 진행 시간
    • ASTC가 ETC2보다 압축 시간이 더 오래걸림 (더 복잡한 인코딩 과정)
  • 플랫폼 지원
    • ETC2는 주로 Android 플랫폼에서 지원
    • ASTC는 Android 및 iOS 플랫폼 모두 지원

 

Binary Configuration

  • Use Project Setting (Shipping)
    • 프로젝트 설정에 따른 빌드 시 사용
    • 릴리즈 빌드에 적합한 용도로 개발자가 커스텀한 설정을 포함하도록 함
  • DebugGame
    • 개발자가 게임을 개발하고 디버깅할 때 사용
    • 디버깅 정보를 포함하여 빌드 (상세한 로그 정보 포함)
    • 퍼포먼스와 빌드 크기 면에선 최적화되지 않음
  • Development
    • 개발 중에 프로덕션 품질로 테스트할 때 사용
    • DebugGame 보다 상대적으로 적은 정보를 포함
    • 릴리즈용으로 빌드하기 전 테스트를 위한 빌드
  • Shipping
    • 배포되는 릴리즈용 빌드 시 사용
    • 디버깅 정보가 완전히 제거, 최적화 진행
    • 빌드 크기 최소화, 성능 향상
Comments