USD (Universal Scene Description, univerzálny popis scény) je formát súborov vyvinutý spoločnosťou Pixar na výmenu 3D počítačovej grafiky medzi aplikáciami na tvorbu digitálneho obsahu. Je to rozšíriteľný formát súborov s otvoreným zdrojovým kódom, ktorý dokáže ukladať informácie o 3D geometrii, tieňovaní, osvetlení, fyzike a iných oblastiach súvisiacich s grafikou. Dokáže tiež skladať a prepisovať dáta z viacerých zdrojov, čím vytvára jediný graf scény, ktorý sa dá nedeštruktívne upravovať.
USD sa používa v mnohých odvetviach, ako je dizajn, architektúra, animácia a herný priemysel, a je podporovaný mnohými softvérovými aplikáciami, ako napríklad Blender, Cinema 4D, Houdini, Maya a Apple SceneKit. USD je tiež jadrom 3D grafického spracovania spoločnosti Pixar a základom platformy Nvidia Omniverse.
Špecifikácia Universal Scene Description (USD) používa niekoľko formátov súborov:
- .usd – môže byť kódovaný v ASCII alebo binárnej forme
- .usda – kódovaný v ASCII
- .usdc – binárne kódovaný
- .usdz – balíkový súbor formátovaný ako nešifrovaný zip archív s nulovou kompresiou. Môže obsahovať súbory .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3 a .wav.
Blender (alebo akýkoľvek iný 3D softvér) vám uľahčí život tým, že vám umožní robiť množstvo úloh iba pomocou jeho rozhrania, ale akonáhle začnete do svojho pracovného postupu zaraďovať iný softvér, problémy sa začnú objavovať z každej strany. Takže si poďme hovoriť o najväčších problémoch, s ktorými sa pravdepodobne už dnes stretávate, a o tom, ako spoločnosť Pixar vytvorila riešenie na ich prekonanie až do nekonečna a ešte ďalej.
Problém
Ak ste niekedy textúrovali model v Substance, importovali svoju prácu do Unreal, alebo sa pokúšali zdieľať projekt s niekým, kto pracuje v inom softvéri, pravdepodobne ste si uvedomili, aké otravné to môže byť. Musieť sa zaoberať rôznymi typmi súborov, správnymi pracovnými postupmi exportu pre každý jednotlivý softvér a strácať pritom cenné dáta vám môže spôsobiť pocit, že si opakovane a zámerne trieskate hlavu o stenu.
A verte mi, keď hovorím, že toto je niečo, čo zažívajú všetci 3D umelci všade – či už pracujete ako sólo tvorca s vlastným prispôsobeným pracovným postupom, alebo vo veľkom štúdiu ako Pixar, kde sa musíte prispôsobiť prísnym obmedzeniam pracovného postupu, aby ste udržali správny pracovný postup pre všetkých ostatných 1 232 ľudí, ktorí tam pracujú. Problém zostáva rovnaký.
Prečo sa to deje
Dáva to však zmysel, však? Každý softvér používa vlastný typ súboru, ktorý vyhovuje jeho potrebám. Takže napríklad súbor z Blendera bol kódovaný tak, aby fungoval v Blenderi, ale nie v Substance. Je samozrejmé, že v spoločnosti každý umelec potrebuje súbor, ktorý je kompatibilný s jeho vlastným nástrojom, aby bolo jednoduché a niekedy dokonca možné pokračovať v práci na projekte.
Preto je nevyhnutné exportovať do univerzálnejšieho typu súboru, ako je FBX alebo OBJ, pri prechode na iný softvér alebo odovzdávaní projektu ďalšej osobe. Ale aj tieto typy súborov majú mnoho obmedzení, napríklad neschopnosť správne ukladať simulácie, osvetlenie a mnoho ďalších aspektov vašich projektov v Blenderi.
Predstavujeme USD
Takže, aká je odpoveď na tento problém? Universal Scene Description (USD), skrátene! USD, prvýkrát publikovaný ako softvér s otvoreným zdrojovým kódom spoločnosťou Pixar v roku 2016 ako ich nový hlavný pracovný postup, bol hlavne spôsob, ako umelcom uľahčiť presúvanie dát medzi sebou a nástrojmi, ktoré používajú.
Od svojho vydania USD neustále prechádza zmenami a vylepšeniami, čo je bežné pre softvér s otvoreným zdrojovým kódom, rovnako ako Blender, ktorý je tiež neustále aktualizovaný a rozširovaný.
Čo je USD?
USD je mnoho vecí a ak by som sa do toho naozaj ponoril, môže to byť v skutočnosti veľmi technická a zložitá vec na popis. Ale ak to poviem jednoducho, USD je spôsob, ako umožniť aplikáciám ako Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse a mnohým ďalším navzájom komunikovať a rozumieť si.
V počítačovom priemysle existuje na to dokonca aj honosné slovo – interoperabilita. Trochu ťažké vysloviť! Akokoľvek honosne to znie, v skutočnosti to nie je také komplikované, ako by ste si mohli myslieť. Môžete ho začať používať ešte dnes na svojom vlastnom počítači alebo dokonca s viacerými priateľmi či kolegami po celom svete.
V čom je USD iný
Tradične je pracovný postup veľmi jednosmerná vec, kde každý človek môže pracovať na niečom, až keď predchádzajúci človek skončí. Alebo pre vás osobne, môžete ísť až na ďalší krok v procese, ako je textúrovanie, ak je modelovanie úplne hotové.
Dalo by sa to prirovnať k pečeniu torty – keď túto tortu staviame a vytvárame, musíte dokončiť každý krok predtým, ako budete môcť začať s ďalším. Nemôžete piecť tortu skôr, ako zamiešate cesto, a nemôžete ju stavať skôr, ako upečiete korpus v rúre. Každý krok je závislý od dokončenia predchádzajúceho.
A čo je dôležitejšie, akonáhle dáte na tortu polevu a plnku alebo sa rozhodnete, že piškótový korpus má byť čokoládový, niet cesty späť. Tortu nemôžete odpiecť, zmeniť príchuť na vanilkovú alebo dať dole polevu. A toto nazývame deštruktívny pracovný postup.
USD je však skôr ako Lego. Každý blok predstavuje časť 3D scény – postavy, objekty, prostredia, čokoľvek – a tieto bloky môžete skladať, rozoberať a upravovať nezávisle.
V tradičnom pracovnom postupe by zmena jedného bloku znamenala nutnosť prispôsobiť zvyšok štruktúry. Ale s USD sa dá na každom stavebnom bloku pracovať nezávisle a ja môžem jednoducho zmeniť napríklad jeden blok na inú farbu bez toho, aby som musel prestavovať celý model.
Je to nedeštruktívny prístup, ktorý umožňuje experimentovanie a spoločné pracovné postupy bez toho, aby ste sa museli trápiť obmedzeniami pracovného postupu.
Cieľ USD
Cieľom toho všetkého s USD je vytvoriť spôsob, ako sa dáta môžu voľne presúvať medzi aplikáciami, dať umelcom a tímom slobodu sústrediť sa na tvorbu a nie na export a čakanie jeden na druhého, aby mohli pokračovať v práci. Umelci by nemali musieť začínať odznova, ak sa koncepčný tím rozhodne neskôr zmeniť veci. A nemali by byť problémy s formátmi súborov prichádzajúcich z iných programov, ktoré nefungujú vo vašom vybranom softvéri.
Na úrovni služieb sa zdá, že USD je – vysoko interoperabilný formát súborov, ktorý sa dá jednoducho vymieňať medzi rôznym softvérom. A úprimne povedané, pre väčšinu používateľov Blendera to tak aj bude, pretože mnohí z nás majú tendenciu pracovať sólo. Ale USD je viac než len typ súboru…
Je to spôsob, ako zostaviť a usporiadať ľubovoľný počet aktív do virtuálnych scén, záberov a svetov – používať ich z aplikácie do aplikácie a nedeštruktívne ich upravovať, často v reálnom čase.
Ako pracovať s USD
Pozrime sa teda na to, ako môžeme pracovať s USD v pracovnom postupe Blendera. V najzákladnejšej podobe je USD možnosťou exportu v Blenderi už od verzie 3.6. Takže ak máte súbor, na ktorom pracujete, a chcete ho uložiť ako súbor USD, môžete ísť na Súbor > Exportovať > Universal Scene Description a zobrazí sa okno s výzvou na uloženie súboru.
Má pomerne veľa možností, ale hlavné, ktoré treba poznamenať, sú:
- Len výber – Zahrnie do exportu iba vybrané objekty
- Animácia a vlasy – Zahrnie/vylúči dáta animácie a vlasových častíc pre vaše objekty
Tu je skvelý príklad toho, ako USD funguje. Toto je súbor zo vzorovej knižnice USD od spoločnosti Nvidia, ktorý bol vytvorený v množstve softvérov ako 3ds Max a Substance. Ak ho otvoríte v Blenderi importovaním, funguje takmer na 100 % okamžite!
Ako vidíte, obsahuje všetky dáta vrátane svetiel, hĺbky ostrosti, kamery, materiálov a oveľa viac. Jediná vec, ktorá sa neexportuje správne, je HDRI osvetlenie, ktoré si musíme nastaviť sami. Ale je neuveriteľné pomyslieť, že toto vyzerá takmer identicky v renderovacom nástroji Arnold od 3DS Max a práve sa to exportovalo do Blendera a funguje rovnako dobre pomocou jediného typu súboru!
Má správnu hierarchiu, materiály a v podstate je všetko nastavené. Je to naozaj, naozaj super! Každopádne, toto ukazuje, ako USD funguje medzi rôznymi aplikáciami a že funguje ako interoperabilný formát súborov.
Praktický príklad USD
Pozrime sa však na praktickejší príklad. Pre tento príklad pracovného postupu použijem typický postup použitia Blendera na modelovanie objektu pre hru.
Tradičný pracovný postup by vyzeral približne takto:
- Vytvoriť model v Blenderi
- UV mapovanie modelu
- Exportovať ako FBX, pretože Painter nedokáže použiť súbory Blendera
- Importovať FBX do Substance Painter
- Pridať materiály v Substance
- Exportovať textúry ako obrázky
- Importovať FBX do herného enginu
- Manuálne nastaviť textúry
- Vytvoriť rendery
S USD môžeme tento proces výrazne zjednodušiť a zachovať z veľkej časti nedeštruktívny pracovný postup. Pracovný postup zostáva veľmi podobný, pričom Blender a Substance sú hlavné komponenty.
Ale keďže USD natívne nefunguje v reálnom čase medzi týmito aplikáciami (hlavne preto, že Blender má stále obmedzenú podporu USD), použijem Nvidia Omniverse na vytvorenie tohto spojenia za nás.
Prostredníctvom Omniverse môžem získať prístup k odnoži Blendera, ktorá je viac kompatibilná s USD a ktorú vytvorila Nvidia. Môžem povoliť konektor Omniverse pre Substance Painter, aby sa zrealizovalo LifeLink. A môžem použiť USD Composer na preklenutie medzery medzi aplikáciami a zobrazenie konečného produktu.
S týmto nastavením môžeme teraz otvoriť náš projekt Blender vo vlastnej odnoži Blendera. Ak potom stlačíme N a prejdeme na pravú stranu, dostaneme doplnok Nucleus, ktorý nám umožní exportovať to ako súbor USD.
Ak potom prejdeme do USD Composer a otvoríme ten súbor USD, získame akési živé prepojenie medzi aplikáciami. Teraz môžem vykonať akúkoľvek zmenu na sieti, znova ju exportovať a nechať ju automaticky prevziať v USD Composer.
A je to ešte lepšie! Po importovaní modelu môžeme otvoriť Substance Painter, povoliť konektor Omniverse a prejsť na Import Mesh, aby sme automaticky importovali náš objekt z USD Composer do Substance. V tomto bode, ak vykonáme zmeny v Blenderi, stále ich môžeme znova exportovať a prevziať v USD Composer, ktorý sa automaticky prepojí so Substance Painter.
Akonáhle však pridáme textúry v Substance Painter, opätovné vykonanie tohto postupu tieto textúry odstráni. Takže keď ste spokojní, pridajte svoje materiály v Substance Painter a s povoleným Life Link sa tieto materiály automaticky objavia v USD Composer.
Akékoľvek zmeny, ktoré potom urobíte, sa automaticky exportujú a aktualizujú v USD Composer. Naozaj, naozaj super!
Pre mňa je tento pracovný postup doslova ohromujúci. Možnosť vykonávať zmeny v Blenderi a Substance Painter v reálnom čase a mať to všetko automaticky fungujúce v celom procese a odrážajúce sa v konečnom rendere, to je niečo iné.
Ak máte záujem vyskúšať si všetko, čo Nvidia Omniverse ponúka, môžete si ho stiahnuť zadarmo prostredníctvom odkazu v popise. A ak sa chcete dozvedieť viac o všetkých technických prípadoch použitia, ktoré USD a Omniverse spolu poskytujú, môžete nájsť ďalší odkaz na bezplatné stiahnutie, ako aj odkaz na účasť na dňoch otvoreného USD virtuálne alebo osobne na GTC v marci.
Naozaj odporúčam to preskúmať, pretože toto je skutočne budúcnosť 3D pracovných postupov.
Viac o USD
Okrem tohto zábavného príkladu má USD oveľa viac čo ponúknuť. A ak dobre využijete jeho možnosti, stanete sa ako umelec oveľa efektívnejší. Takže, čo ešte dokáže?
Okrem faktu, že univerzálny formát súborov by vám uľahčil život, je to absolútne budúcnosť. Od augusta 2023 sa USD stala oficiálnou neziskovou organizáciou s názvom The Alliance of Open USD (AO USD) – pričom Pixar, Apple, Adobe, Autodesk a Nvidia sú jej zakladajúcimi členmi.
Myslím si, že toto naozaj ukazuje, ako veľmi sú tieto spoločnosti zainteresované a ako naozaj vnímajú USD ako budúcnosť interoperabilného formátu súborov – ktorý by mal byť schopný veľmi jednoducho používať každý.
Okrem toho, že je USD formát súborov, ukladá takmer všetko – od svetiel a kamier až po cache simulácií a dáta scény – vo vrstvovej štruktúre nazývanej „prims“ (skratka pre primitives, primitívy). Obsahuje všetky tieto dáta na popis komplexných scén a aktív vo formáte čitateľnom pre širokú škálu aplikácií.
Keď to už vieme, názov „Universal Scene Description“ v skutočnosti dáva veľký zmysel!
Ak ste oboznámení s kolekciami v Blenderi, USD funguje podobne. Môžete vnoriť čokoľvek do viacerých vnorených kolekcií, s pridanou výhodou, že USD považuje všetky tieto vrstvy za inštancie. Preto dokáže veľmi rýchlo načítať a prečítať všetky dáta optimalizovaným spôsobom.
Toto funguje podobne ako inštancovanie kolekcií v Blenderi, čo je dobré, pretože inštancie vyžadujú menej výpočtového výkonu ako skutočné duplicitné objekty. Je to tiež veľmi podobné prekomponovaniu v After Effects alebo kompozícii v Nuke – v podstate zoskupujete veci do vnorených skupín/vrstiev, čo uľahčuje a zrýchľuje prácu počítača so súborom.
Skvelým príkladom tejto optimalizácie je najnovší vzorový projekt USD od spoločnosti Nvidia s názvom „Da Vinci’s Workshop“. Pomocou ich aplikácie USD Composer (ktorá je ideálna na prezeranie projektov USD s osvetlením v reálnom čase) môžem prehrávať túto masívnu 67 GB knižnicu aktív, textúr a svetiel s miliónmi polygónov pri rýchlosti takmer 120 FPS bez akéhokoľvek oneskorenia alebo problémov. Toto je možné vďaka tomu, ako efektívne USD načítava súbory a textúry v extrémne optimalizovanom režime.
Podobne pre animácie, ktoré sa predtým exportovali ako súbory Alembic, je USD cachovanie teraz oveľa rýchlejšie. Súbory Alembic sú zvyčajne obrovské, veľmi neoptimalizované a počítač ich načíta pomaly – čo zvyčajne vedie k trhanému prehrávaniu. S USD nie je dosiahnutie stabilných FPS vôbec problém a veľkosť súboru je oveľa menšia.
Ďalšie výhody
Ďalšou naozaj skvelou funkciou je, že môžete jednoducho pristupovať k vrstvám vo svojom projekte USD aj mimo súboru. Napríklad, ak existuje prim vrstva obsahujúca dáta, že guľa je zelená v súbore USD, jednoduchou zmenou tejto farby na červenú v USD kompatibilnom editore, ako je USD Composer, môžeme zmeniť farbu gule bez toho, aby sme museli otvoriť súbor v Blenderi! To je už neuveriteľne výkonné.
Hoci je to samozrejme jednoduchý príklad, ukazuje to potenciál. Ďalšou významnou výhodou je, že USD vám stále umožňuje pracovať iba na jednej vrstve komplexného súboru v určitom softvéri. Takže aj keď váš súbor obsahuje kompletný projekt s kamerami, svetlami atď., stále ste schopní otvoriť iba jednu jeho časť – napríklad jeden model – v Substance Painter a pracovať iba na tejto časti projektu bez toho, aby ste ovplyvnili čokoľvek iné.
To platí aj v prípade, ak na tom istom súbore pracuje viac ľudí – ďalšia významná silná stránka USD. Desať ľudí by mohlo pracovať na tom istom súbore, takže zmeny vykonané umelcom číslo jeden sú okamžite viditeľné pre umelca číslo dva, čo im umožňuje prispôsobiť svoju prácu príslušne. Možnosť spolupracovať s ľuďmi na diaľku je neuveriteľne silná.
Budúcnosť 3D pracovných postupov
Je bezpečné povedať, že USD je oveľa viac než len formát súborov. Je to komplexná technologická platforma a ekosystém, ktorý sa svojím poslaním skutočne zhoduje s Blenderom: sloboda tvoriť bez obmedzení.
USD je stále vo vývoji. Sen je skutočný – univerzálny formát softvérových súborov použiteľný akýmkoľvek softvérom v odvetví, upravovateľný v reálnom čase viacerými umelcami.
Všetci by sme mali byť vďační spoločnosti Pixar za to, že vydláždila cestu týmto neuveriteľným vývojom, a spoločnostiam ako Nvidia a Apple za to, že prispeli svojou časťou.





