Universell scenbeskrivning¶
Importera USD-filer¶
USD-filer representerar vanligtvis scenen som en hierarki av primitiver, eller prims. Enskilda prims innehåller data för att beskriva scenenheter, t.ex. geometri, ljus, kameror och transformhierarkier. Blenders USD-importör konverterar USD-prims till en hierarki av Blender-objekt. Liksom USD-exportören hanterar importören ännu inte vissa USD-kompositionskoncept, t.ex. lager och referenser.
Följande USD-datatyper kan importeras som Blender-objekt:
Kameror
Kurvor
Lampor
Material
Maskor
Punktmoln
Primitiva former
Volymer
Mer information om hur de olika datatyperna hanteras finns i följande beskrivningar av Import Options.
Observera
Vid import av ett USDZ-arkiv är det viktigt att noga överväga alternativet Import Textures för att avgöra om och hur texturfiler ska kopieras från zip-arkivet.
Xform- och Scope-primitiver¶
USD tillhandahåller en Xform prim-typ, som innehåller transformdata, som kan användas för att representera transformhierarkier och för att organisera scenen. Sådana Xform prims importeras som tomma Blender-objekt.
USD stöder också Scope primitives, som är enheter som inte innehåller transformdata, men som tjänar till att gruppera andra element i scenen. Blender har inte en exakt motsvarighet till begreppet scope, så sådana primitiver importeras som Blender-tomma objekt som ligger vid ursprunget. Detta är en ofullkomlig representation, eftersom tomma objekt har en transform och Scopes inte har det, men detta tillvägagångssätt hjälper ändå till att bevara strukturen i scenhierarkin.
PointInstancer Primitives¶
USD tillhandahåller en prim-typ UsdGeomPointInstancer, som innehåller instanser som är utspridda på en primitivs punkter.
Dessa importeras till Blender som Point Clouds med hjälp av Modifierare för geometri-noder och Instans på Points Node.
Animationer¶
Importören stöder två typer av animering:
Animering av transformationer: Om en USD-primitiv har tidsvarierande transformdata, kommer en Transform Cache-restriktion att läggas till det importerade Blender-objektet.
Animerad geometri: Animerad geometri för mesh, kurvor och punktmoln stöds genom att lägga till en Mesh Sequence Cache-modifierare till de importerade data. Geometriattribut (USD Primvar) animering stöds för alla datatyper som har motsvarande Blender-ekvivalenter. Detta inkluderar färger, UV, hastigheter och andra generiska attributdata. Observera att USD-filsekvenser (dvs. en unik fil per bildruta) inte stöds.
Material¶
Om ett USD-mesh eller en geometriundergrupp har ett bundet material, kommer importören att tilldela Blender-objektet ett material med samma namn som USD-materialet. Om det redan finns ett Blender-material med samma namn i scenen kan det befintliga materialet användas, beroende på alternativet Material Name Collision. Annars kommer ett nytt material att skapas.
Om USD-materialet har en USD Preview Surface shader-källa, sätts Visning av vyport färg, metallic och grovhet till motsvarande ingångsvärden för USD Preview Surface.
Det finns också ett Import USD Preview-alternativ för att konvertera USD Preview Surface shaders till Blender Principled BSDF shader-noder. Detta alternativ kan vara förlustbringande, eftersom det ännu inte hanterar konvertering av alla shaderinställningar och -typer, men det kan generera ungefärliga visualiseringar av materialen.
Orientering om koordinatsystem¶
Om den importerade USD är Y upp, kommer en rotation automatiskt att tillämpas på rotobjekt för att konvertera till Blenders Z upp orientering.
Importera alternativ¶
Följande alternativ är tillgängliga vid import från USD:
Allmänt¶
- Mask för sökväg
Importerar endast den delmängd av USD-scenen som har sin rot i den angivna primitiven.
- Inkludera
- Endast synliga primitiver
Importera inte osynliga USD-primitiver. Gäller endast primitiver med ett icke-animerat visibility-attribut. Primitiv med animerad synlighet kommer alltid att importeras.
- Endast definierade primitiver
Om funktionen är inaktiverad kan man importera USD-primitiver som inte är definierade, t.ex. sådana som har en override-specifier.
- Ställ in Frame Range
Uppdatera scenens start- och slutbild så att de överensstämmer med USD-scenens.
- Skapa samling
Lägg till alla importerade objekt i en ny samling.
- Relativ väg
Välj filen i förhållande till blend-filen.
- Tillämpa skala för enhetskonvertering
Skalar scenobjekten med USD Stage-värdet metersPerUnit. Denna skalning tillämpas utöver det värde som anges i Scale-alternativet.
- Skala
Värde för att skala de importerade objekten i förhållande till världens ursprung.
- Skala för ljusintensitet
Skala för intensiteten hos importerade lampor.
- Anpassade egenskaper
Beteende vid import av USD-attribut som Custom Properties.
- Ingen:
Importerar inte USD:s anpassade attribut.
- Användare:
Importerar USD-attribut i namnrymden userProperties som anpassade egenskaper. Namnrymden kommer att tas bort från egenskapsnamnen.
- Alla anpassade:
Importerar alla USD-anpassade attribut som anpassade egenskaper. Namnrymder kommer att behållas i egenskapsnamnen.
Objekttyper¶
- Kameror
Importera UsdGeomCamera primitiver som Camera Objects (perspektiv och ortografisk).
- Kurvor
Importera UsdGeomBasisCurves primitiver som Curves och UsdGeomNurbsCurves som Blender meshes.
- Lampor
Importera lampor som Ljusobjekt. Inkluderar för närvarande inte cylinder- eller geometriljus.
- Världskupolbelysning
Konverterar den första upptäckta UsdLuxDomeLight kupolljuset till en world background shader.
- Material
Importera material från UsdPreviewSurface.
- Maskor
Importera UsdGeomMesh primitiver som Mesh Objects.
- Volymer
Importera UsdVolVolume OpenVDB-tillgångar som Volume Objects.
- Punktmoln
Importera UsdGeomPoints primitiver som Point Cloud Objects.
- USD Former
Importera primitiva former från USD som Blender-mesh. UsdGeomCapsule, UsdGeomCylinder, UsdGeomCone, UsdGeomCube och UsdGeomSphere stöds.
- Visa syfte
- Rendera
Inkludera primitiver med syfte render.
- Ombud
Inkludera primitiver med syfte proxy.
- Guide
Inkludera primitiver med syfte guide.
- Material Syfte
Försök att importera material med det angivna syftet. Om inget material med detta syfte är bundet till primitiven, anges reservbeteendet, om något, nedan.
- Alla ändamål:
Försök att importera allPurpose material.
- Förhandsvisa:
Försök att importera preview material. Ladda allPurpose-material som en reserv.
- Fullständig:
Försök att importera full material. Ladda allPurpose eller preview material, i den ordningen, som en ”fallback”
Geometri¶
- UV-koordinater
Läser nätets UV-koordinater.
- Färgattribut
Konvertera USD mesh displayColor värden till Blender’s färgattribut.
- Mesh-attribut
Läs USD Primvars som nätattribut.
- Indelning
Skapa modifierare för indelningsytor baserat på USD-attributet SubdivisionScheme.
- Validera maskor
Kontrollera om det importerade nätet innehåller korrupta data och åtgärda dem vid behov. När detta alternativ är inaktiverat kan felaktiga data orsaka kraschar vid visning eller redigering av mesh. Detta alternativ gör importen långsammare, men rekommenderas eftersom datafel inte alltid är uppenbara.
- Sammanfoga överordnad Xform
Tillåt USD-primitiver att slås samman med sin Xform-förälder om de är det enda barnet i hierarkin.
Riggning¶
- Formnycklar
Importerar USD blend shapes som Blenders Formnycklar.
- Armaturer
Importerar USD-skelett som Blenders Armaturer.
Material¶
- Importera alla material
Importera även material som inte används av någon geometri. Observera att när detta alternativ är falskt kommer material som refereras till av en geometri ändå att importeras.
- Importera USD Förhandsgranskning
Konvertera USD Preview Surface shaders till Principled BSDF shader networks.
- Ställ in materialblandning
Om alternativet Import USD Preview är aktiverat kommer materialblandningsmetoden automatiskt att ställas in baserat på shaderingångarna opacity och opacityThreshold, vilket möjliggör visualisering av transparenta objekt.
- Materialnamn Kollision
Beteende när namnet på ett importerat material står i konflikt med ett befintligt material.
- Gör unikt:
Importera varje USD-material som ett unikt Blender-material.
- Referens Befintlig:
Om det redan finns ett material med samma namn, hänvisa till det istället för att importera.
HD-TEXTURER¶
Vid import av ett USDZ-paket anger följande alternativ om och hur texturtillgångsberoenden för USD ska kopieras från zip-arkivet så att de kan laddas in i Blender.
- Importera texturer
Beteende vid import av texturer från ett USDZ-arkiv.
- Ingen:
Importera inte texturer. Observera att med detta alternativ kan det hända att materialtexturer inte kan lösas upp i Blender.
- Förpackad:
Importera texturer som packad data i Blender-filen.
- Kopiera:
Kopiera filer till den katalog som anges i alternativet Textures Directory.
- Katalog över texturer
Sökväg till den katalog där importerade texturer ska kopieras, när läget Import Textures är Copy.
Observera att standardkatalogen för texturer är den relativa sökvägen //textures, vilket kräver att Blender-filen har sparats innan den importeras, så att den relativa sökvägen kan lösas.
- Filnamn Kollision
Beteende när namnet på en importerad texturfil står i konflikt med en befintlig fil.
- Användning Befintlig:
Om det redan finns en fil med samma namn använder du den istället för att kopiera.
- Skriv över:
Skriva över befintliga filer.
Partiklar och instansiering¶
- Instansiering av scen
Importera USD-scengrafinstanser som samlingsinstanser, annars importeras de som kopior.
Exportera till USD-filer¶
Universal Scene Description (USD)-filer kan innehålla komplexa lager, åsidosättningar och referenser till andra filer. Blenders USD-exportör använder ett mycket enklare tillvägagångssätt. Vid export exporteras alla synliga, stödda objekt i scenen, eventuellt begränsade av deras markeringsstatus. Blender har (ännu) inte stöd för export av osynliga objekt, USD-lager, varianter osv.
Följande objekt kan exporteras till USD:
Maskor (av olika slag, se nedan).
Kameror (perspektivkameror endast för tillfället, inte ortogonala).
Kurvor
Lampor
Hår (exporteras som kurvor och begränsas till föräldrasträngar).
Punktmoln
Volymer
Armaturer
Vid export av en animation skrivs det slutliga, utvärderade nätet till USD. Detta innebär att följande meshes kan exporteras:
Statiska maskor.
Deformerande nät; här ändras inte nätets topologi, men hörnpunkternas placering ändras över tiden. Exempel är animerade karaktärer eller studsande (men inte sprickande) föremål.
Godtyckligt animerade nät; här ändras topologin. Ett exempel är resultatet av en vätskesimulering, där stänk av vätska kan bryta sig loss från huvudkroppen.
Metaballarna exporteras som animerade nät.
Observera
För att exportera Blender-scenen som ett USDZ-arkiv, ställ in filtillägget för utdatafilen till .usdz. Det exporterade USDZ-paketet kommer att vara ett zip-arkiv som innehåller USD och dess texturfilberoenden.

Exportalternativ¶
Följande alternativ är tillgängliga vid export till USD:
Allmänt¶
- Rot Prim
Om den är inställd, lägg till en transform-primitiv med den angivna sökvägen till scenen som förälder till alla exporterade data.
- Inkludera
- Endast urval
När den är markerad exporteras endast markerade objekt. Instansierade objekt, t.ex. samlingar som instansieras i scenen, anses vara ”valda” när deras instanser är valda.
- Endast synlig
Exporterar endast objekt som inte är hidden. Osynliga föräldrar till exporterade objekt exporteras som tomma transformationer.
- Animering
När den är markerad exporteras hela scenens bildintervall. När den inte är markerad exporteras endast den aktuella scenrutan.
- Blender Data
- Anpassade egenskaper
Exporterar Custom Properties som USD-attribut. Egenskapen Namespace används för att bestämma namnrymden som attributen skrivs till.
- Namnrymd
Om inställd, lägg till den angivna namnrymden som ett prefix till exporterade anpassade egenskapsnamn. Detta gäller endast för egenskapsnamn som inte redan har ett prefix (t.ex. skulle det gälla för namnet bar men inte foo:bar) och gäller inte för Blender-objekt och datanamn som alltid exporteras i userProperties:blender-namnrymden.
Som standard används namnrymden userProperties.
- Blender-namn
Author USD anpassade attribut som innehåller det ursprungliga Blender-objektet och objektdatanamn.
- Tillåt Unicode
Bevarar UTF-8-kodade tecken när du skriver USD prim- och egenskapsnamn (kräver programvara som använder USD 24.03 eller senare när du öppnar de resulterande filerna).
- Filreferenser
- Relativa banor
Använd relativa sökvägar för att referera till externa filer (t.ex. texturer, volymer) i den exporterade USD-filen, annars används absoluta sökvägar.
- Konvertera orientering
Konvertera orienteringsaxeln till en annan konvention för att matcha andra applikationer. Blender använder Y framåt, Z uppåt (eftersom framsidan ser ut längs +Y-riktningen). Det är till exempel vanligt att applikationer använder Y som uppåtgående axel, i så fall behövs -Z Forward, Y Up.
- Framåt/uppåt axel
Genom att mappa dessa till olika axlar kan du konvertera rotationer mellan applikationernas standardaxlar uppåt och framåt.
- Enheter
Ställ in metadata för USD Stage metersPerUnit till den valda mätningen.
- Meter per enhet
Värde som ska användas för metersPerUnit om Custom Units har valts.
- Xform Ops
Den typ av transformationsoperatorer som ska användas för att transformera prims.
- Översätt, rotera, skala:
Exportera med operatörerna Xform för översättning, rotation och skalning.
- Översätt, orientera, skala:
Exportera med operatörerna translate, orient quaternion och scale Xform.
- Matris:
Exportera matrisoperatör.
- Använd inställningar för
Bestämmer om man ska använda Viewport eller Render synlighet för objekt, modifieringsinställningar och andra egenskaper som ger liknande alternativ, under export.
Objekttyper¶
- Maskor
Exporterar Mesh-objekt
- Lampor
Exporterar Light Objects För att stödja spotlights används UsdLuxShapingAPI.
- Världskupolbelysning
Konvertera world-materialet till en UsdLuxDomeLight. Fungerar för närvarande för enkla material, bestående av en miljötextur ansluten till en bakgrundsskugga, med en valfri vektormultiplicering av texturfärgen.
- Kameror
Exporterar Kameraobjekt Endast perspektivkameror exporteras.
- Kurvor
Exporterar Kurvobjekt
- Punktmoln
Exporterar Point Cloud Objects
- Volymer
Exporterar Volymobjekt
- Hår
Exporterar föräldrars hårstrån exporteras som ett kurvsystem. Hårsträngens färger exporteras inte.
Observera
Den motsvarande USD-schematyp som används under Export är analog med den typ som läses under Import. Se avsnittet Import för mer information.
Geometri¶
- UV-kartor
Om markerad, inkluderar UV-koordinater för exporterade meshes. Namnet på UV-kartan i USD är detsamma som namnet i Blender.
- Byt namn på UV-kartor
Exporterar UV-kartor med USD:s standardnamn (st) i motsats till Blenders standardnamn (UVMap).
- Normaler
När kryssrutan är markerad ingår normaler för exporterade nät. Detta inkluderar anpassade loopnormaler.
- Sammanfoga överordnad Xform
Sammanfoga USD-primitiver med deras Xform-förälder om möjligt. USD tillåter inte nästlade UsdGeomGprims, mellanliggande Xform-prims kommer att definieras för att hålla USD-filen giltig när man stöter på objekthierarkier.
- Triangulera
Triangulerar nätet innan det skrivs. För mer information om det specifika alternativet, se Triangulate modifierare.
Riggning¶
- Formnycklar
Exportera formnycklar som USD-blandningsformer.
Absoluta formnycklar stöds inte.
- Armaturer
Exportera Armatures och meshes med Armature Modifiers som USD-skelett och skinnade meshes.
Begränsningar:
Modifierare utöver armaturmodifierare kommer inte att tillämpas.
Böjliga ben stöds inte.
- Deformerar endast ben
Exportera endast deforma ben och deras föräldrar.
Material¶
Exporterar materialinformation för objektet. Som standard approximerar exportören nodträdet Principlös BSDF genom att konvertera det till USD:s Preview Surface-format.
När ett nät har flera material tilldelade skapas en geometrisk delmängd för varje material. Det första materialet (om det finns något) appliceras alltid på själva nätet (oavsett om det finns geometriundergrupper), eftersom Hydra-visningsportalen inte stöder material på undergrupper. Se USD issue #542 för mer information.
Observera
Om USD Preview Surface Network och MaterialX Network är inaktiverade, ställs materialet in på vyportsmaterialet för meshen.
Stöd för förflyttning
Displacement är stöd med vissa förbehåll:
Endast förskjutning i objektrymden stöds (ingen vektorförskjutning).
Kontrollerna Midlevel och Scale kan endast vara konstanter.
MaterialX stöds för närvarande inte, se feature commit för mer information.
- USD Förhandsgranskning Surface Network
Approximerar ett Principlös BSDF-nodträd genom att konvertera det till USD:s Preview Surface-format.
Observera
För att stödja opacityThreshold, ibland känt som ”Alpha Clip”, måste nodträdet antingen använda en Math-nod inställd på Round, om önskat tröskelvärde är 0,5, eller genom att använda ett par Math-noder som implementerar 1 - (värde < tröskelvärde). Resultatet ska kopplas in i Alpha-sockeln på Principled BSDF-noden.
Varning
Alla noder stöds inte; för närvarande stöds endast enkla nodträd som innehåller noderna Diffuse BSDF, Principled BSDF, Image Textures, UVMap och Separate RGB.
- MaterialX-nätverket
Genererar materialskuggningsgrafer med hjälp av MaterialX-standarden. Denna standard är utformad för att stödja en hög grad av interoperabilitet mellan DCCs <Digital Content Creation>. I Blender stöder MaterialX de flesta shader-noderna och deras funktionalitet, men har några förbehåll (se nedan).
Varningar för implementering
Vid användning av Principled BSDF är den resulterande grafen mycket användbar. Men när man använder några av de andra BSDF:erna är vissa av de genererade skuggningsgraferna svåra att förstå för andra DCC:er.
- Exportera texturer
Metod för att exportera texturer.
- Behåll:
Använd originalplatsen för texturer.
- Bevara:
Bevara filsökvägar för texturer från redan importerade USD-filer. Exportera återstående texturer till en ”textures”-mapp bredvid USD-filen.
- Ny sökväg:
Exportera texturer till en ”textures”-mapp bredvid USD-filen.
- Skriva över texturer
Tillåt överskrivning av befintliga texturfiler vid export av texturer.
- USDZ nedsampling av textur
Välj en maximal storlek för alla exporterade texturer.
- Behåll:
Behåll alla nuvarande texturstorlekar.
- 256:
Ändra storlek till maximalt 256 pixlar.
- 512:
Ändra storlek till maximalt 512 pixlar.
- 1024:
Ändra storlek till maximalt 1024 pixlar.
- 2048:
Ändra storlek till maximalt 2048 pixlar.
- 4096:
Ändra storlek till maximalt 4096 pixlar.
- Anpassad:
Ange en anpassad storlek.
- USDZ anpassad nedskalning Storlek
Storleken i pixlar på den Custom downsampling.
Experimentell¶
- Instansiering
Eftersom detta är ett experimentellt alternativ. När alternativet är avmarkerat exporteras duplicerade objekt som riktiga objekt, så ett partikelsystem med 100 partiklar som visas med 100 maskor kommer att ha 100 individuella maskor i den exporterade filen. När den är markerad exporteras duplicerade objekt som en referens till det ursprungliga objektet. Om originalobjektet inte är en del av exporten exporteras den första duplikaten som ett verkligt objekt och används som referens.
Begränsningar för exportörer¶
- Enkelsidiga och dubbelsidiga maskor
USD verkar varken stödja dubbelsidighet per material eller per ansiktsgrupp, så Blender använder flaggan från det första materialet för att markera hela nätet som enkel- / dubbelsidigt. Om det inte finns något material är standardvärdet dubbelsidigt.
- Material
När det finns flera material lagras meshytorna som geometriska delmängder och varje material tilldelas lämplig delmängd. Om det bara finns ett material hoppas detta över. Observera att geometriunderuppsättningarna inte tidssamplas, så det kan bli fel när ett animerat mesh ändrar topologi.
- Hår
Endast de överordnade trådarna exporteras, och endast med en konstant färg. Inga UV-koordinater och ingen information om normalerna.
- Kamera
Endast perspektivkameror exporteras.
- Partiklar
Partiklar skrivs bara när de är levande, vilket innebär att de alltid är synliga. Det finns för närvarande ingen kod som hanterar att markera dem som osynliga utanför deras livslängd.
Objekt som instansieras av partikelsystem exporteras genom att objektnamnet suffixeras med partikelns persistenta ID, vilket ger varje partikeltransform ett unikt namn.
- Instansiering/Referentiering
Detta är fortfarande en experimentell funktion som kan aktiveras vid export till USD. När funktionen är aktiverad skrivs instansierade objektnät till USD som referenser till originalnätet. Den första kopian av meshen skrivs på riktigt och de följande kopiorna refererar till den första. Vilken mesh som betraktas som ”den första” väljs mer eller mindre godtyckligt.
- USDZ
På grund av en nuvarande begränsning i USD-biblioteket kan UDIM-texturer inte inkluderas i USDZ-arkivet. Denna begränsning kommer troligen att åtgärdas i en framtida version av USD. (Se USD pull request #2133.)
USD Primvar datatyper¶
Blender stöder en delmängd av USD:s grundläggande datatyper för import och export.
Endast de typer som stöds av Blenders attributsystem kommer att bearbetas.
Typ av mixer |
Typ av USD |
Anteckningar |
---|---|---|
Boolean |
bool |
|
8-bitars heltal |
uchar |
Det osignerade 8-bitarsvärdet för USD kommer att kastas till ett signerat värde för import. Det signerade värdet kommer att kastas till osignerat för export. |
Heltal |
int |
Ett 32-bitars signerat heltalsvärde. |
Flytande |
flyt |
Ett 32-bitars flyttalsvärde med enkel precision. |
Vektor |
float3 |
3D-vektor med 32-bitars flyttalsvärden. |
2D vektor |
float2/texCoord2f |
2D-vektor med 32-bitars flyttalsvärden. |
Färg |
färg4f |
RGBA-färg med 32-bitars värden i flyttal. Som ett specialfall, när du stöter på en Primvar eller attribut för USD displayColor, kommer det att läsas eller skrivas som color3f data med en Alpha-komponent på 1,0. |
Byte Färg |
färg4f |
USD tillhandahåller inte en bytefärgekvivalent. Bytevärdena kommer att konverteras till float och exporteras som en color4f. |
Kvaternion |
quatf |
Flyttal Quaternion rotation. |
Varningar för implementering
Blender stöder inte USD Primvars som använder 64-bitars heltalsvärden (int64), de som använder osignerade typer (uint), eller de som använder 64-bitars dubbelprecision eller 16-bitars halvprecision flyttalsvärden. Detta skulle till exempel inkludera typer som matrix4d (4x4-matris av dubblar) och quath (kvaternion med halv precision).
Observera
Datatypen USD float4 har ingen direkt motsvarighet i Blender och kommer inte att behandlas som en Blender Color eller Quaternion.