USD (Universal Scene Description – univerzalni opis scene) je format datoteke, ki ga je razvil Pixar za izmenjavo 3D računalniško generiranih scen med aplikacijami za ustvarjanje digitalnih vsebin. Je razširljiv format odprte kode, ki lahko shranjuje informacije o 3D geometriji, senčenju, osvetlitvi, fiziki in drugih področjih, povezanih z grafiko. Prav tako lahko sestavlja in preglasi podatke iz več virov, pri čemer ustvari enotno scenografijo, ki jo je mogoče nedestruktivno urejati.
USD se uporablja v številnih panogah, kot so oblikovanje, arhitektura, animacija in igre, podpira pa ga veliko programskih aplikacij, kot so Blender, Cinema 4D, Houdini, Maya in Applov SceneKit. USD je tudi jedro Pixarjevega 3D grafičnega procesa in osnova Nvidine platforme Omniverse.
Specifikacija Universal Scene Description (USD) uporablja več formatov datotek:
- .usd – Lahko je kodiran v ASCII ali binarni obliki
- .usda – kodiran v ASCII
- .usdc – Binarno kodiran
- .usdz – Paketna datoteka, oblikovana kot stisnjena, nešifrirana zip arhiva brez kompresije. Lahko vsebuje datoteke .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3 in .wav.
Blender (ali katera koli druga 3D programska oprema) vam olajša življenje, saj vam omogoča, da veliko nalog opravite samo z njegovim vmesnikom, vendar ko začnete v svoj proces uvajati drugo programsko opremo, se težave začnejo pojavljati kar naenkrat. Zato se pogovorimo o največjih težavah, s katerimi se verjetno že danes srečujete, in o tem, kako je Pixar ustvaril rešitev za njihovo premagovanje do neskončnosti in še dlje.
Težava
Če ste kdaj teksturirali model v Substance, uvozili svoje delo v Unreal ali poskušali deliti projekt z nekom, ki dela v drugi programski opremi, ste verjetno spoznali, kako nadležno je to lahko. Spopadanje z različnimi tipi datotek, pravilnimi poteki dela za izvoz za vsako posamezno programsko opremo in izguba dragocenih podatkov v procesu lahko povzročijo, da se počutite, kot da namerno z glavo butate v zid.
In verjemite mi, ko rečem, da to doživljajo vsi 3D umetniki povsod – ne glede na to, ali delate kot samostojni ustvarjalec z lastnim prilagojenim procesom ali v velikem studiu, kot je Pixar, kjer se morate prilagoditi strogim omejitvam procesa, da ohranite pravilno potek dela za vseh ostalih 1232 ljudi, ki tam delajo. Težava ostaja ista.
Zakaj se to dogaja
Vendar je smiselno, kajne? Vsaka programska oprema uporablja lastniški tip datoteke, ki ustreza njenim potrebam. Torej je datoteka iz Blenderja, na primer, kodirana za delo v Blenderju, ne pa v Substancu. Očitno v podjetju vsak umetnik potrebuje datoteko, ki je združljiva z njegovim orodjem po izbiri, da bi mu olajšali in včasih celo omogočili nadaljevanje dela na projektu.
Zato je izvoz v bolj univerzalni tip datoteke, kot sta FBX ali OBJ, nujen, ko prehajate na drugo programsko opremo ali predate svoj projekt naslednji osebi. Toda tudi ti tipi datotek imajo veliko omejitev, na primer nezmožnost pravilnega shranjevanja simulacij, osvetlitve in številnih drugih vidikov vaših projektov v Blenderju.
Predstavljamo USD
Kaj je torej odgovor na to težavo? Universal Scene Description (USD), na kratko! USD, ki ga je Pixar prvič objavil kot programsko opremo odprte kode leta 2016 kot njihovo novo jedro procesa, je bil predvsem način, da so njihovi umetniki lažje prenašali podatke med seboj in orodji, ki jih uporabljajo.
Od njegove izdaje se USD nenehno spreminja in izboljšuje, kar je pogosto za programsko opremo odprte kode, kot je Blender, ki se prav tako dosledno posodablja in razširja.
Kaj je USD?
USD je veliko stvari in če bi se poglobil vanj, bi ga bilo pravzaprav zelo tehnično in zapleteno opisati. Če pa poenostavim, je USD način, kako se aplikacije, kot so Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse in še mnoge druge, pogovarjajo in razumejo med seboj.
V računalniški industriji obstaja celo modna beseda za to – interoperabilnost. Kar težko izgovoriti! Kakorkoli že modno sliši, v resnici ni tako zapleteno, kot si morda mislite. Lahko ga začnete uporabljati danes na svojem računalniku ali celo z več prijatelji ali kolegi po vsem svetu.
Kako se USD razlikuje
Tradicionalno je proces zelo enosmerna stvar, kjer vsaka oseba lahko začne delati na nečem šele, ko prejšnja oseba konča. Ali za vas osebno, lahko greste na naslednji korak v procesu, kot je teksturiranje, šele ko je modeliranje popolnoma končano.
To bi lahko primerjali s peko torte – medtem ko gradite in ustvarjate to torto, morate končati vsak korak, preden lahko začnete naslednjega. Torte ne morete speči, preden zmešate testo, in je ne morete zgraditi, preden spečete biskvite v pečici. Vsak korak je odvisen od tega, da je prejšnji končan.
Še pomembneje pa je, da ko nanesete glazuro in nadev ali se odločite, da mora biti biskvit čokoladen, ni več poti nazaj. Torte ne morete razpeči, spremeniti okusa v vanilijo ali odstraniti glazure. In temu rečemo destruktivni potek dela.
USD pa je bolj kot Lego kocke. Vsak blok predstavlja del 3D scene – like, predmete, okolja, karkoli – in te bloke lahko sestavljate, razstavljate in spreminjate neodvisno.
V tradicionalnem procesu bi sprememba enega bloka zahtevala prilagoditev preostale strukture. Toda z USD-jem je mogoče na vsakem gradbenem bloku delati neodvisno in preprosto lahko spremenim en blok v drugo barvo, na primer, ne da bi moral predelati celoten model.
Gre za nedestruktiven pristop, ki omogoča eksperimentiranje in sodelovalne poteke dela brez zatikanja v omejitve procesa.
Cilj USD
Cilj vsega tega z USD je ustvariti način za prost pretok podatkov med aplikacijami, dati umetnikom in ekipam svobodo, da se osredotočijo na ustvarjanje in ne na izvažanje in čakanje drug na drugega, da bodo lahko nadaljevali z delom. Umetnikom ne bi bilo treba znova začeti, če se konceptna ekipa pozneje odloči spremeniti stvari. In ne bi smelo biti težav z formati datotek, ki prihajajo iz drugih programov, ki ne delujejo v vaši programski opremi po izbiri.
Na ravni storitve se zdi, da je USD to – zelo interoperabilen format datoteke, ki ga je mogoče enostavno izmenjati med različno programsko opremo. In pošteno povedano, to bo za večino uporabnikov Blenderja, saj večina od nas dela samostojno. Toda USD je več kot le tip datoteke …
Je način za sestavljanje in organiziranje poljubnega števila sredstev v virtualne sete, scene, posnetke in svetove – z njihovo uporabo iz aplikacije v aplikacijo in nedestruktivno urejanje, pogosto v realnem času.
Kako delati z USD
Poglejmo torej, kako lahko delamo z USD-jem v procesu dela z Blenderjem. V svoji najbolj osnovni obliki je USD že od različice 3.6 možnost izvoza v Blenderju. Če imate torej datoteko, na kateri delate, in jo želite shraniti kot datoteko USD, lahko odprete Datoteka > Izvozi > Universal Scene Description in prikazalo se bo okno, kjer lahko datoteko shranite.
Ima kar nekaj možnosti, vendar so glavne, ki jih je treba upoštevati:
- Samo izbrano – v izvoz bo vključil samo izbrane predmete
- Animacija in lasje – bo vključil/izključil animacijo in podatke o delcih las za vaše predmete
Tukaj je odličen primer, kako USD deluje. To je datoteka iz Nvidine knjižnice vzorcev USD, ki je bila narejena v različnih programskih opremah, kot sta 3ds Max in Substance. Če to odprete v Blenderju z uvozom, deluje skoraj 100 % takoj!
Kot lahko vidite, vsebuje vse podatke, vključno z lučmi, globinsko ostrino, kamero, materiali in še veliko več. Edina stvar, ki se ne izvozi pravilno, je osvetlitev HDRI, ki jo moramo nastaviti sami. Vendar je neverjetno, ko pomislimo, da je to videti skoraj enako znotraj Arnoldovega upodabljalnika 3DS Maxa, in je bilo izvoženo v Blender in deluje prav tako dobro z uporabo enega samega tipa datoteke!
Ima pravilno hierarhijo, materiale in v bistvu je vse nastavljeno. Res je zelo, zelo kul! Kakorkoli že, to pokaže, kako USD deluje med različnimi aplikacijami in da deluje kot interoperabilen format datoteke.
Praktičen primer USD
Oglejmo si bolj praktičen primer. Za ta primer procesa bom uporabil tipičen potek dela z uporabo Blenderja za modeliranje predmeta za igro.
Tradicionalni potek dela bi bil nekako tak:
- Ustvarite model v Blenderju
- UV razvijanje modela
- Izvoz v FBX, ker Painter ne more uporabljati datotek Blenderja
- Uvoz FBX v Substance Painter
- Dodajanje materialov v Substance
- Izvoz tekstur kot slik
- Uvoz FBX v igralni pogon
- Ročno nastavite teksture
- Ustvarite upodobitve
Z USD-jem lahko ta proces bistveno poenostavimo in ohranimo večinoma nedestruktiven potek dela. Potek dela ostaja zelo podoben, pri čemer sta Blender in Substance glavna sestavna dela.
Ker pa USD izvorno ne deluje v realnem času med temi aplikacijami (predvsem zato, ker ima Blender še vedno omejeno podporo za USD), bom uporabil Nvidio Omniverse, da ustvari to povezavo za nas.
Preko Omniverse lahko dobim dostop do veje Blenderja, ki je bolj združljiva z USD-jem in jo je zgradila Nvidia. Lahko omogočim Omniverse konektor za Substance Painter, da realiziram LifeLink. In lahko uporabim USD Composer, da premostim vrzel med aplikacijami in si ogledam končni izdelek.
Ko je to nastavljeno, lahko zdaj odpremo naš projekt Blender v prilagojeni veji Blenderja. Če nato pritisnemo N in gremo na desno stran, dobimo dodatek Nucleus, ki nam omogoča, da to izvozimo kot datoteko USD.
Če nato gremo v USD Composer in odpremo to datoteko USD, dobimo nekakšno živo povezavo med aplikacijami. Zdaj lahko naredim kakršno koli spremembo mreže, jo ponovno izvozim in jo samodejno prevzamem v USD Composerju.
Še bolje! Ko uvozimo model, lahko odpremo Substance Painter, omogočimo Omniverse konektor in gremo na Uvozi mrežo, da samodejno uvozimo naš objekt iz USD Composerja v Substance. Na tej točki, če naredimo spremembe v Blenderju, jih lahko še vedno ponovno izvozimo in jih prevzamemo v USD Composerju, ki se samodejno poveže s Substance Painterjem.
Vendar pa, ko dodamo teksture v Substance Painterju, jih bo ob ponovnem izvajanju tega znova odstranilo. Torej, ko ste zadovoljni, dodajte svoje materiale v Substance Painterju in s omogočenim Life Linkom se bodo ti samodejno prikazali v USD Composerju.
Vse spremembe, ki jih nato naredite, se samodejno izvozijo in posodobijo v USD Composerju. Res, res kul!
Zame je ta potek dela precej osupljiv. To, da lahko v realnem času spreminjam stvari v Blenderju in Substance Painterju in da vse to samodejno deluje v nadaljevanju in se odraža v končni upodobitvi, je nekaj drugega.
Če vas zanima, da preizkusite vse, kar ponuja Nvidia Omniverse, ga lahko brezplačno prenesete preko povezave v opisu. In če želite izvedeti več o vseh tehničnih primerih uporabe, ki jih skupaj zagotavljata USD in Omniverse, lahko najdete še eno povezavo za brezplačen prenos in povezavo za udeležbo na odprtih USD dnevnih sejah virtualno ali osebno na GTC marca.
Resnično priporočam, da to preverite, ker je to resnično prihodnost 3D procesov dela.
Več o USD
Poleg tega zabavnega primera ima USD še veliko več za ponuditi. In če boste dobro izkoristili njegove zmožnosti, boste kot umetnik postali veliko bolj učinkoviti. Torej, kaj še lahko počne?
No, poleg dejstva, da bi vam univerzalni format datoteke močno olajšal življenje, je to absolutno prihodnost. Od avgusta 2023 je USD postal uradna neprofitna organizacija, imenovana The Alliance of Open USD (AO USD) na kratko – s Pixarjem, Applom, Adobe, Autodesk in Nvidio kot ustanovnimi člani.
Mislim, da to resnično pokaže, kako vložena so ta podjetja in kako resnično vidijo to kot prihodnost interoperabilnega formata datoteke – ki bi ga moral vsakdo zlahka uporabljati.
Poleg tega, da je USD format datoteke, shranjuje skoraj vse – od luči in kamer do predpomnilnikov simulacij in podatkov scene – v plastni strukturi, imenovani “prims” (skrajšano od primitives – primitivi). Vsebuje vse te podatke za opis kompleksnih scen in sredstev v formatu, berljivem za širok spekter aplikacij.
Zdaj, ko to vemo, ime “Universal Scene Description” dejansko zelo smiselno!
Če ste seznanjeni z zbirkami v Blenderju, USD deluje podobno. Karkoli lahko ugnezdite v več ugnezdenih zbirk, z dodatno prednostjo, da USD obravnava vse te plasti kot instance. Zato lahko zelo hitro naloži in prebere vse podatke na optimiziran način.
To deluje podobno kot instanciranje zbirk v Blenderju, kar je dobro, ker instance zahtevajo manj računalniške moči kot dejanski podvojeni objekti. Prav tako je zelo podobno pred-kompoziciji v After Effects ali komponiranju v Nuke – v bistvu združite stvari znotraj ugnezdenih skupin/plast, kar računalniku olajša in pohitri delo z datoteko.
Odličen primer te optimizacije je Nvidin najnovejši vzorčni projekt USD, imenovan “Da Vinci’s Workshop”. Z uporabo njihove aplikacije USD Composer (ki je kot nalašč za ogled projektov USD z osvetlitvijo v realnem času) lahko predvajam to obsežno 67 GB knjižnico sredstev, tekstur in luči z milijoni poligonov pri skoraj 120 FPS brez kakršnega koli zatikanja ali težav. To je mogoče zaradi učinkovitosti, s katero USD naloži datoteke in teksture na izjemno optimiziran način.
Podobno je za animacije, ki so se včasih izvažale kot datoteke Alembic, zdaj predpomnjenje USD veliko hitrejše. Datoteke Alembic so običajno ogromne, zelo neoptimizirane in jih računalnik počasi bere – običajno povzročijo trzavo predvajanje. Z USD-jem doseganje stabilnega FPS sploh ni problem in velikost datoteke je veliko manjša.
Več prednosti
Druga resnično kul funkcija je, da lahko preprosto dostopate do plasti znotraj svojega projekta USD od zunaj datoteke. Na primer, če je v datoteki USD plast prim, ki vsebuje podatke, da je sfera zelena, lahko preprosto spremenimo barvo sfere v rdečo v urejevalniku, združljivem z USD, kot je USD Composer, ne da bi sploh odprli datoteko v Blenderju! To je neverjetno močno.
Čeprav je to očitno osnoven primer, kaže potencial. Druga velika prednost je, da USD še vedno omogoča, da delate samo na eni plasti kompleksne datoteke v določeni programski opremi. Torej, tudi če vaša datoteka vsebuje celoten projekt s kamerami, lučmi itd., lahko še vedno odprete samo en del nje – na primer en model – v Substance Painterju in delate samo na tem delu projekta, ne da bi vplivali na karkoli drugega.
To velja tudi, če več ljudi dela na isti datoteki – še ena velika prednost USD. Deset ljudi bi lahko delalo na isti datoteki, tako da so spremembe, ki jih naredi umetnik številka ena, takoj vidne umetniku številka dve, kar jima omogoča, da svoje delo ustrezno prilagodita. Možnost sodelovanja z ljudmi na daljavo je neverjetno močna.
Prihodnost 3D procesov dela
Lahko rečemo, da je USD veliko več kot le format datoteke. Je obsežna tehnološka platforma in ekosistem, ki se v svojem poslanstvu resnično ujema z Blenderjem: svoboda ustvarjanja brez omejitev.
USD je še vedno v razvoju. Sanje so realne – univerzalni format programske datoteke, uporaben v kateri koli programski opremi v industriji, urejanje v realnem času s strani več umetnikov.
Vsi bi morali biti hvaležni Pixarju za utiranje poti s tem neverjetnim razvojem in podjetjem, kot sta Nvidia in Apple, za prispevanje svojega dela.