RT3D 프로젝트를 위한 올바른 런타임 에셋 로딩 기술 선택하기

Apr 25, 2025
3D Data Streaming을 사용한 Unity Asset Manager의 공장 바닥 모델

RT3D(실시간 3D) 프로젝트가 점점 더 복잡해짐에 따라 에셋 관리와 런타임 로딩에 대한 스마트한 접근 방식이 필요해지고 있습니다. 개발자들은 구현 가능성의 한계를 지속적으로 확장하고 있으며, 이러한 프로젝트의 복잡성과 규모가 커짐에 따라 원활한 성능과 뛰어난 사용자 경험을 제공하는 것이 그 어느 때보다 중요해지고 있습니다. Unity Asset Manager는 에셋 정리와 관리, 최적화를 위한 포괄적인 솔루션을 제공하지만, 개발자들은 여전히 런타임 시 에셋을 로딩하기 위한 적절한 기술을 선택하는 데 문제를 겪고 있습니다.

CDN(콘텐츠 전송 네트워크)에서 콘텐츠를 스트리밍하든, 로컬 에셋을 동적으로 로드하든, 로드/언로드 사이클을 통해 메모리를 관리하든, 적절한 에셋 로딩 기술을 선택하는 것은 프로젝트의 성공에 필수적입니다.

Unity는 런타임 에셋 로딩을 위한 여러 접근 방식을 제공하며, 각 방식은 특정 요구 사항과 프로젝트 목표에 맞게 설정되어 있습니다. 이 전자책의 목표는 개발자들이 사용할 수 있는 옵션을 안내하며 각 옵션의 강점을 비교하고 프로젝트에 이상적인 솔루션을 선택하는 데 도움을 주는 것입니다.

런타임 에셋 로딩 이해하기

런타임 에셋 로딩은 애플리케이션이 실행되는 동안 콘텐츠를 로드하고 언로드하는 방식을 가리킵니다. 여기에 포함될 수 있는 내용은 다음과 같습니다.

  • CDN에서 새로운 콘텐츠 다운로드
  • 로컬 에셋 온디맨드 로딩
  • 미사용 콘텐츠를 언로드하여 메모리 관리
  • 프로그레시브 방식의 폴리곤 스트리밍

다양한 에셋 로딩 기술과 각 기술에 가장 적합한 RT3D 산업 분야 프로젝트의 예시를 몇 가지 살펴보겠습니다.

선택지 파악하기

Unity는 수많은 시나리오를 처리하기 위한 여러 접근 방식을 제공하며, 각 방식은 다양한 용도별로 최적화되어 있습니다.

  1. AssetBundles/Addressables
    1. Unity 프로젝트를 위해 특별히 구축되었습니다.
    2. 모든 Unity 에셋 유형을 처리합니다.
    3. 다음과 같은 Unity 애플리케이션에는 보통 가장 적합합니다.
      1. 효율적인 메모리 관리가 우선인 경우
      2. DLC 팩이 온라인으로 배포되는 경우
      3. 정기적인 콘텐츠 업데이트(시즌 이벤트, 신규 캐릭터, 제품 업데이트)가 있는 라이브 서비스 게임 및 애플리케이션의 경우
  2. glTF
    1. 플랫폼에 구애받지 않으며 Unity 프로세스를 통해 작업할 필요가 없는 솔루션입니다.
    2. 순수 3D 콘텐츠에 주력합니다.
    3. 일반적으로 네이티브 3D 데이터의 유연한 로딩 및 크로스 플랫폼 호환성을 요구하는 모든 런타임 애플리케이션에 가장 적합합니다.
  3. Unity 3DDS(3D Data Streaming)
    1. 플랫폼에 구애받지 않으며 CAD 및 BIM 데이터 같은 3D 모델의 시각화를 지원하는 솔루션입니다.
    2. Unity Asset Manager에서 클릭 한 번으로 생성 및 시각화가 가능합니다.
      1. 연관성 있는 콘텐츠만 최고의 품질로 로드합니다.
    3. 일반적으로 사용자가 프로그레시브 로딩으로 모든 기기에서 매우 복잡하고 세부적인 모델을 탐색할 수 있는 대규모 시각화에 가장 적합합니다.

언뜻 이러한 툴은 상호 대용으로 사용할 수 있는 것처럼 보일 수 있습니다. 그러나 이 툴은 각자 고유한 시나리오에서 더 뛰어난 성능을 보이므로 특정 용도에 더 적합합니다. 적합한 기술을 선택하려면 프로젝트의 요구 사항에 부합하는 강점을 지닌 툴을 고려해야 합니다.

적합한 기술 선택

적합한 기술을 선택하기 위한 핵심은 프로젝트의 고유한 요구 사항을 이해하는 데 있습니다. 이러한 결정을 내릴 때 고려해야 할 요소를 알아보겠습니다.

AssetBundles를 사용하면 거의 비어 있는 하나의 씬으로 애플리케이션을 제작하고, 거기서부터 게임의 나머지 요소를 동적으로 로드할 수 있습니다.

AssetBundles를 사용하면 거의 비어 있는 씬으로 애플리케이션을 제작하고, 거기서부터 게임 또는 애플리케이션의 나머지 요소를 동적으로 로드할 수 있습니다.

AssetBundles 및 Addressables

Addressables 패키지는 다음 목표를 위해 디자인된 Unity 네이티브 시스템입니다.

  • 런타임 시 에셋 로딩을 간소화합니다.
  • 종속성 추적, 콘텐츠 버전 관리, 여러 로드 경로(로컬/원격), 네트워크 전송, 캐싱을 지원합니다.

AssetBundles는 실제 에셋 패키징 및 로딩을 더 낮은 수준에서 처리하는 근원 기술입니다. Addressables는 AssetBundles를 기반으로 구축된 고수준 시스템으로 사용자 친화적인 인터페이스, 자동화된 종속성 관리, 간소화된 런타임 로딩을 제공합니다. AssetBundles는 복잡한 게임 콘텐츠 관리에 유용합니다. 특정 빌드 타겟, Unity 버전 및 플랫폼에도 최적화되어 있습니다. 다음과 같은 기능이 필요할 때 가장 적합합니다.

  • 텍스처, 사운드, 씬, 프리팹을 포함한 모든 유형의 에셋과 함께 작동하므로 여러 에셋 유형이 지원됩니다.
  • Unity가 에셋 간의 종속성을 해결하므로 종속성 관리가 가능합니다.
  • 버전 관리
  • Addressables를 사용하면 에셋 버전과 그 종속성을 추적하는 카탈로그를 얻을 수 있으므로 콘텐츠를 업데이트할 때 시스템에서 다시 다운로드해야 하는 번들을 정확히 식별할 수 있습니다.
  • 플레이어가 전체 게임을 다시 다운로드할 필요 없이 콘텐츠 업데이트(예: 시즌 팩 또는 라이브 이벤트)를 푸시하고자 하는 라이브 게임에 특히 유용합니다.
  • Unity 최적화가 필요한 특정 플랫폼

이상적인 사용 사례:

효율적인 메모리 관리 및 로딩 시간이 필요하고, 에셋 유형이 다양하거나, 정기적인 콘텐츠 업데이트가 진행되는 Unity 게임에 적합합니다. 최적화된 에셋은 서로 다른 런타임 간에 공유할 필요가 없습니다.

작동 원리: 에셋의 ‘주소’ 또는 AssetReference를 통해 콘텐츠를 필요에 따라 로드할 수 있으며, Addressables 시스템은 기기에 이미 캐시된 콘텐츠든 여전히 원격으로 CDN에 호스팅되는 콘텐츠든 나머지 요소를 자동으로 처리합니다. 런타임에 전체 애플리케이션 업데이트 없이 새로운 콘텐츠 팩을 다운로드할 수 있습니다. 성능을 유지하고 메모리를 효율적으로 관리하면서 최종 사용자에게 새로운 시즌 콘텐츠를 제공할 수 있습니다.

Unity glTFast(com.unity.cloud.gltfast) 패키지는 런타임 시 에디터 내에서 glTF™ 3D 파일의 임포트 및 익스포트를 지원합니다.

Unity glTFast(com.unity.cloud.gltfast) 패키지는 런타임 시 에디터 내에서 glTF™ 3D 파일의 임포트 및 익스포트를 지원합니다.

glTF 로딩

glTF 및 .GLB는 본질적으로 동일한 포맷이지만 다르게 패키징됩니다. glTF는 별도의 파일(텍스처, 바이너리 데이터 등)을 사용하는 텍스트 기반 포맷으로 개발 및 디버깅에 적합하며, GLB는 모든 것을 단일 바이너리 파일로 묶는 형식으로 배포 및 런타임 로딩에 더 효율적입니다.

glTF는 Unity의 무료 glTFast 패키지를 사용하여 3D 모델 로딩을 위한 간소화된 솔루션을 제공합니다. 다음과 같은 기능이 필요한 경우 이 옵션을 고려하세요.

  • 간단한 3D 모델 로딩
  • GLB의 경우, 종속성은 익스포트할 때 파일로 베이크하거나 수동으로 해결해야 합니다.
  • 크로스 플랫폼 호환성
  • 빠른 구현
  • Unity 버전이나 플랫폼에 종속되지 않는 표준 포맷 지원

이상적인 사용 사례:

빠른 로딩과 표준 포맷 지원이 우선적으로 고려되는 간단한 모델 뷰어 애플리케이션에 적합합니다. 리컴파일 없이 다양한 RT3D 프로젝트에서 에셋을 재사용해야 할 경우, GLB가 최선의 선택지입니다. 구체적인 예로는 단일 뷰어로 수천 개의 에셋을 볼 수 있는 전자상거래 애플리케이션이 있습니다.

사용자가 커스터마이즈할 수 있는 콘텐츠(예: 커스텀 아바타 또는 커스텀 액세서리)가 있고 유연하게 저작(authoring)할 수 있는 표준 포맷이 필요한 프로젝트도 여기에 포함됩니다.

작동 원리: GLB는 웹의 3D 포맷입니다. GLB 데이터는 다양한 접점에서 사용할 수 있습니다.

 Unity Asset Manager에서 3DDS를 사용하여 스트리밍된 공장 바닥 모델

Unity 3D Data Streaming을 사용하여 모델의 관련 부분만 동적으로 다운로드하고 모델 크기에 관계없이 모든 기기에서 확인 가능하도록 만들 수 있습니다.

Unity 3DDS(3D Data Streaming)

Unity 3D Data Streaming은 개발자가 3D 정적 에셋과 환경을 사용자의 기기로 직접 스트리밍할 수 있는 폴리곤 스트리밍 서비스입니다. 데이터는 Unity Asset Manager에서 Pixyz 기술로 전처리되고 배포 방식도 런타임 애플리케이션에 맞게 자동으로 최적화됩니다. 런타임 시 로딩은 Unity의 gltFast 기술로 처리됩니다.

3D Data Streaming 패키지는 클라이언트에서 즉시 사용 가능한 최적화를 구현하여 모델을 로드하므로, 카메라에서 모델의 메모리 사용량을 줄이면서 디테일을 최대한 가까이에서 확인할 수 있습니다.

3DDS는 모델의 모든 부분의 메타데이터를 보존하면서 대규모 모델과 복잡한 시각화를 처리할 때 그 진가를 발휘합니다. 3DDS는 다음과 같은 경우에 적합합니다.

  • 대형 CAD 및 BIM 모델
  • 즉각적인 콘텐츠 렌더링
  • 프로그레시브 로딩 필요
  • 단일 에셋 소스/다중 타겟 플랫폼
  • 타겟 기기별 메모리 최적화 로딩
  • 복잡한 모델 계층 구조 탐색 및 연구

이상적인 사용 사례:

그동안 런타임 애플리케이션에서 표시할 수 없었던 모델의 VR 워크스루 경험을 구현할 수 있습니다.

기기의 메모리와 렌더링 기능 제한으로 인해 전체를 로드할 수 없는 세부 CAD 또는 BIM 모델을 다루는 메타데이터 또는 프로퍼티에 액세스할 수 있는 건축 또는 엔지니어링 시각화 및 검토 애플리케이션에도 적합합니다.

의사 결정 내리기

Unity로 게임을 개발하는 경우 가장 널리 권장되는 솔루션은 Addressables입니다. 이유는 다음과 같습니다.

  • Unity의 개발 워크플로를 위해 특별히 구축됨
  • 런타임 성능에 최적화됨
  • Unity의 메모리 관리와 통합됨
  • 복잡한 에셋 종속성을 지원함
  • 여러 에셋 유형을 효율적으로 처리함

예외 사례: 게임에 사용자 생성 콘텐츠(커스텀 아바타 또는 아이템 등)가 포함되는 경우 GLB를 고려하세요.

  • 표준 포맷으로 콘텐츠 생성의 접근성이 높아짐
  • Unity 버전 간의 장기적인 호환성이 향상됨
  • 타사 연동이 더 쉬워짐(예: ReadyPlayerMe 아바타)

예외 사례: ECS(엔티티 컴포넌트 시스템) 기반 Unity 게임. Unity의 ECS 아키텍처를 활용하고 있다면 런타임 에셋 관리를 위해 엔티티 콘텐츠 관리 시스템을 사용해야 합니다.

산업 분야 프로젝트의 경우 특정 요구 사항에 따라 선택지가 달라질 수 있습니다.

다음과 같은 경우 GLB를 선택하세요.

  • 표준 3D 모델로 작업할 때
  • 크로스 플랫폼 호환성이 필요할 때
  • 사용자 업로드 콘텐츠를 처리할 때
  • 플랫폼과 독립적인 업데이트가 필요할 때
  • 장기적인 포맷 안정성이 필요할 때

다음과 같은 경우 3DDS를 선택하세요.

  • 대형 CAD/BIM 모델로 작업할 때
  • 프로그레시브 로딩이 필요할 때
  • 메모리 최적화가 필요할 때
  • 복잡한 계층 구조와 메타데이터를 보존하는 것이 우선일 때
  • 동적 정확도 조정이 필요할 때
Unity Asset Manager에 포크리프트 에셋을 업로드하는 테크니컬 아티스트

Asset Manager 시작하기

Unity Asset Manager는 런타임 전에 에셋을 구성하고 가공하는 데 도움이 되며, 선정된 로딩 전략에 맞는 효율적인 파이프라인을 생성합니다. Unity 에디터 및 Unity의 데이터 가공 솔루션인 Pixyz와 연동된 Asset Manager는 다음과 같은 작업을 수행할 수 있습니다.

  • 소스 에셋의 생성 시점부터 반복 수정(iteration), 최종 상태를 통틀어 중앙 집중화합니다.
  • 런타임 배포를 위해 에셋을 변환하고 가공합니다.
  • Unity 에디터 워크플로에서 에셋을 효율적으로 정리합니다.
  • 다양한 에셋 포맷을 전환합니다.
  • 런타임에서 사용할 수 있는 실시간 3D 파일의 저장소 역할을 합니다.

프로젝트 규모가 성장함에 따라 Unity 에디터 라이선스와 함께 Asset Manager가 확장되어 추가 스토리지 및 관리 기능이 제공됩니다.

에셋 번들을 위해 에셋을 가공하든, glTF 파일을 생성하든, 3DDS 스트리밍을 설정하든, Unity Asset Manager는 개발 중 조직과 제어 현황을 유지하는 데 도움이 됩니다.


Unity Asset Manager는 데이터를 런타임 애플리케이션으로 직접 가져올 수 있습니다. gLTF 및 3DDS 데이터가 생성되면 런타임에 즉시 검토할 수 있으며, 빌드 시간이 필요하지 않습니다. 이로 인해 산업 분야 고객이 CAD 및 BIM 데이터를 Unity 애플리케이션으로 직접 가져오는 프로세스가 단축됩니다.

사무실 디지털 트윈을 위한 사무실 가구 에셋의 Unity Asset Manager 스크린샷

더 알아보기

Unity Asset Manager 솔루션에 대해 자세히 알아보려면 다음 리소스를 확인해 보세요.

궁금한 점이 있으신가요?

Unity의 에셋 로딩에 대한 여러분의 경험과 질문을 공유해 주세요. Unity Discussions에 참여하실 수도 있습니다.

Unity Asset Manager 시작하기

전자책 다운로드

양식을 작성하고 업계 전문가들이 전하는 인사이트와 솔루션을 확인해 보세요