3D 작업을 위한 USD 파일 포맷: 왜 놀라운가

카테고리 3D, 오픈 소스 태그 , , , , , , ,
Save and Share:

USD(Universal Scene Description)는 Pixar에서 디지털 콘텐츠 제작 애플리케이션 간에 3D 컴퓨터 그래픽 장면을 교환하기 위해 개발한 파일 포맷입니다. 3D 지오메트리, 셰이딩, 조명, 물리 및 기타 그래픽 관련 영역에 대한 정보를 저장할 수 있는 확장 가능한 오픈 소스 파일 포맷입니다. 또한 여러 소스의 데이터를 구성하고 덮어쓸 수 있어 비파괴적으로 편집할 수 있는 단일 장면 그래프를 생성할 수 있습니다.

USD는 디자인, 건축, 애니메이션, 게임 등 다양한 산업 분야에서 사용되며 Blender, Cinema 4D, Houdini, Maya, Apple의 SceneKit과 같은 많은 소프트웨어 애플리케이션에서 지원됩니다. USD는 또한 Pixar의 3D 그래픽 파이프라인의 핵심이자 Nvidia의 Omniverse 플랫폼의 기반입니다.

Universal Scene Description(USD) 사양은 다음과 같은 여러 파일 형식을 사용합니다.

  • .usd – ASCII 또는 이진 인코딩 가능
  • .usda – ASCII 인코딩
  • .usdc – 이진 인코딩
  • .usdz – 무압축, 암호화되지 않은 zip 아카이브로 포맷된 패키지 파일입니다. .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3 및 .wav 파일을 포함할 수 있습니다.

Blender(또는 다른 3D 소프트웨어)를 사용하면 인터페이스만으로 많은 작업을 쉽게 수행할 수 있지만, 다른 소프트웨어를 파이프라인에 도입하기 시작하면 문제가 여기저기서 발생하기 시작합니다. 따라서 오늘날 여러분이 겪고 있을 가장 큰 문제와 Pixar가 이러한 문제를 극복하기 위해 어떤 솔루션을 만들었는지 이야기해 보겠습니다.

KaizenTutorials의 USD 파일 형식에 대한 비디오

문제점

Substance에서 모델의 텍스처를 만들고, Unreal로 작업을 가져오거나, 다른 소프트웨어를 사용하는 사람과 프로젝트를 공유하려고 시도한 적이 있다면, 이것이 얼마나 짜증나는 일인지 깨달았을 것입니다. 다양한 파일 형식, 각 개별 소프트웨어에 맞는 적절한 내보내기 워크플로를 처리해야 하고, 그 과정에서 귀중한 데이터를 잃어버리면 마치 일부러 머리를 벽에 반복해서 박는 것처럼 느껴질 수 있습니다.

그리고 이것은 모든 3D 아티스트가 경험하는 일이라고 해도 과언이 아닙니다. 자신만의 맞춤형 파이프라인을 가진 솔로 제작자로 작업하든, Pixar와 같은 대규모 스튜디오에서 1,232명의 다른 모든 사람을 위해 적절한 워크플로를 유지하기 위해 엄격한 파이프라인 제약 조건을 준수해야 하든 문제는 동일합니다.

이러한 문제가 발생하는 이유

하지만 그럴 만도 하죠? 각 소프트웨어는 자체 요구 사항에 맞는 독점 파일 형식을 사용합니다. 예를 들어 Blender의 파일은 Blender에서 작동하도록 코딩되었지만 Substance에서는 작동하지 않습니다. 당연히 회사에서 각 아티스트는 프로젝트 작업을 쉽고 때로는 가능하게 만들기 위해 자신이 선택한 도구와 호환되는 파일을 요구합니다.

이것이 다른 소프트웨어로 전환하거나 프로젝트를 다음 사람에게 전달할 때 FBX 또는 OBJ와 같은 더 보편적인 파일 형식으로 내보내야 하는 이유입니다. 하지만 이러한 파일 형식조차도 시뮬레이션, 조명 및 Blender 프로젝트의 다른 많은 측면을 제대로 저장할 수 없는 등 많은 제한 사항이 있습니다.

USD 소개

그렇다면 이 문제에 대한 해결책은 무엇일까요? 바로 Universal Scene Description(USD)입니다! 2016년에 Pixar에서 새로운 핵심 파이프라인으로 오픈 소스 소프트웨어로 처음 게시된 USD는 주로 아티스트가 서로와 사용하는 도구 간에 데이터를 더 쉽게 이동할 수 있도록 하는 방법이었습니다.

릴리스 이후 USD는 지속적으로 변경 및 개선되고 있으며, 이는 Blender와 마찬가지로 지속적으로 업데이트되고 확장되는 오픈 소스 소프트웨어의 일반적인 특징입니다.

USD란 무엇입니까?

USD는 여러 가지 의미를 가지고 있으며, 깊이 파고들면 실제로 매우 기술적이고 복잡하게 설명할 수 있습니다. 하지만 간단히 말하면 USD는 Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse 등과 같은 앱이 서로 통신하고 이해할 수 있도록 하는 방법입니다.

컴퓨터 업계에서는 이를 상호 운용성이라는 멋진 단어로 표현합니다. 발음하기는 좀 어렵죠! 하지만 아무리 멋지게 들려도 생각보다 복잡하지 않습니다. 오늘 당장 자신의 컴퓨터에서 또는 전 세계의 여러 친구나 동료와 함께 사용할 수 있습니다.

USD의 차이점

기존의 파이프라인은 각 사람이 이전 사람이 끝나야만 작업할 수 있는 매우 단방향적인 것입니다. 또는 개인적으로 모델링이 완전히 완료된 경우에만 텍스처링과 같은 프로세스의 다음 단계로 진행할 수 있습니다.

이것을 케이크 굽기에 비유할 수 있습니다. 케이크를 만들고 만드는 동안 각 단계를 완료해야 다음 단계를 시작할 수 있습니다. 반죽을 섞기 전에 케이크를 구울 수 없고, 오븐에서 케이크를 굽기 전에 만들 수 없습니다. 각 단계는 이전 단계가 완료되어야 합니다.

더 중요한 것은, 일단 설탕 프로스팅과 필링을 바르거나 스펀지에 초콜릿 맛을 내기로 결정하면 되돌릴 수 없다는 것입니다. 케이크를 다시 굽거나, 바닐라 맛으로 바꾸거나, 설탕 프로스팅을 제거할 수 없습니다. 이것을 파괴적인 워크플로라고 합니다.

하지만 USD는 레고와 같습니다. 각 블록은 3D 장면의 일부(캐릭터, 객체, 환경 등)를 나타내며 이러한 블록을 독립적으로 조립, 분해 및 수정할 수 있습니다.

기존 파이프라인에서는 하나의 블록을 변경하려면 나머지 구조를 조정해야 합니다. 하지만 USD를 사용하면 각 빌딩 블록을 독립적으로 작업할 수 있으며 전체 모델을 다시 빌드할 필요 없이 예를 들어 하나의 블록을 다른 색상으로 간단히 변경할 수 있습니다.

파이프라인 제한으로 인해 어려움을 겪지 않고 실험과 협업 워크플로를 허용하는 비파괴적인 접근 방식입니다.

USD의 목표

USD의 모든 목표는 데이터가 애플리케이션 간에 자유롭게 이동할 수 있는 방법을 만들고, 아티스트와 팀이 내보내기에 집중하지 않고 서로가 작업을 계속할 수 있도록 기다리지 않고 창작에 집중할 수 있는 자유를 제공하는 것입니다. 컨셉 팀이 나중에 변경하기로 결정하더라도 아티스트는 다시 시작할 필요가 없어야 합니다. 그리고 다른 프로그램에서 가져온 파일 형식이 선택한 소프트웨어에서 작동하지 않는 문제가 없어야 합니다.

서비스 수준에서 USD는 높은 상호 운용성을 가진 파일 형식으로 보입니다. 많은 사람들이 혼자서 작업하는 경향이 있기 때문에 대부분의 Blender 사용자에게는 그렇게 될 것입니다. 하지만 USD는 단순한 파일 형식이 아닙니다…

애플리케이션 간에 사용하고 종종 실시간으로 비파괴적으로 편집하여 가상 세트, 장면, 샷 및 세계로 모든 자산을 조립하고 구성하는 방법입니다.

USD로 작업하는 방법

Blender 워크플로에서 USD로 작업하는 방법을 살펴보겠습니다. 가장 기본적인 형태로 USD는 버전 3.6부터 Blender에서 내보내기 옵션이었습니다. 따라서 작업 중인 파일이 있고 USD 파일로 저장하려면 파일 > 내보내기 > Universal Scene Description으로 이동하면 파일을 저장할 수 있는 프롬프트 창이 나타납니다.

몇 가지 옵션이 있지만 주목해야 할 주요 옵션은 다음과 같습니다.

  • 선택 항목만 – 내보내기에 선택한 객체만 포함합니다.
  • 애니메이션 및 헤어 – 객체의 애니메이션 및 헤어 파티클 데이터를 포함/제외합니다.

USD가 작동하는 방식에 대한 훌륭한 예가 있습니다. 이것은 3ds Max 및 Substance와 같은 다양한 소프트웨어에서 만들어진 Nvidia의 USD 샘플 라이브러리의 파일입니다. 가져오기를 통해 Blender에서 이 파일을 열면 거의 100% 즉시 작동합니다!

보시다시피 조명, 피사계 심도, 카메라, 재료 등 모든 데이터가 포함되어 있습니다. 제대로 내보내지지 않는 유일한 것은 우리가 직접 설정해야 하는 HDRI 조명입니다. 하지만 이것이 3DS Max의 Arnold 렌더러 내부와 거의 동일하게 보이고 단일 파일 형식을 사용하여 Blender로 내보내져서 똑같이 잘 작동한다는 것을 생각하면 놀랍습니다!

적절한 계층 구조, 재료가 있고 기본적으로 모든 것이 설정되어 있습니다. 정말 멋집니다! 어쨌든 이것은 USD가 다른 애플리케이션 간에 어떻게 작동하는지, 그리고 상호 운용 가능한 파일 형식으로 기능하는지 보여줍니다.

실용적인 USD 예

하지만 좀 더 실용적인 예를 살펴보겠습니다. 이 파이프라인 예에서는 게임용 객체를 모델링하기 위해 Blender를 사용하는 일반적인 워크플로를 사용하겠습니다.

기존 파이프라인은 다음과 같이 진행됩니다.

  1. Blender에서 모델 만들기
  2. 모델 UV 언랩
  3. Painter에서 Blender 파일을 사용할 수 없으므로 FBX로 내보내기
  4. Substance Painter로 FBX 가져오기
  5. Substance에서 재료 추가
  6. 텍스처를 이미지로 내보내기
  7. 게임 엔진으로 FBX 가져오기
  8. 텍스처를 수동으로 설정
  9. 렌더링 만들기

USD를 사용하면 이 프로세스를 크게 단순화하고 비파괴적인 워크플로를 대부분 유지할 수 있습니다. 파이프라인은 Blender와 Substance가 주요 구성 요소로 매우 유사하게 유지됩니다.

하지만 USD는 이러한 앱 간에 실시간으로 기본적으로 작동하지 않기 때문에(주로 Blender가 여전히 USD 지원이 제한적이기 때문에) Nvidia Omniverse를 사용하여 연결을 만들겠습니다.

Omniverse를 통해 Nvidia에서 빌드한 USD와 더 호환되는 Blender 분기에 액세스할 수 있습니다. Substance Painter용 Omniverse 커넥터를 활성화하여 LifeLink를 구현할 수 있습니다. 그리고 USD Composer를 사용하여 앱 간의 간격을 연결하고 최종 제품을 볼 수 있습니다.

설정이 완료되면 사용자 지정 Blender 분기에서 Blender 프로젝트를 열 수 있습니다. 그런 다음 N을 누르고 여기 오른쪽으로 이동하면 Nucleus 추가 기능을 통해 USD 파일로 내보낼 수 있습니다.

그런 다음 USD Composer로 이동하여 해당 USD 파일을 열면 앱 간에 일종의 라이브 링크를 얻을 수 있습니다. 이제 메시를 변경하고 다시 내보내면 USD Composer 내에서 자동으로 선택됩니다.

더 좋아집니다! 모델을 가져온 후 Substance Painter를 열고 Omniverse 커넥터를 활성화하고 메시 가져오기로 이동하여 USD Composer에서 Substance로 객체를 자동으로 가져올 수 있습니다. 이 시점에서 Blender에서 변경하면 여전히 다시 내보내고 USD Composer에서 선택할 수 있으며, 이는 Substance Painter에 자동으로 연결됩니다.

그러나 Substance Painter 내에서 텍스처를 추가하면 다시 이렇게 하면 해당 텍스처가 제거됩니다. 따라서 만족하면 Substance Painter에서 재료를 추가하고 Life Link를 활성화하면 USD Composer에 자동으로 나타납니다.

그런 다음 변경하는 내용은 USD Composer에서 자동으로 내보내고 업데이트됩니다. 정말 멋집니다!

저에게는 이 워크플로가 꽤 놀랍습니다. Blender와 Substance Painter에서 실시간으로 변경하고 그 모든 것이 자동으로 작동하여 최종 렌더링에 반영될 수 있다는 것은 특별한 일입니다.

Nvidia Omniverse가 제공하는 모든 것을 사용해 보는 데 관심이 있다면 설명에 있는 링크를 통해 무료로 다운로드할 수 있습니다. 그리고 USD와 Omniverse가 함께 제공하는 모든 기술적 사용 사례에 대해 자세히 알고 싶다면 오픈 USD 데이 세션에 가상으로 또는 3월에 GTC에서 직접 참석할 수 있는 링크와 함께 무료 다운로드 링크를 찾을 수 있습니다.

이것이 진정으로 3D 워크플로의 미래이기 때문에 확인해 보는 것이 좋습니다.

USD에 대한 추가 정보

이 재미있는 예 외에도 USD는 훨씬 더 많은 것을 제공합니다. 그리고 그 기능을 잘 활용하면 아티스트로서 훨씬 더 효율적이 될 것입니다. 그렇다면 다른 무엇을 할 수 있을까요?

보편적인 파일 형식이 여러분의 삶을 훨씬 더 편하게 만들어 줄 뿐만 아니라 절대적으로 미래라는 사실 외에도 그렇습니다. 2023년 8월 이후 USD는 Pixar, Apple, Adobe, Autodesk 및 Nvidia를 창립 멤버로 하는 The Alliance of Open USD(약칭 AO USD)라는 공식 비영리 단체가 되었습니다.

이것은 이러한 회사가 얼마나 투자하고 있는지, 그리고 이것을 상호 운용 가능한 파일 형식의 미래로 얼마나 보고 있는지 보여주는 것이라고 생각합니다. 모든 사람이 매우 쉽게 사용할 수 있어야 합니다.

파일 형식 외에도 USD는 조명과 카메라에서 시뮬레이션 캐시와 장면 데이터에 이르기까지 거의 모든 것“프림”(기본 요소의 약자)이라는 레이어와 같은 구조로 저장합니다. 광범위한 애플리케이션에서 읽을 수 있는 형식으로 복잡한 장면과 자산을 설명하기 위한 모든 데이터를 포함합니다.

이제 그것을 알면 “Universal Scene Description”이라는 이름이 실제로 말이 됩니다!

Blender 컬렉션에 익숙하다면 USD는 비슷하게 작동합니다. USD는 이러한 모든 레이어를 인스턴스로 취급한다는 추가적인 이점과 함께 여러 중첩된 컬렉션 내부에 무엇이든 중첩할 수 있습니다. 따라서 최적화된 방식으로 모든 데이터를 매우 빠르게 로드하고 읽을 수 있습니다.

이것은 Blender에서 컬렉션을 인스턴스화하는 것과 유사하게 작동합니다. 인스턴스는 실제 복제된 객체보다 컴퓨팅이 덜 필요하기 때문입니다. 또한 After Effects에서 프리컴프하거나 Nuke에서 컴파운딩하는 것과 매우 유사합니다. 기본적으로 중첩된 그룹/레이어 내부에 항목을 그룹화하여 컴퓨터가 파일을 더 쉽고 빠르게 작업할 수 있도록 합니다.

이 최적화의 훌륭한 예는 “Da Vinci’s Workshop”이라는 Nvidia의 최신 USD 샘플 프로젝트입니다. 실시간 조명을 사용하여 USD 프로젝트를 보는 데 완벽한 USD Composer 앱을 사용하여 수백만 개의 다각형으로 구성된 이 방대한 67GB 자산, 텍스처 및 조명 라이브러리를 지연이나 문제 없이 거의 120FPS로 재생할 수 있습니다. 이는 USD가 파일을 매우 효율적으로 로드하고 극도로 최적화된 방식으로 텍스처를 로드하기 때문에 가능합니다.

마찬가지로, 이전에는 Alembic 파일로 내보내던 애니메이션의 경우 USD 캐싱이 훨씬 빨라졌습니다. Alembic 파일은 일반적으로 거대하고 최적화되지 않았으며 컴퓨터에서 느리게 읽히기 때문에 일반적으로 끊김 재생이 발생합니다. USD를 사용하면 꾸준한 FPS를 달성하는 데 전혀 문제가 없으며 파일 크기가 훨씬 작습니다.

더 많은 이점

또 다른 정말 멋진 기능은 USD 프로젝트 내부의 레이어에 파일 외부에서 매우 쉽게 액세스할 수 있다는 것입니다. 예를 들어 USD 파일 내부에 구가 녹색이라는 데이터를 포함하는 프리임 레이어가 있는 경우 USD Composer와 같은 USD 호환 편집기에서 해당 색상을 빨간색으로 간단히 변경하면 Blender에서 파일을 열지 않고도 구의 색상을 변경할 수 있습니다! 정말 강력합니다.

물론 기본적인 예이지만 잠재력을 보여줍니다. 또 다른 주요 이점은 USD를 사용하면 특정 소프트웨어에서 복잡한 파일의 단일 레이어만 작업할 수 있다는 것입니다. 따라서 파일에 카메라, 조명 등이 포함된 전체 프로젝트가 포함되어 있더라도 해당 파일의 한 부분, 예를 들어 단일 모델만 Substance Painter 내부에서 열고 프로젝트의 해당 부분만 작업할 수 있으며 다른 것에는 영향을 미치지 않습니다.

이것은 여러 사람이 동일한 파일에서 작업하는 경우에도 마찬가지입니다. USD의 또 다른 주요 강점입니다. 10명이 동일한 파일에서 작업할 수 있으므로 아티스트 1명이 변경한 내용은 아티스트 2에게 즉시 표시되어 그에 따라 작업을 조정할 수 있습니다. 원격으로 사람들과 협업할 수 있다는 것은 매우 강력합니다.

3D 파이프라인의 미래

USD는 단순한 파일 형식 그 이상이라고 해도 과언이 아닙니다. 제한 없이 창조할 수 있는 자유라는 사명에서 Blender와 실제로 일치하는 포괄적인 기술 플랫폼이자 생태계입니다.

USD는 아직 개발 중입니다. 꿈은 현실입니다. 업계의 모든 소프트웨어에서 사용할 수 있고 여러 아티스트가 실시간으로 편집할 수 있는 보편적인 소프트웨어 파일 형식입니다.

이 놀라운 개발로 길을 열어준 Pixar와 Nvidia 및 Apple과 같은 회사가 자신의 역할을 기여해 준 것에 대해 감사해야 합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다