USD (Universal Scene Description – Univerzalni opis scene) format je datoteke koji je razvio Pixar za razmjenu 3D računalnih grafičkih scena između aplikacija za stvaranje digitalnog sadržaja. Riječ je o proširivom formatu datoteke otvorenog koda koji može pohraniti informacije o 3D geometriji, sjenčanju, osvjetljenju, fizici i drugim domenama povezanim s grafikom. Također može sastavljati i nadjačavati podatke iz više izvora, stvarajući jedinstven graf scene koji se može nedestruktivno uređivati.
USD se koristi u mnogim industrijama, kao što su dizajn, arhitektura, animacija i igre, a podržavaju ga mnoge softverske aplikacije, kao što su Blender, Cinema 4D, Houdini, Maya i Appleov SceneKit. USD je također jezgra Pixarevog 3D grafičkog cjevovoda i temelj Nvidia Omniverse platforme.
Specifikacija Universal Scene Description (USD) koristi nekoliko formata datoteka:
- .usd – Može biti kodiran u ASCII ili binarnom formatu
- .usda – ASCII kodiran
- .usdc – Binarno kodiran
- .usdz – Paketna datoteka formatirana kao zip arhiva bez kompresije i enkripcije. Može sadržavati .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3 i .wav datoteke.
Blender (ili bilo koji drugi 3D softver) vam olakšava život dopuštajući vam da obavljate mnoge zadatke samo pomoću njegovog sučelja, ali kada počnete uvoditi drugi softver u svoj radni proces, problemi se počinju pojavljivati lijevo i desno. Stoga razgovarajmo o najvećim problemima s kojima se vjerojatno već danas susrećete i o tome kako je Pixar stvorio rješenje za njihovo prevladavanje do beskonačnosti i dalje.
Problem
Ako ste ikada teksturirali model u Substanceu, uvezli svoj rad u Unreal ili pokušali podijeliti projekt s nekim tko radi u drugom softveru, vjerojatno ste shvatili koliko to može biti dosadno. Suočavanje s različitim vrstama datoteka, ispravnim radnim procesima izvoza za svaki pojedini softver i gubljenje dragocjenih podataka u procesu može vas natjerati da se osjećate kao da namjerno opetovano udarate glavom o zid.
I vjerujte mi kad kažem da je to nešto što svi 3D umjetnici posvuda doživljavaju – bez obzira radite li kao samostalni kreator s vlastitim prilagođenim radnim procesom ili u velikom studiju poput Pixara gdje se morate prilagoditi strogim ograničenjima radnog procesa kako biste održali pravilan tijek rada za svih ostalih 1232 ljudi koji tamo rade. Problem ostaje isti.
Zašto se to događa
Ima smisla, zar ne? Svaki softver koristi vlastiti format datoteke koji funkcionira za njegove potrebe. Dakle, datoteka iz Blendera, na primjer, kodirana je da radi u Blenderu, ali ne i u Substanceu. Očito je u tvrtki svakom umjetniku potrebna datoteka koja je kompatibilna s njegovim vlastitim alatom po izboru kako bi se olakšalo, a ponekad čak i omogućilo nastavak rada na projektu.
Zato je izvoz u univerzalniji format datoteke kao što su FBX ili OBJ nužan pri prelasku na drugi softver ili predaji projekta sljedećoj osobi. Ali čak i ti formati datoteka imaju mnogo ograničenja, poput nemogućnosti pravilnog pohranjivanja simulacija, osvjetljenja i mnogih drugih aspekata vaših Blender projekata.
Upoznajte USD
Dakle, što je odgovor na ovaj problem? Universal Scene Description (USD) ukratko! Prvi put objavljen kao softver otvorenog koda od strane Pixara 2016. kao njihov novi temeljni radni proces, USD je uglavnom bio način da njihovi umjetnici lakše prenose podatke jedni među drugima i alatima koje koriste.
Od svog izlaska, USD se neprestano mijenja i poboljšava, što je uobičajeno za softver otvorenog koda, baš kao i Blender, koji se također dosljedno ažurira i proširuje.
Što je USD?
USD je mnogo toga, i ako zaronim stvarno duboko u njega, to zapravo može biti vrlo tehnička i komplicirana stvar za opisati. Ali ako ga pojednostavnim, USD je način na koji aplikacije poput Blendera, Unreala, Houdinija, Substancea, Maye, Nvidia Omniversea i mnoge druge međusobno razgovaraju i razumiju se.
Unutar računalne industrije zapravo postoji otmjena riječ za to – interoperabilnost. Malo ju je teško izgovoriti! Koliko god to otmjeno zvučalo, zapravo nije tako komplicirano kao što možda mislite. Možete ga početi koristiti već danas na vlastitom računalu ili čak s više prijatelja ili kolega diljem svijeta.
Po čemu se USD razlikuje
Tradicionalno, radni proces je vrlo jednosmjerna stvar gdje svaka osoba može raditi na nečemu tek kada prethodna osoba završi. Ili za vas osobno, možete ići na sljedeći korak u procesu, poput teksturiranja, samo ako je modeliranje potpuno gotovo.
To biste mogli usporediti s pečenjem torte – dok gradite i stvarate ovu tortu, morate završiti svaki korak prije nego što možete započeti sljedeći. Ne možete peći tortu prije nego što zamijesite tijesto, a ne možete je izgraditi prije pečenja kolača u pećnici. Svaki korak ovisi o tome da prethodni bude dovršen.
Što je još važnije, nakon što stavite glazuru i nadjev ili odlučite da spužva treba biti čokoladna, nema povratka. Ne možete “odpeći” tortu, promijeniti okus u vaniliju ili skinuti glazuru. I ovo zovemo destruktivni radni proces.
USD je, međutim, više poput Lego kockica. Svaki blok predstavlja dio 3D scene – likove, objekte, okruženja, što god – i možete sastavljati, rastavljati i modificirati te blokove neovisno.
U tradicionalnom radnom procesu, mijenjanje jednog bloka uključivalo bi prilagođavanje ostatka strukture. Ali s USD-om se na svakom građevnom bloku može raditi neovisno, i mogu jednostavno promijeniti jedan blok u drugu boju, na primjer, bez potrebe za ponovnom izgradnjom cijelog modela.
To je nedestruktivan pristup koji omogućuje eksperimentiranje i kolaborativne radne procese bez da vas usporavaju ograničenja radnog procesa.
Cilj USD-a
Cilj svega ovoga s USD-om je stvoriti način za slobodno kretanje podataka između aplikacija, dati umjetnicima i timovima slobodu da se usredotoče na stvaranje, a ne na izvoz i čekanje jedni drugih kako bi mogli nastaviti raditi. Umjetnici ne bi trebali morati ponovno pokretati ako konceptualni tim odluči promijeniti stvari kasnije u procesu. I ne bi trebalo biti problema s formatima datoteka koji dolaze iz drugih programa, a ne rade u vašem softveru po izboru.
Na razini usluge, to je ono što se čini da USD jest – visoko interoperabilan format datoteke koji se lako razmjenjuje između različitih softvera. I da budemo pošteni, to će biti za većinu korisnika Blendera, jer mnogi od nas obično rade samostalno. Ali USD je više od samo vrste datoteke…
To je način za sastavljanje i organiziranje bilo kojeg broja objekata u virtualne setove, scene, snimke i svjetove – koristeći ih iz aplikacije u aplikaciju i nedestruktivno ih uređujući često u stvarnom vremenu.
Kako raditi s USD-om
Pogledajmo kako možemo raditi s USD-om u Blenderovom radnom procesu. U svom najosnovnijem obliku, USD je opcija izvoza u Blenderu još od verzije 3.6. Dakle, ako imate datoteku na kojoj radite i želite je spremiti kao USD datoteku, možete ići na Datoteka > Izvoz > Universal Scene Description i otvorit će vam se prozor za spremanje datoteke.
Ima dosta opcija, ali glavne koje treba primijetiti su:
- Samo odabrano – Uključit će samo odabrane objekte u vaš izvoz
- Animacija i kosa – Uključit će/isključiti podatke o animaciji i česticama kose za vaše objekte
Ovo je odličan primjer kako USD funkcionira. Ovo je datoteka iz Nvidia USD biblioteke primjera koja je napravljena u mnoštvu softvera kao što su 3ds Max i Substance. Ako je otvorite u Blenderu uvozom, radi gotovo 100% odmah!
Kao što možete vidjeti, sadrži sve podatke uključujući svjetla, dubinsku oštrinu, kameru, materijale i još mnogo toga. Jedino što se ne izvozi pravilno je HDRI osvjetljenje koje moramo sami postaviti. Ali nevjerojatno je pomisliti da ovo izgleda gotovo identično unutar 3DS Maxovog Arnold renderera, a upravo je izvezeno u Blender i radi jednako dobro koristeći jedan format datoteke!
Ima pravilnu hijerarhiju, materijale i u osnovi je sve postavljeno. Stvarno, stvarno je cool! U svakom slučaju, ovo pokazuje kako USD funkcionira između različitih aplikacija i da funkcionira kao interoperabilan format datoteke.
Praktičan USD primjer
Pogledajmo praktičniji primjer. Za ovaj primjer radnog procesa koristit ću tipičan radni proces korištenja Blendera za modeliranje objekta za igru.
Tradicionalni radni proces izgledao bi otprilike ovako:
- Stvorite model u Blenderu
- UV mapiranje modela
- Izvoz kao FBX jer Painter ne može koristiti Blender datoteke
- Uvoz FBX-a u Substance Painter
- Dodavanje materijala u Substanceu
- Izvoz tekstura kao slika
- Uvoz FBX-a u engine igre
- Ručno postavljanje tekstura
- Stvaranje rendera
S USD-om možemo značajno pojednostaviti ovaj proces i zadržati uglavnom nedestruktivan radni proces. Radni proces ostaje vrlo sličan, s Blenderom i Substanceom kao glavnim komponentama.
Ali budući da USD ne radi izvorno u stvarnom vremenu između ovih aplikacija (uglavnom zato što Blender još uvijek ima ograničenu USD podršku), koristit ću Nvidia Omniverse kako bih stvorio tu vezu za nas.
Kroz Omniverse mogu dobiti pristup USD-kompatibilnijoj grani Blendera koju je izradio Nvidia. Mogu omogućiti Omniverse konektor za Substance Painter kako bih ostvario LifeLink. I mogu koristiti USD Composer kako bih premostio jaz između aplikacija i pregledao konačni proizvod.
S tim postavljenim, sada možemo otvoriti naš Blender projekt u prilagođenoj Blender grani. Ako zatim pritisnemo N i odemo na desnu stranu ovdje, dobivamo Nucleus dodatak koji nam omogućuje izvoz ovoga kao USD datoteke.
Ako zatim odemo na USD Composer i otvorimo tu USD datoteku, dobivamo neku vrstu žive veze između aplikacija. Sada mogu napraviti bilo kakvu promjenu na mreži, ponovno je izvesti i imati da se to automatski preuzme unutar USD Composera.
Postaje još bolje! Nakon što uvezemo model, možemo otvoriti Substance Painter, omogućiti Omniverse konektor i otići na Uvoz mreže kako bismo automatski uvezli naš objekt iz USD Composera u Substance. U ovom trenutku, ako napravimo promjene u Blenderu, još uvijek možemo ponovno izvesti i preuzeti to u USD Composeru, koji se automatski povezuje sa Substance Painterom.
Međutim, nakon što dodamo teksture unutar Substance Paintera, ponovno to učiniti uklonit će te teksture. Dakle, kada ste zadovoljni, dodajte svoje materijale u Substance Painter i s omogućenim Life Linkom, oni će se automatski pojaviti u USD Composeru.
Sve promjene koje zatim napravite automatski se izvoze i ažuriraju u USD Composeru. Stvarno, stvarno cool!
Meni je ovaj radni proces prilično nevjerojatan. Moći raditi promjene u Blenderu i Substance Painteru u stvarnom vremenu i imati sve to automatski funkcionirati niz liniju i odražavati se u konačnom renderu je nešto drugo.
Ako ste zainteresirani isprobati sve što Nvidia Omniverse nudi, možete ga besplatno preuzeti putem poveznice u opisu. A ako želite saznati više o svim tehničkim slučajevima upotrebe koje USD i Omniverse zajedno pružaju, možete pronaći još jednu besplatnu poveznicu za preuzimanje, kao i poveznicu za prisustvovanje otvorenim USD danima sesijama virtualno ili osobno na GTC-u u ožujku.
Stvarno preporučujem da to provjerite jer je ovo uistinu budućnost 3D radnih procesa.
Više o USD-u
Osim ovog zabavnog primjera, USD ima puno više za ponuditi. I ako dobro iskoristite njegove mogućnosti, postat ćete puno učinkovitiji kao umjetnik. Dakle, što još može učiniti?
Pa, osim činjenice da bi univerzalni format datoteke olakšao vaš život, to je apsolutno budućnost. Od kolovoza 2023., USD je postao službena neprofitna organizacija nazvana The Alliance of Open USD (AO USD) skraćeno – s Pixarom, Appleom, Adobeom, Autodeskom i Nvidiom kao osnivačima.
Mislim da ovo stvarno pokazuje koliko su te tvrtke uložile i kako doista vide ovo kao budućnost interoperabilnog formata datoteke – koji bi svatko trebao moći vrlo lako koristiti.
Osim što je format datoteke, USD pohranjuje gotovo sve – od svjetala i kamera do predmemorije simulacija i podataka scene – u slojevitoj strukturi zvanoj “primovi” (skraćeno za primitive). Sadrži sve te podatke za opisivanje složenih scena i objekata u formatu čitljivom širokom rasponu aplikacija.
Sada, znajući to, naziv “Universal Scene Description” zapravo ima puno smisla!
Ako ste upoznati s Blender kolekcijama, USD radi slično. Možete ugnijezditi bilo što unutar više ugniježđenih kolekcija, uz dodatnu prednost da USD tretira sve te slojeve kao instance. Stoga je sposoban vrlo brzo učitati i čitati sve podatke na optimiziran način.
Ovo radi slično instanciranju kolekcija u Blenderu, što je dobro jer instance zahtijevaju manje računanja od stvarnih dupliciranih objekata. Također je vrlo slično pre-compingu u After Effectsu ili compoundingu u Nukeu – u osnovi grupirate stvari unutar ugniježđenih grupa/slojeva, što računalu olakšava i ubrzava rad s datotekom.
Odličan primjer ove optimizacije je Nvidiaov najnoviji USD projekt primjera nazvan “Da Vinci’s Workshop”. Koristeći njihovu USD Composer aplikaciju (koja je savršena za pregled USD projekata s osvjetljenjem u stvarnom vremenu), mogu reproducirati ovu masivnu 67 GB biblioteku objekata, tekstura i svjetala s milijunima poligona pri gotovo 120 FPS bez ikakvog zaostajanja ili problema. To je moguće zbog toga kako USD učinkovito učitava datoteke i teksture na iznimno optimiziran način.
Slično tome, za animacije koje su se prije izvozile kao Alembic datoteke, USD predmemoriranje je sada puno brže. Alembic datoteke su obično ogromne, vrlo neoptimizirane i računalo ih sporo čita – obično rezultirajući trzavom reprodukcijom. S USD-om, postizanje stabilnog FPS-a nije nikakav problem, a veličina datoteke je puno manja.
Više prednosti
Još jedna stvarno cool značajka je da možete lako pristupiti slojevima unutar svog USD projekta izvan datoteke. Na primjer, ako postoji prim sloj koji sadrži podatak da je sfera zelena unutar USD datoteke, jednostavnom promjenom te boje u crvenu u USD-kompatibilnom uređivaču poput USD Composera, možemo promijeniti boju sfere bez da ikada otvorimo datoteku u Blenderu! To je nevjerojatno moćno.
Iako je to očito osnovni primjer, pokazuje potencijal. Još jedna velika prednost je da USD i dalje vam omogućuje da radite samo na jednom sloju složene datoteke u određenom softveru. Dakle, čak i ako vaša datoteka sadrži kompletan projekt s kamerama, svjetlima itd., još uvijek možete otvoriti samo jedan dio nje – na primjer, jedan model – unutar Substance Paintera i raditi samo na tom dijelu projekta bez utjecaja na bilo što drugo.
Ovo također vrijedi ako više ljudi radi na istoj datoteci – još jedna velika snaga USD-a. Deset ljudi bi moglo raditi na istoj datoteci tako da su promjene koje napravi umjetnik broj jedan odmah vidljive umjetniku broj dva, omogućujući im da prilagode svoj rad u skladu s tim. Mogućnost suradnje s ljudima na daljinu je nevjerojatno moćna.
Budućnost 3D radnih procesa
Sigurno je reći da je USD daleko više od samo formata datoteke. To je sveobuhvatna tehnološka platforma i ekosustav koji se svojom misijom uistinu poklapa s Blenderom: sloboda stvaranja bez ograničenja.
USD je još uvijek u razvoju. San je stvaran – univerzalni format softverske datoteke koji je upotrebljiv za bilo koji softver u industriji, urediv u stvarnom vremenu od strane više umjetnika.
Svi bismo trebali biti zahvalni Pixaru što je utro put s ovim nevjerojatnim razvojem, i tvrtkama poput Nvidije i Applea što doprinose svojim dijelom.