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 створио решење да их превазиђе до бесконачности и даље.
Проблем
Ако сте икада текстурирали модел у Substance-у, увозили свој рад у Unreal, или покушали да делите пројекат са неким ко ради у другом софтверу, вероватно сте схватили колико то може бити досадно. Морање да се носите са различитим типовима датотека, одговарајућим радним процесима извоза за сваки појединачни софтвер и губљење драгоцених података у процесу може да учини да се осећате као да намерно понављано ударате главом о зид.
И верујте ми када кажем да је то нешто што сви 3D уметници свуда доживљавају – било да радите као самостални креатор са сопственим прилагођеним током посла или у великом студију као што је Pixar, морајући да се прилагодите строгим ограничењима тока посла да бисте одржали одговарајући радни процес за свих осталих 1.232 људи који тамо раде. Проблем остаје исти.
Зашто се ово дешава
Ипак, има смисла, зар не? Сваки софтвер користи власнички тип датотеке који одговара његовим потребама. Дакле, датотека из Blender-а, на пример, кодирана је да ради у Blender-у, али не и у Substance-у. Очигледно је да у компанији сваки уметник захтева да датотека буде компатибилна са његовим сопственим алатом по избору како би се олакшао, а понекад чак и омогућио, наставак рада на пројекту.
Због тога је неопходно извозити у универзалнији тип датотеке као што су FBX или OBJ када се прелази на други софтвер или се пројекат предаје следећој особи. Али чак и ови типови датотека имају много ограничења, као што је немогућност правилног складиштења симулација, осветљења и многих других аспеката ваших Blender пројеката.
Упознавање са USD-ом
Дакле, шта је одговор на овај проблем? Universal Scene Description (USD), скраћено! Први пут објављен као софтвер отвореног кода од стране Pixar-а 2016. године као њихов нови основни ток посла, USD је углавном био начин да њихови уметници олакшају међусобно преношење података и алата које користе.
Од свог објављивања, USD се константно мења и побољшава, што је уобичајено за софтвер отвореног кода, баш као и Blender, који се такође доследно ажурира и проширује.
Шта је USD?
USD је много ствари, и ако заиста зађем дубоко у то, то заправо може бити веома техничка и компликована ствар за описати. Али, једноставно речено, USD је начин да апликације као што су Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse и многе друге разговарају и разумеју једна другу.
У компјутерској индустрији за ово заправо постоји отмена реч – интероперабилност. Мало је тешко изговорити! Међутим, колико год то отмено звучало, заправо није тако компликовано као што можда мислите. Можете почети да га користите данас на сопственом рачунару или чак са више пријатеља или колега широм света.
По чему се USD разликује
Традиционално, ток посла је веома једносмерна ствар где свака особа може да ради на нечему тек када претходна особа заврши. Или, за вас лично, можете прећи на следећи корак у процесу, као што је текстурирање, ако је моделирање потпуно завршено.
Могли бисте ово да упоредите са печењем торте – док градите и креирате ову торту, морате да завршите сваки корак пре него што можете да започнете следећи. Не можете да печете торту пре него што умесите тесто, а не можете да је градите пре него што испечете коре у рерни. Сваки корак се ослања на то да претходни буде завршен.
Што је још важније, када ставите шлаг и фил или одлучите да би кора требало да буде чоколадна, нема повратка. Не можете да „распечете“ торту, промените укус у ванилу или скинете шлаг. И то је оно што ми зовемо разорни ток посла.
USD је, међутим, више као Lego коцкице. Свака коцкица представља део 3D сцене – ликове, објекте, окружења, шта год – и можете да склапате, растављате и модификујете ове коцкице независно.
У традиционалном току посла, промена једне коцкице би подразумевала прилагођавање остатка структуре. Али са USD-ом, свака коцкица се може обрађивати независно и могу једноставно променити једну коцкицу у другу боју, на пример, без потребе да се цео модел преправља.
То је неразоран приступ који омогућава експериментисање и колаборативне токове посла без да сте заглављени ограничењима тока посла.
Циљ USD-а
Циљ свега овога са USD-ом је да се створи начин да се подаци слободно крећу између апликација, да се уметницима и тимовима да слобода да се фокусирају на креирање, а не на извоз и чекање једни на друге да би могли да наставе да раде. Уметници не би требало да морају да почињу изнова ако концептни тим одлучи да промени ствари касније у процесу. И не би требало да буде проблема са форматима датотека које долазе из других програма који не раде у вашем софтверу по избору.
На нивоу услуге, то је оно што USD изгледа да јесте – веома интероперабилан формат датотека који се лако размењује између различитих софтвера. И да будем искрен, то ће и бити за већину корисника Blender-а, јер многи од нас имају тенденцију да раде соло. Али USD је више од само типа датотеке…
То је начин да се састави и организује било који број елемената у виртуелне сетове, сцене, кадрове и светове – користећи их из апликације у апликацију и неразорно их уређујући, често у реалном времену.
Како радити са USD-ом
Дакле, погледајмо како можемо радити са USD-ом у току посла Blender-а. У свом најосновнијем облику, USD је опција за извоз у Blender-у још од верзије 3.6. Дакле, ако имате датотеку на којој радите и желите да је сачувате као USD датотеку, можете да одете на File > Export > Universal Scene Description и појавиће се прозор за чување датотеке.
Има доста опција, али главне које треба напоменути су:
- Selection Only (Само селекција) – Укључиће само одабране објекте у вашем извозу
- Animation and Hair (Анимација и коса) – Укључиће/искључиће анимацију и податке о честицама косе за ваше објекте
Ево сјајног примера како USD функционише. Ово је датотека из Nvidia-ине USD библиотеке примера која је направљена у мноштву софтвера као што су 3ds Max и Substance. Ако је отворите у Blender-у увозом, ради скоро 100% одмах!
Као што видите, садржи све податке, укључујући светла, дубинску оштрину, камеру, материјале и још много тога. Једино што се не извози правилно је HDRI осветљење, које морамо сами да подесимо. Али невероватно је помислити да ово изгледа скоро идентично унутар 3DS Max-овог Arnold рендера, и једноставно је извезено у Blender и ради исто тако добро користећи један тип датотеке!
Има одговарајућу хијерархију, материјале и у основи је све подешено. Заиста је, заиста кул! У сваком случају, ово показује како USD функционише између различитих апликација и да функционише као интероперабилан формат датотека.
Практичан USD пример
Али хајде да погледамо практичнији пример. За овај пример тока посла, користићу типичан радни процес коришћења Blender-а за моделирање објекта за игру.
Традиционални ток посла би изгледао отприлике овако:
- Креирај модел у Blender-у
- UV распакуј модел
- Извези као FBX пошто Painter не може да користи Blender датотеке
- Увези FBX у Substance Painter
- Додај материјале у Substance-у
- Извези текстуре као слике
- Увези FBX у engine за игре
- Ручно подеси текстуре
- Креирај рендере
Са USD-ом можемо значајно да поједноставимо овај процес и задржимо углавном неразорни ток посла. Ток посла остаје веома сличан, са Blender-ом и Substance-ом као главним компонентама.
Али пошто USD изворно не ради у реалном времену између ових апликација (углавном зато што Blender још увек има ограничену USD подршку), користићу Nvidia Omniverse да створимо ту везу за нас.
Кроз Omniverse могу да добијем приступ USD-компатибилнијој грани Blender-а коју је изградила Nvidia. Могу да омогућим Omniverse конектор за Substance Painter да остварим LifeLink. И могу да користим USD Composer да премостим јаз између апликација и видим коначни производ.
Са тим подешавањем, сада можемо да отворимо наш Blender пројекат у прилагођеној Blender грани. Ако затим притиснемо N и одемо на десну страну овде, добијамо Nucleus додатак који нам омогућава да ово извеземо као USD датотеку.
Ако затим одемо у USD Composer и отворимо ту USD датотеку, добијамо неку врсту везе уживо између апликација. Сада могу да направим било какву промену на мрежи, поново је извезем и да се то аутоматски преузме унутар USD Composer-а.
Постаје још боље! Када увеземо модел, можемо да отворимо Substance Painter, омогућимо Omniverse конектор и одемо на Import Mesh да аутоматски увеземо наш објекат из 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 дневним сесијама виртуелно или лично на GTC-у у марту.
Заиста препоручујем да то проверите јер је ово заиста будућност 3D токова посла.
Више о USD-у
Поред овог забавног примера, USD има много више да понуди. И ако добро искористите његове могућности, постаћете много ефикаснији као уметник. Дакле, шта још може да уради?
Па, осим чињенице да би универзални формат датотека учинио ваш живот много лакшим, то је апсолутно будућност. Од августа 2023. године, USD је постао званична непрофитна организација под називом The Alliance of Open USD (AO USD) – са Pixar-ом, Apple-ом, Adobe-ом, Autodesk-ом и Nvidia-ом као њеним оснивачима.
Мислим да ово заиста показује колико су ове компаније уложиле и како заиста виде ово као будућност интероперабилног формата датотека – који би сви требало да могу да користе веома лако.
Поред тога што је формат датотеке, USD складишти скоро све – од светала и камера до кешова симулација и података сцене – у структури налик слојевима која се зове „прими“ (скраћено од примитиви). Садржи све те податке да опише сложене сцене и елементе у формату читљивом широком спектру апликација.
Сада, знајући то, назив „Universal Scene Description“ заправо има много смисла!
Ако сте упознати са Blender колекцијама, USD функционише слично. Можете да угнездите било шта унутар више угнежђених колекција, са додатном предношћу да USD третира све ове слојеве као инстанце. Због тога је у стању да веома брзо учита и прочита све податке на оптимизован начин.
Ово функционише слично инстанцирању колекција у Blender-у, што је добро јер инстанце захтевају мање рачунарске снаге од стварних дупликата објеката. Такође је веома слично пре-компајлирању у After Effects-у или компајлирању у Nuke-у – ви у основи групишете ствари унутар угнежђених група/слојева, што олакшава и убрзава рачунару да ради са датотеком.
Одличан пример ове оптимизације је Nvidia-ин најновији USD пројекат примера под називом „Da Vinci’s Workshop“. Користећи њихову USD Composer апликацију (која је савршена за преглед USD пројеката са осветљењем у реалном времену), могу да репродукујем ову масивну библиотеку од 67GB елемената, текстура и светала са милионима полигона при скоро 120 FPS без икаквог лага или проблема. Ово је могуће због тога колико ефикасно USD учитава датотеке и текстуре на изузетно оптимизован начин.
Слично томе, за анимације које су се раније извозиле као Alembic датотеке, USD кеширање је сада много брже. Alembic датотеке су обично огромне, веома неоптимизоване и ваш рачунар их споро чита – обично резултирајући сецкавим репродукцијом. Са USD-ом, постизање стабилног FPS-а уопште није проблем, а величина датотеке је много мања.
Више предности
Још једна заиста кул функција је да можете веома лако да приступите слојевима унутар вашег USD пројекта споља. На пример, ако постоји прим слој који садржи податке да је сфера зелена унутар USD датотеке, једноставним променом те боје у црвену у USD-компатибилном уређивачу као што је USD Composer, можемо да променимо боју сфере без икаквог отварања датотеке у Blender-у! То је невероватно моћно.
Иако је то очигледно једноставан пример, показује потенцијал. Још једна велика предност је да USD и даље омогућава да радите само на једном слоју сложене датотеке у одређеном софтверу. Дакле, чак и ако ваша датотека садржи комплетан пројекат са камерама, светлима итд., и даље сте у могућности да отворите само један део ње – на пример, један модел – унутар Substance Painter-а, и радите само на том делу пројекта без утицаја на било шта друго.
Ово важи и ако више људи ради на истој датотеци – још једна велика предност USD-а. Десет људи би могло да ради на истој датотеци, тако да су промене које направи уметник број један одмах видљиве уметнику број два, омогућавајући им да прилагоде свој рад у складу са тим. Могућност сарадње са људима на даљину је невероватно моћна.
Будућност 3D токова посла
Са сигурношћу се може рећи да је USD далеко више од само формата датотеке. То је свеобухватна технолошка платформа и екосистем који се у својој мисији заиста усклађује са Blender-ом: слобода креирања без ограничења.
USD је још увек у развоју. Сан је стваран – универзални формат софтверске датотеке који може да се користи у било ком софтверу у индустрији, уредив у реалном времену од стране више уметника.
Сви би требало да будемо захвални Pixar-у што је прокрчио пут овим невероватним развојем, и компанијама као што су Nvidia и Apple што доприносе својим делом.