카테고리 없음

USD(Universal Scene Description) 파일, openUSD란?

Upright_wing 2025. 5. 15. 12:39
반응형

USD란 무엇인가?

컴퓨터 그래픽 영화나 게임을 제작하는 파이프라인은 대량의 3D 데이터를 생성하고 전달하게 된다. 이 데이터는 장면 기술(scene description)이라 불리며, 각 애플리케이션(모델링, 애니메이션, 렌더링 등)은 고유한 형식의 장면 기술을 사용한다. 이로 인해 다양한 도구 간 데이터 교환이 어려워진다.

USD(Universal Scene Description)는 이러한 문제를 해결하기 위해 만들어진 오픈소스 장면 기술 시스템이다. 다양한 자산을 하나의 장면으로 조립하고, 여러 애플리케이션 간 교환 및 비파괴적 편집을 가능하게 한다. USD는 하나의 일관된 API와 scenegraph를 제공하며, 다양한 그래픽 도메인을 빠르게 읽고 쓸 수 있도록 지원한다.

왜 USD를 사용하는가?

  • 다양한 DCC 툴 간 통합된 장면 표현 제공
  • 고성능의 조립 및 오버라이드 기능 지원
  • 여러 아티스트 간 협업 가능
  • 빠른 반복 작업 및 미리보기 제공

픽사는 USD를 자사의 Presto 시스템에 통합해 모든 3D 작업에 활용하고 있다.

USD의 구성 방식

USD는 장면을 계층 구조의 Prims로 구성하며, 각 prim은 속성과 관계를 가진다. 이들은 Layer라는 단위로 나뉘어 저장된다.

지원 도메인:

  • Geometry: 메쉬, 곡선, 점, NURBS 패치 등
  • Shading: 머티리얼, 쉐이더 노드 네트워크
  • Model/Asset: 논리적 장면 단위 및 외부 자산 참조

조립 기능:

  • subLayers: 여러 레이어를 쌓아 구성
  • references/payloads: 외부 자산을 참조 또는 지연 로딩
  • variantSets: 여러 버전의 자산 정의 및 전환
  • inherits/specializes: 상속 및 특수화 관계 설정

오버라이드 기능:

  • prim 및 속성 추가, 삭제, 재정렬
  • 속성 값 덮어쓰기 및 차단
  • 관계 대상 추가 및 정렬

추가 기능:

  • Instancing: 수천 개 자산 복제를 효율적으로 처리
  • Value Clips: 시간 기반 데이터 분산 저장

Hydra를 통한 시각화

Hydra는 USD와 함께 제공되는 시각화 프레임워크로, 다양한 렌더러와 호환된다. 대표적으로 Storm, HdPrman, Embree 기반 렌더러 등이 있다.

Hydra는 usdview 및 Maya, Houdini, Katana 등에서 사용되며, 실시간 프리뷰 및 애니메이션 스트리밍 기능도 제공한다.

확장성과 커스터마이징

USD는 다음과 같은 확장 지점을 제공한다:

  • 자산 경로 해석기(Asset Resolver) 커스터마이징
  • 다양한 파일 포맷 지원 (.usda, .usdc, .usdz, Alembic 등)
  • 동적 파일 포맷 구성
  • 사용자 정의 Schema 생성 및 Hydra 시각화 연동

USD의 한계

  • GUID를 지원하지 않으므로, 참조 자산의 내부 구조가 바뀌면 override가 깨질 수 있다.
  • 실행 엔진은 아니며, 시뮬레이션이나 리깅 동작을 처리하지 않는다.

USD는 경량화된 scenegraph와 강력한 조립 기능을 제공하면서, 다양한 도구 간 확장성과 유연성을 확보하는 데 중점을 둔 시스템이다.

반응형