aspose.info
SV

USD - Universal Scene Description Format

Uppdaterad

Vad är en USD-fil?

En fil med filtillägget .usd är ett Universal Scene Description-filformat som kodar data i syfte att datautbyte och utöka mellan applikationer för digitalt innehåll. Utvecklat av Pixar, USD ger möjligheten att byta ut elementära tillgångar (som modeller) eller animationer.

USD filformat

USD-filer kan ha binärt format (även känd som Crate-filer) eller ASCII-stödda filer. Båda dessa filformat är utbytbara där referenserna kan länkas till .usd-tillgångar utan att ändra källorna. USD-filformatet består av en uppsättning C++-bibliotek med Python-bindningar för skript. Det möjliggör montering och organisering av valfritt antal 3D-scenelement som virtuella uppsättningar, scener och bilder för att överföra dem från applikation till applikation.

USD-datatyper

De grundläggande datatyperna som stöds av filformatet USD listas i följande tabell.

VärdetypstokenC++ typBeskrivning
boolbool
ucharuint8_t8 bitar osignerat heltal
intint32_t32-bitars signerat heltal
uintuint32_t32-bitars heltal utan tecken
int64int64_t64 bitars signerat heltal
uint64uint64_t64 bitar utan tecken heltal
halvGfHalv16 bitars flyttal
floatfloat32 bitars flyttal
dubbeldubbel64 bitars flyttal
timecodeSdfTimeCodedubbel som representerar en lösbar tid
stringstd::stringstl-sträng
tokenTfTokeninternerad sträng med snabb jämförelse och hash
assetSdfAssetPathrepresenterar en lösbar sökväg till en annan tillgång
matrix2dGfMatrix2d2x2 matris av dubblar
matrix3dGfMatrix3d3x3 matris av dubblar
matrix4dGfMatrix4d4x4 matris av dubblar
quatdGfQuatddubbel precision quaternion
quatfGfQuatfsingle-precision quaternion
quathGfQuathhalvprecision quaternion
double2GfVec2dvektor av 2 dubblar
float2GfVec2fvektor av 2 flottörer
half2GfVec2hvektor av 2 halvor
int2GfVec2ivektor med 2 ints
double3GfVec3dvektor med 3 dubblar
float3GfVec3fvektor av 3 flottörer
half3GfVec3hvektor av 3 halvor
int3GfVec3ivektor med 3 ints
double4GfVec4dvektor av 4 dubblar
float4GfVec4fvektor av 4 flottörer
half4GfVec4hvektor av 4 halvor
int4GfVec4ivektor med 4 ints

USD Exempel

Ett exempel på en USD-fil i vanligt ASCII-filformat är följande.

#usda 1.0

class "_class_Planet"
{
    bool has_life = False
}

def Xform "SolarSystem"
{
    def "Earth" (
        references = @./planet.usda@</Planet>
    )
    {
        bool has_life = True
        string color = "blue"
}

    def "Mars" (
        references = @./planet.usda@</Planet>
    )
    {
        string color = "red"
}

    def "Saturn" (
        references = @./planet.usda@</Planet>
        variants = {
            string rings = "with_rings"
    }
    )
    {
        string color = "beige"
}
}
#usda 1.0

class "_class_Planet"
{
}

def Sphere "Planet" (
    inherits = </_class_Planet>
    kind = "model"
    variantSets = "rings"
    variants = {
        string rings = "none"
}
)
{
    variantSet "rings" = {
        "none" {
            bool has_rings = False
    }
        "with_rings" {
            bool has_rings = True
    }
}

}

Referenser

Se även