aspose.info
RO

USD - Format universal de descriere a scenei

Actualizat

Ce este un fișier USD?

Un fișier cu extensia .usd este un format de fișier Universal Scene Description care codifică date în scopul schimbului de date și al creșterii între aplicațiile de creare de conținut digital. Dezvoltat de Pixar, USD oferă posibilitatea de a schimba elemente elementare (cum ar fi modele) sau animație.

Format de fișier USD

Fișierele USD pot avea format binar (cunoscut și ca fișiere Crate) sau fișiere susținute de ASCII. Ambele formate de fișiere sunt interschimbabile, unde referințele pot fi legate la active .usd fără a schimba sursele. Formatul de fișier USD constă dintr-un set de biblioteci C++ cu legături Python pentru scripting. Permite asamblarea și organizarea oricărui număr de elemente de scenă 3D, cum ar fi decoruri virtuale, scene și fotografii, pentru a le transmite de la aplicație la aplicație.

Tipuri de date USD

Tipurile de date fundamentale acceptate de formatul de fișier USD sunt enumerate în tabelul următor.

Jeton de tipul valoriiTipul C++Descriere
boolbool
ucharuint8_tîntreg fără semn de 8 biți
intint32_tîntreg cu semn de 32 de biți
uintuint32_tîntreg fără semn pe 32 de biți
int64int64_tîntreg cu semn de 64 de biți
uint64uint64_tîntreg fără semn pe 64 de biți
jumătateGfJumătatevirgula mobilă de 16 biți
floatfloatvirgula mobilă de 32 de biți
dubludubluvirgula mobilă pe 64 de biți
timecodeSdfTimeCodedublu reprezentând un timp rezolvabil
șirstd::șirșir stl
tokenTfTokenșir intern cu comparație rapidă și hashing
activSdfAssetPathreprezintă o cale rezolvabilă către un alt activ
matrice2dGfMatrix2dmatricea dublelor 2x2
matrice3dGfMatrix3dmatricea dublelor 3x3
matrice4dGfMatrix4dmatrice 4x4 a dublelor
quatdGfQuatdcuaternion cu precizie dublă
quatfGfQuatfcuaternion cu o singură precizie
quathGfQuathcuaternion cu jumătate de precizie
double2GfVec2dvector de 2 duble
float2GfVec2fvector de 2 flotoare
half2GfVec2hvector a 2 jumătăți
int2GfVec2ivector de 2 int
double3GfVec3dvector de 3 duble
float3GfVec3fvector de 3 flotoare
half3GfVec3hvector de 3 jumătăți
int3GfVec3ivector de 3 int
double4GfVec4dvector de 4 duble
float4GfVec4fvector de 4 flotoare
half4GfVec4hvector de 4 jumătăți
int4GfVec4ivector de 4 inti

Exemplu USD

Un exemplu de fișier USD în format simplu de fișier ASCII este următorul.

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

}

Referințe

Vezi și