aspose.info
PT

USD - Formato de descrição de cena universal

Atualizado em

O que é um arquivo USD?

Um arquivo com extensão .usd é um formato de arquivo de descrição de cena universal que codifica dados para fins de intercâmbio e aumento de dados entre aplicativos de criação de conteúdo digital. Desenvolvido pela Pixar, USD oferece a capacidade de trocar ativos elementares (como modelos) ou animação.

Formato de arquivo USD

Os arquivos USD podem ter formato binário (também conhecido como arquivos Crate) ou arquivos com suporte ASCII. Ambos os formatos de arquivo são intercambiáveis, onde as referências podem ser vinculadas a ativos .usd sem alterar as fontes. O formato de arquivo USD consiste em um conjunto de bibliotecas C++ com ligações Python para script. Ele permite a montagem e organização de qualquer número de elementos de cena 3D, como cenários virtuais, cenas e tomadas para transmiti-los de aplicativo para aplicativo.

Tipos de dados em USD

Os tipos de dados fundamentais suportados pelo formato de arquivo USD estão listados na tabela a seguir.

Token de tipo de valorTipo C++Descrição
boolbool
ucharuint8_tinteiro sem sinal de 8 bits
intint32_tinteiro com sinal de 32 bits
uintuint32_tinteiro sem sinal de 32 bits
int64int64_tinteiro com sinal de 64 bits
uint64uint64_tinteiro sem sinal de 64 bits
halfGfHalfponto flutuante de 16 bits
floatfloatponto flutuante de 32 bits
doubledoubleponto flutuante de 64 bits
timecodeSdfTimeCodedouble representando um tempo resolvível
stringstd::stringstl string
tokenTfTokenstring interna com comparação rápida e hash
assetSdfAssetPathrepresenta um caminho resolvível para outro ativo
matriz2dMatrizGf2dmatriz de duplos 2x2
matriz3dMatrizGf3dmatriz de duplos 3x3
matriz4dMatrizGf4dmatriz de duplos 4x4
quatdGfQuatdquatérnio de precisão dupla
quatfGfQuatfquatérnio de precisão simples
quathGfQuathquatérnio de meia precisão
double2GfVec2dvetor de 2 doubles
float2GfVec2fvetor de 2 floats
metade2GfVec2hvetor de 2 metades
int2GfVec2ivetor de 2 ints
double3GfVec3dvetor de 3 duplos
float3GfVec3fvetor de 3 floats
metade3GfVec3hvetor de 3 metades
int3GfVec3ivetor de 3 ints
double4GfVec4dvetor de 4 duplos
float4GfVec4fvetor de 4 floats
metade4GfVec4hvetor de 4 metades
int4GfVec4ivetor de 4 ints

Exemplo USD

Um exemplo de um arquivo USD no formato de arquivo ASCII simples é o seguinte.

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

}

Referências

Veja também