USD faila formāts 3D: Kāpēc tas ir lielisks

Categorized as 3D, Open Source Tagged , , , , , , ,
Save and Share:

USD (Universal Scene Description jeb Universāls sižeta apraksts) ir Pixar izstrādāts faila formāts 3D datorgrafikas sižetu apmaiņai starp digitālā satura veidošanas lietotnēm. Tas ir paplašināms atvērtā pirmkoda faila formāts, kas var uzglabāt informāciju par 3D ģeometriju, ēnojumu, apgaismojumu, fiziku un citām ar grafiku saistītām jomām. Tas var arī apvienot un ignorēt datus no vairākiem avotiem, izveidojot vienotu sižeta grafiku, ko var rediģēt nedestruktīvi.

USD tiek izmantots daudzās nozarēs, piemēram, dizainā, arhitektūrā, animācijā un spēlēs, un to atbalsta daudzas programmatūras lietotnes, piemēram, Blender, Cinema 4D, Houdini, Maya un Apple SceneKit. USD ir arī Pixar 3D grafikas cauruļvada pamats un Nvidia Omniverse platformas bāze.

Universālā sižeta apraksta (USD) specifikācijā tiek izmantoti vairāki failu formāti:

  • .usd – var būt kodēts gan ASCII, gan bināri
  • .usda – kodēts ASCII
  • .usdc – kodēts bināri
  • .usdz – pakotnes fails, kas formatēts kā nulles kompresijas, nešifrēts zip arhīvs. Var saturēt .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3 un .wav failus.

Blender (vai jebkura cita 3D programmatūra) atvieglo jūsu dzīvi, ļaujot jums veikt daudzus uzdevumus, izmantojot tikai tās saskarni, taču, tiklīdz jūs sākat ievietot citu programmatūru savā darbplūsmā, problēmas sāk parādīties kā sēnes pēc lietus. Tāpēc parunāsim par lielākajām problēmām, ar kurām jūs, iespējams, jau šodien saskaraties, un par to, kā Pixar ir radījis risinājumu, lai tās pārvarētu līdz bezgalībai un vēl tālāk.

Video par USD faila formātu no KaizenTutorials

Problēma

Ja jūs kādreiz esat teksturējis modeli Substance, importējis savu darbu Unreal vai mēģinājis koplietot projektu ar kādu, kas strādā citā programmatūrā, jūs, iespējams, esat sapratis, cik kaitinoši tas var būt. Nepieciešamība tikt galā ar dažādiem failu tipiem, pareizām eksportēšanas darbplūsmām katrai atsevišķai programmatūrai un vērtīgu datu zaudēšana procesā var likt jums justies tā, it kā jūs atkārtoti ar nolūku sistu galvu pret sienu.

Un ticiet man, kad es saku, ka to piedzīvo visi 3D mākslinieki visur – neatkarīgi no tā, vai jūs strādājat kā solo radītājs ar savu pielāgoto darbplūsmu vai lielā studijā, piemēram, Pixar, kur jāievēro stingri darbplūsmas ierobežojumi, lai uzturētu pareizu darbplūsmu visiem pārējiem 1232 tur strādājošajiem cilvēkiem. Problēma paliek nemainīga.

Kāpēc tas notiek

Tomēr tam ir jēga, vai ne? Katra programmatūra izmanto patentētu faila tipu, kas darbojas tās vajadzībām. Tātad fails no Blender, piemēram, ir kodēts darbam Blender, bet ne Substance. Acīmredzami uzņēmumā katram māksliniekam ir nepieciešams fails, kas ir saderīgs ar viņu pašu izvēlēto rīku, lai atvieglotu un dažreiz pat padarītu iespējamu darba turpināšanu pie projekta.

Tāpēc eksportēšana uz universālāku faila tipu, piemēram, FBX vai OBJ, ir obligāta, pārslēdzoties uz citu programmatūru vai nododot savu projektu nākamajai personai. Taču pat šiem failu tipiem ir daudz ierobežojumu, piemēram, nespēja pareizi uzglabāt simulācijas, apgaismojumu un daudzus citus jūsu Blender projektu aspektus.

Iepazīstinām ar USD

Tātad, kas ir atbilde uz šo problēmu? Universāls sižeta apraksts (USD) īsumā! Pirmo reizi Pixar to publicēja kā atvērtā pirmkoda programmatūru 2016. gadā kā savu jauno galveno darbplūsmu, un USD galvenokārt bija veids, kā viņu māksliniekiem atvieglot datu pārvietošanu starp sevi un rīkiem, ko viņi izmanto.

Kopš tā izlaišanas USD pastāvīgi tiek mainīts un uzlabots, kas ir ierasta lieta atvērtā pirmkoda programmatūrai, tāpat kā Blender, kas arī tiek konsekventi atjaunināts un paplašināts.

Kas ir USD?

USD ir daudz kas, un, ja es iedziļinātos tajā patiešām dziļi, to varētu aprakstīt kā ļoti tehnisku un sarežģītu lietu. Bet, ja es to pateiktu vienkārši, USD ir veids, kā panākt, lai tādas lietotnes kā Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse un daudzas citas savstarpēji sazinātos un saprastu viena otru.

Datorindustrijā tam patiesībā ir iedomīgs vārds – savstarpēja izmantojamība. Diezgan grūti pateikt! Tomēr, cik iedomīgi tas skanētu, tas patiesībā nav tik sarežģīti, kā jūs varētu domāt. Jūs varat sākt to lietot jau šodien savā datorā vai pat ar vairākiem draugiem vai kolēģiem visā pasaulē.

Kā USD atšķiras

Tradicionāli darbplūsma ir ļoti vienvirziena lieta, kur katrs cilvēks var sākt strādāt pie kaut kā tikai tad, kad iepriekšējais cilvēks ir pabeidzis. Vai, ja runa ir par jums personīgi, jūs varat pāriet uz nākamo procesa soli, piemēram, teksturēšanu, tikai tad, ja modelēšana ir pilnībā pabeigta.

Jūs varētu to salīdzināt ar kūkas cepšanu – veidojot un radot šo kūku, jums ir jāpabeidz katrs solis, pirms varat sākt nākamo. Jūs nevarat cept kūku, pirms neesat samaisījis mīklu, un jūs nevarat to izveidot, pirms kūkas nav izceptas cepeškrāsnī. Katrs solis ir atkarīgs no iepriekšējā soļa pabeigšanas.

Vēl svarīgāk, tiklīdz jūs uzklājat glazūru un pildījumu vai nolemjat, ka biskvītam jābūt šokolādes, ceļa atpakaļ nav. Jūs nevarat atcept kūku, mainīt garšu uz vaniļas vai noņemt glazūru. Un to mēs saucam par destruktīvu darbplūsmu.

USD tomēr ir vairāk kā Lego. Katrs bloks attēlo 3D sižeta daļu – varoņus, objektus, vidi, ko vien vēlaties – un jūs varat šos blokus salikt, izjaukt un pārveidot neatkarīgi.

Tradicionālā darbplūsmā, mainot vienu bloku, būtu jāpielāgo pārējā struktūra. Bet ar USD pie katra celtniecības bloka var strādāt neatkarīgi, un es varu vienkārši nomainīt viena bloka krāsu, piemēram, uz citu, bez nepieciešamības pārbūvēt visu modeli.

Tas ir nedestruktīvs piegājiens, kas ļauj eksperimentēt un sadarboties darbplūsmās, neieklimstot darbplūsmas ierobežojumos.

USD mērķis

Visa šī USD mērķis ir izveidot veidu, kā dati varētu brīvi pārvietoties starp lietotnēm, dot māksliniekiem un komandām brīvību koncentrēties uz radīšanu, nevis uz eksportēšanu un iestrēgšanu, gaidot vienam otru, lai varētu turpināt darbu. Māksliniekiem nevajadzētu sākt no jauna, ja koncepcijas komanda nolemj mainīt lietas vēlāk. Un nevajadzētu būt problēmām ar failu formātiem, kas nāk no citām programmām un nedarbojas jūsu izvēlētajā programmatūrā.

Pakalpojumu līmenī šķiet, ka USD ir tieši tas – ļoti savstarpēji izmantojams faila formāts, ko var viegli apmainīt starp dažādām programmatūrām. Un godīgi sakot, tas būs tas, kas tas būs lielākajai daļai Blender lietotāju, jo daudzi no mums mēdz strādāt solo. Taču USD ir vairāk nekā tikai faila tips…

Tas ir veids, kā salikt un organizēt jebkuru skaitu resursu virtuālos komplektos, sižetos, kadros un pasaulēs – izmantojot tos no lietotnes uz lietotni un nedestruktīvi rediģējot tos bieži reāllaikā.

Kā strādāt ar USD

Tātad, apskatīsim, kā mēs varam strādāt ar USD Blender darbplūsmā. Vienkāršākajā formā USD ir bijusi eksportēšanas opcija Blender kopš 3.6 versijas. Tātad, ja jums ir fails, pie kura strādājat, un vēlaties to saglabāt kā USD failu, jūs varat doties uz Fails > Eksportēt > Universal Scene Description, un tas parādīs jums uzvednes logu faila saglabāšanai.

Tam ir diezgan daudz iespēju, taču galvenās, kas jāņem vērā, ir:

  • Selection Only (Tikai atlase) – eksportā iekļaus tikai atlasītos objektus
  • Animation and Hair (Animācija un mati) – iekļaus/izslēgs animācijas un matu daļiņu datus jūsu objektiem

Šeit ir lielisks piemērs tam, kā USD darbojas. Šis ir fails no Nvidia USD paraugu bibliotēkas, kas tika izveidots dažādās programmatūrās, piemēram, 3ds Max un Substance. Ja jūs to atverat Blender, importējot to, tas darbojas gandrīz 100% uzreiz!

Kā redzat, tas satur visus datus, tostarp gaismas, asuma dziļumu, kameru, materiālus un daudz ko citu. Vienīgais, kas netiek pareizi eksportēts, ir HDRI apgaismojums, kas mums ir jāiestata pašiem. Bet ir neticami domāt, ka tas izskatās gandrīz identiski 3DS Max Arnold renderētājā un tikko tika eksportēts uz Blender un darbojas tikpat labi, izmantojot vienu faila tipu!

Tam ir pareiza hierarhija, materiāli, un būtībā viss ir iestatīts. Tas ir patiešām, patiešām forši! Jebkurā gadījumā tas parāda, kā USD darbojas starp dažādām lietotnēm un ka tas darbojas kā savstarpēji izmantojams faila formāts.

Praktisks USD piemērs

Bet apskatīsim praktiskāku piemēru. Šim darbplūsmas piemēram es izmantošu tipisku darbplūsmu, izmantojot Blender, lai modelētu objektu spēlei.

Tradicionālā darbplūsma izskatītos apmēram šādi:

  1. Izveidot modeli Blender
  2. UV izvērses modelis
  3. Eksportēt kā FBX, jo Painter nevar izmantot Blender failus
  4. Importēt FBX Substance Painter
  5. Pievienot materiālus Substance
  6. Eksportēt tekstūras kā attēlus
  7. Importēt FBX spēļu dzinējā
  8. Iestatīt tekstūras manuāli
  9. Izveidot renderējumus

Ar USD mēs varam ievērojami vienkāršot šo procesu un saglabāt lielākoties nedestruktīvu darbplūsmu. Darbplūsma joprojām ir ļoti līdzīga, un Blender un Substance ir galvenās sastāvdaļas.

Bet, tā kā USD vietēji nedarbojas reāllaikā starp šīm lietotnēm (galvenokārt tāpēc, ka Blender joprojām ir ierobežots USD atbalsts), es izmantošu Nvidia Omniverse, lai izveidotu šo savienojumu mums.

Izmantojot Omniverse, es varu piekļūt vairāk USD saderīgam Blender atzaram, ko izveidojusi Nvidia. Es varu iespējot Omniverse savienotāju Substance Painter, lai realizētu LifeLink. Un es varu izmantot USD Composer, lai pārvarētu plaisu starp lietotnēm un skatītu galaproduktu.

Kad tas ir iestatīts, mēs tagad varam atvērt savu Blender projektu pielāgotajā Blender atzarā. Ja mēs pēc tam nospiežam N un dodamies uz labo pusi, šeit mēs iegūstam Nucleus papildinājumu, kas ļauj mums eksportēt to kā USD failu.

Ja mēs pēc tam dodamies uz USD Composer un atveram šo USD failu, mēs iegūstam sava veida tiešo saiti starp lietotnēm. Es tagad varu veikt jebkādas izmaiņas tīklā, atkārtoti to eksportēt un panākt, ka tas automātiski tiek uztverts USD Composer.

Kļūst vēl labāk! Kad esam importējuši modeli, mēs varam atvērt Substance Painter, iespējot Omniverse savienotāju un doties uz Importēt tīklu, lai automātiski importētu mūsu objektu no USD Composer Substance. Šajā brīdī, ja mēs veicam izmaiņas Blender, mēs joprojām varam atkārtoti eksportēt un uztvert to USD Composer, kas automātiski saistās ar Substance Painter.

Tomēr, tiklīdz mēs pievienojam tekstūras Substance Painter, atkārtota darbība to atkal noņems šīs tekstūras. Tāpēc, kad esat apmierināts, pievienojiet savus materiālus Substance Painter, un, ja Life Link ir iespējots, tie automātiski parādīsies USD Composer.

Jebkuras izmaiņas, ko jūs pēc tam veicat, automātiski tiek eksportētas un atjauninātas USD Composer. Tiešām, tiešām forši!

Man šī darbplūsma ir diezgan prātam neaptverama. Iespēja veikt izmaiņas Blender un Substance Painter reāllaikā un panākt, ka tas viss automātiski darbojas tālāk un atspoguļojas galīgajā renderējumā, ir kaut kas cits.

Ja jūs interesē izmēģināt visu, ko Nvidia Omniverse var piedāvāt, jūs varat to lejupielādēt bez maksas, izmantojot saiti aprakstā. Un, ja jūs vēlaties uzzināt vairāk par visiem tehniskajiem lietošanas gadījumiem, ko USD un Omniverse kopā nodrošina, jūs varat atrast citu bezmaksas lejupielādes saiti, kā arī saiti, lai apmeklētu atvērtās USD dienas sesijas virtuāli vai klātienē GTC martā.

Es patiešām iesaku to apskatīt, jo šī patiešām ir 3D darbplūsmu nākotne.

Vairāk par USD

Papildus šim jautrajam piemēram USD var piedāvāt daudz vairāk. Un, ja jūs labi izmantojat tā iespējas, jūs kļūsiet daudz efektīvāks kā mākslinieks. Tātad, ko vēl tas var darīt?

Nu, papildus tam, ka universāls faila formāts padarītu jūsu dzīvi daudz vieglāku, tas noteikti ir nākotne. Kopš 2023. gada augusta USD ir kļuvusi par oficiālu bezpeļņas organizāciju ar nosaukumu The Alliance of Open USD (AO USD) īsumā – ar Pixar, Apple, Adobe, Autodesk un Nvidia kā tās dibinātājbiedriem.

Es domāju, ka tas patiešām parāda, cik ļoti šie uzņēmumi ir ieguldīti un kā viņi patiešām redz to kā savstarpēji izmantojama faila formāta nākotni – kuru ikvienam vajadzētu varēt izmantot ļoti viegli.

Papildus faila formātam USD uzglabā gandrīz visu – no gaismām un kamerām līdz simulācijas kešatmiņai un sižeta datiem – slāņveida struktūrā, ko sauc par “primiem” (saīsinājums no primitives – primitīvi). Tas satur visus šos datus, lai aprakstītu sarežģītus sižetus un resursus formātā, kas ir lasāms plašam lietotņu klāstam.

Tagad, zinot to, nosaukums “Universal Scene Description” patiesībā iegūst lielu jēgu!

Ja esat pazīstams ar Blender kolekcijām, USD darbojas līdzīgi. Jūs varat ievietot jebko vairākās ligzdotās kolekcijās, un USD papildu priekšrocība ir tā, ka USD visus šos slāņus uztver kā instances. Tāpēc tas spēj ļoti ātri ielādēt un nolasīt visus datus optimizētā veidā.

Tas darbojas līdzīgi kolekciju instancēšanai Blender, kas ir labi, jo instances prasa mazāk skaitļošanas nekā faktiski dublikātu objekti. Tas ir arī ļoti līdzīgi kā iepriekšēja kompilēšana After Effects vai apvienošana Nuke – jūs būtībā grupējat lietas ligzdotās grupās/slāņos, kas atvieglo un paātrina datoram darbu ar failu.

Lielisks šīs optimizācijas piemērs ir Nvidia jaunākais USD paraugprojekts ar nosaukumu “Da Vinci’s Workshop”. Izmantojot viņu USD Composer lietotni (kas ir lieliski piemērota USD projektu skatīšanai ar reāllaika apgaismojumu), es varu atskaņot šo masīvo 67 GB resursu, tekstūru un apgaismojuma bibliotēku ar miljoniem poligonu gandrīz 120 FPS bez jebkādas aizķeršanās vai problēmām. Tas ir iespējams, pateicoties tam, cik efektīvi USD ielādē failus un tekstūras ārkārtīgi optimizētā veidā.

Līdzīgi arī animācijām, kas agrāk tika eksportētas kā Alembic faili, USD kešatmiņa tagad ir daudz ātrāka. Alembic faili parasti ir milzīgi, ļoti neoptimizēti un datoram lēni nolasāmi – parasti rezultātā ir saraustīta atskaņošana. Ar USD vienmērīgu FPS sasniegšana nav nekāda problēma, un faila lielums ir daudz mazāks.

Vairāk priekšrocību

Vēl viena patiešām forša funkcija ir tā, ka jūs varat viegli piekļūt slāņiem USD projektā no ārpus faila. Piemēram, ja USD failā ir prima slānis, kas satur datus, ka sfēra ir zaļa, vienkārši mainot šo krāsu uz sarkanu USD saderīgā redaktorā, piemēram, USD Composer, mēs varam mainīt sfēras krāsu, nekad neatverot failu Blender! Tas nu gan ir neticami spēcīgi.

Lai gan tas, protams, ir vienkāršs piemērs, tas parāda potenciālu. Vēl viena būtiska priekšrocība ir tā, ka USD joprojām ļauj jums strādāt tikai pie viena sarežģīta faila slāņa noteiktā programmatūrā. Tātad, pat ja jūsu fails satur pilnīgu projektu ar kamerām, gaismām utt., jūs joprojām varat atvērt tikai vienu tā daļu – piemēram, vienu modeli – Substance Painter un strādāt tikai pie šīs projekta daļas, neietekmējot neko citu.

Tas attiecas arī uz gadījumiem, kad pie viena faila strādā vairāki cilvēki – vēl viena liela USD stiprā puse. Desmit cilvēki varētu strādāt pie viena faila, tāpēc mākslinieka numur viens veiktās izmaiņas ir nekavējoties redzamas māksliniekam numur divi, ļaujot viņiem attiecīgi pielāgot savu darbu. Spēja sadarboties ar cilvēkiem attālināti ir neticami spēcīga.

3D darbplūsmu nākotne

Var droši teikt, ka USD ir daudz vairāk nekā tikai faila formāts. Tā ir visaptveroša tehnoloģiju platforma un ekosistēma, kas savā misijā patiešām atbilst Blender: brīvība radīt bez ierobežojumiem.

USD joprojām tiek izstrādāts. Sapnis ir īsts – universāls programmatūras faila formāts, ko var izmantot jebkura programmatūra nozarē, rediģējams reāllaikā vairākiem māksliniekiem.

Mums visiem vajadzētu būt pateicīgiem Pixar par ceļa pavēršanu ar šo neticamo izstrādi un tādām kompānijām kā Nvidia un Apple par viņu daļas ieguldījumu.

Leave a comment

Your email address will not be published. Required fields are marked *