aspose.info
DA

USD - Universal Scene Description Format

Opdateret

Hvad er en USD fil?

En fil med filtypenavnet .usd er et Universal Scene Description-filformat, der koder data med det formål at udveksle og udvide data mellem applikationer til oprettelse af digitalt indhold. Udviklet af Pixar, USD giver mulighed for at udveksle elementære aktiver (såsom modeller) eller animation.

USD filformat

USD-filer kan have binært format (også kendt som Crate-filer) eller ASCII-støttede filer. Begge disse filformater er udskiftelige, hvor referencerne kan linkes til .usd-aktiver uden at ændre kilderne. USD-filformatet består af et sæt C++-biblioteker med Python-bindinger til scripting. Det gør det muligt at samle og organisere et vilkårligt antal 3D-sceneelementer såsom virtuelle sæt, scener og billeder for at overføre dem fra applikation til applikation.

USD-datatyper

De grundlæggende datatyper, der understøttes af filformatet USD, er angivet i følgende tabel.

VærditypetokenC++ typeBeskrivelse
boolbool
ucharuint8_t8 bit usigneret heltal
intint32_t32 bit fortegnet heltal
uintuint32_t32 bit usigneret heltal
int64int64_t64 bit fortegnet heltal
uint64uint64_t64 bit usigneret heltal
halvGfHalv16 bit flydende komma
floatfloat32 bit flydende komma
dobbeltdobbelt64 bit flydende komma
timecodeSdfTimeCodedobbelt repræsenterer en opløselig tid
strengstd::strengstl streng
tokenTfTokeninternet streng med hurtig sammenligning og hashing
assetSdfAssetPathrepræsenterer en sti, der kan løses til et andet aktiv
matrix2dGfMatrix2d2x2 matrix af doubler
matrix3dGfMatrix3d3x3 matrix af doubler
matrix4dGfMatrix4d4x4 matrix af doubler
quatdGfQuatddobbelt-præcision quaternion
quatfGfQuatfsingle-precision quaternion
quathGfQuathhalvpræcision quaternion
double2GfVec2dvektor af 2 doubler
float2GfVec2fvektor af 2 flydere
half2GfVec2hvektor af 2 halvdele
int2GfVec2ivektor af 2 ints
double3GfVec3dvektor af 3 doubler
float3GfVec3fvektor af 3 flydere
half3GfVec3hvektor af 3 halvdele
int3GfVec3ivektor af 3 ints
double4GfVec4dvektor af 4 doubler
float4GfVec4fvektor af 4 flydere
half4GfVec4hvektor af 4 halvdele
int4GfVec4ivektor på 4 ints

USD eksempel

Et eksempel på en USD-fil i almindeligt ASCII-filformat er som følger.

#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
    }
}

}

Referencer

Se også