aspose.info
ES

USD - Formato de descripción de escena universal

Actualizado

¿Qué es un archivo USD?

Un archivo con extensión .usd es un formato de archivo de descripción de escena universal que codifica datos con el fin de intercambiar y aumentar datos entre aplicaciones de creación de contenido digital. Desarrollado por Pixar, USD brinda la capacidad de intercambiar activos elementales (como modelos) o animación.

Formato de archivo USD

Los archivos USD pueden tener formato binario (también conocido como archivos Crate) o archivos respaldados por ASCII. Ambos formatos de archivo son intercambiables donde las referencias se pueden vincular a activos .usd sin cambiar las fuentes. El formato de archivo USD consta de un conjunto de bibliotecas de C++ con enlaces de Python para secuencias de comandos. Permite el ensamblaje y la organización de cualquier cantidad de elementos de escena 3D, como decorados virtuales, escenas y tomas, para transmitirlos de una aplicación a otra.

Tipos de datos USD

Los tipos de datos fundamentales admitidos por el formato de archivo USD se enumeran en la siguiente tabla.

Token de tipo de valorTipo C++Descripción
boolbool
ucharuint8_tentero sin signo de 8 bits
intint32_tentero con signo de 32 bits
uintuint32_tentero sin signo de 32 bits
int64int64_tentero con signo de 64 bits
uint64uint64_tentero sin signo de 64 bits
mitadGfHalfcoma flotante de 16 bits
flotanteflotantecoma flotante de 32 bits
dobledoblecoma flotante de 64 bits
código de tiempoSdfTimeCodedoble que representa un tiempo resoluble
cadenastd::cadenacadena stl
tokenTfTokencadena interna con comparación rápida y hashing
assetSdfAssetPathrepresenta una ruta resoluble a otro activo
matriz2dGfMatriz2dmatriz 2x2 de dobles
matrix3dGfMatrix3dmatriz 3x3 de dobles
matrix4dGfMatrix4dmatriz 4x4 de dobles
quatdGfQuatdcuaternión de doble precisión
quatfGfQuatfcuaternión de precisión simple
quathGfQuathcuaternión de precisión media
doble2GfVec2dvector de 2 dobles
float2GfVec2fvector de 2 floats
mitad2GfVec2hvector de 2 mitades
int2GfVec2ivector de 2 enteros
doble3GfVec3dvector de 3 dobles
float3GfVec3fvector de 3 floats
half3GfVec3hvector de 3 mitades
int3GfVec3ivector de 3 enteros
doble4GfVec4dvector de 4 dobles
float4GfVec4fvector de 4 flotadores
half4GfVec4hvector de 4 mitades
int4GfVec4ivector de 4 enteros

Ejemplo de USD

Un ejemplo de un archivo USD en formato de archivo ASCII simple es el siguiente.

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

}

Referencias

Véase también