aspose.info
LT

USD – universalus scenos aprašymo formatas

Atnaujinta

Kas yra USD failas?

Failas su plėtiniu .usd yra universalaus scenos aprašo failo formatas, koduojantis duomenis, kad būtų galima keistis duomenimis ir papildyti skaitmeninio turinio kūrimo programas. Pixar sukurta USD suteikia galimybę keistis elementariais ištekliais (pvz., modeliais) arba animacija.

USD failo formatas

USD failai gali būti dvejetainio formato (taip pat žinomi kaip Crate failai) arba ASCII failai. Abu šie failų formatai yra keičiami, kai nuorodos gali būti susietos su .usd ištekliais nekeičiant šaltinių. USD failo formatą sudaro C++ bibliotekų rinkinys su Python įrišimais scenarijui kurti. Tai leidžia surinkti ir organizuoti bet kokį 3D scenos elementų skaičių, pavyzdžiui, virtualius rinkinius, scenas ir kadrus, kad būtų galima perduoti juos iš vienos programos į kitą.

USD duomenų tipai

Pagrindiniai duomenų tipai, kuriuos palaiko USD failo formatas, yra išvardyti šioje lentelėje.

Vertės tipo raktasC++ tipasAprašymas
boolbool
ucharuint8_t8 bitų beženklis sveikasis skaičius
intint32_t32 bitais pasirašytas sveikasis skaičius
uintuint32_t32 bitų beženklis sveikasis skaičius
int64int64_t64 bitais pasirašytas sveikasis skaičius
uint64uint64_t64 bitų beženklis sveikasis skaičius
pusėGfHalf16 bitų slankusis kablelis
plūduriuotiplaukioti32 bitų slankiojo kablelio
dvigubasdvigubas64 bitų slankusis kablelis
timecodeSdfTimeCodedvigubas, reiškiantis išsprendžiamą laiką
stringstd::stringstl string
tokenTfTokeninternuota eilutė su greitu palyginimu ir maiša
turtasSdfAssetPathreiškia išsprendžiamą kelią iki kito turto
matrica2dGfMatrix2d2x2 dvigubų matrica
matrica3dGfMatrix3d3x3 dvigubų matrica
matrica4dGfMatrix4d4x4 dvigubų matrica
quatdGfQuatddvigubo tikslumo kvaternionas
quatfGfQuatfvieno tikslumo kvaternionas
quathGfQuathpusės tikslumo kvaternionas
double2GfVec2dvektorius iš 2 dublių
float2GfVec2fvektorius iš 2 plūdurių
pusė2GfVec2hvektorius iš 2 puselių
int2GfVec2ivektorius iš 2 int
double3GfVec3dvektorius iš 3 dublių
float3GfVec3fvektorius iš 3 plūdurių
pusė3GfVec3hvektorius iš 3 puselių
int3GfVec3ivektorius iš 3 int
double4GfVec4dvektorius iš 4 dublių
float4GfVec4fvektorius iš 4 plūdurių
pusė4GfVec4hvektorius iš 4 puselių
int4GfVec4ivektorius iš 4 int

USD pavyzdys

USD failo paprasto ASCII formato pavyzdys yra toks.

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

}

Nuorodos Nr.

Taip pat žiūrėkite