aspose.info
FR

USD - Format universel de description de scène

Mis à jour le

Qu’est-ce qu’un fichier USD ?

Un fichier avec l’extension .usd est un format de fichier Universal Scene Description qui encode les données dans le but d’échanger et d’augmenter les données entre les applications de création de contenu numérique. Développé par Pixar, USD offre la possibilité d’échanger des actifs élémentaires (tels que des modèles) ou des animations.

Format de fichier USD

Les fichiers USD peuvent avoir un format binaire (également appelé fichiers Crate) ou des fichiers sauvegardés en ASCII. Ces deux formats de fichiers sont interchangeables où les références peuvent être liées à des actifs .usd sans changer les sources. Le format de fichier USD consiste en un ensemble de bibliothèques C++ avec des liaisons Python pour les scripts. Il permet l’assemblage et l’organisation d’un nombre quelconque d’éléments de scène 3D tels que des décors virtuels, des scènes et des prises de vue pour les transmettre d’une application à l’autre.

Types de données USD

Les types de données fondamentaux pris en charge par le format de fichier USD sont répertoriés dans le tableau suivant.

Jeton de type valeurType C++Description
boolbool
ucharuint8_tEntier non signé 8 bits
intint32_tEntier signé 32 bits
uintuint32_tEntier non signé 32 bits
int64int64_tEntier signé 64 bits
uint64uint64_tEntier non signé 64 bits
halfGfHalfvirgule flottante 16 bits
floatfloatvirgule flottante 32 bits
doubledoublevirgule flottante 64 bits
timecodeSdfTimeCodedouble représentant un temps résoluble
chaînestd::chaînechaîne stl
tokenTfTokenchaîne interne avec comparaison rapide et hachage
assetSdfAssetPathreprésente un chemin résoluble vers un autre actif
matrix2dGfMatrix2dmatrice 2x2 de doubles
matrix3dGfMatrix3dmatrice 3x3 de doubles
matrix4dGfMatrix4dmatrice 4x4 de doubles
quatdGfQuatdquaternion double précision
quatfGfQuatfquaternion simple précision
quathGfQuathquaternion demi-précision
double2GfVec2dvecteur de 2 doubles
float2GfVec2fvecteur de 2 flottants
half2GfVec2hvecteur de 2 half’s
int2GfVec2ivecteur de 2 entiers
double3GfVec3dvecteur de 3 doubles
float3GfVec3fvecteur de 3 flottants
half3GfVec3hvecteur de 3 half’s
int3GfVec3ivecteur de 3 entiers
double4GfVec4dvecteur de 4 doubles
float4GfVec4fvecteur de 4 flottants
half4GfVec4hvecteur de 4 half’s
int4GfVec4ivecteur de 4 entiers

Exemple en USD

Un exemple de fichier USD au format de fichier ASCII simple est le suivant.

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

}

Références

Voir aussi