aspose.info
BG

USD – универсален формат за описание на сцена

Обновено

Какво е USD файл?

Файлът с разширение .usd е файлов формат за универсално описание на сцена, който кодира данни с цел обмен на данни и разширяване между приложенията за създаване на цифрово съдържание. Разработено от Pixar, USD предоставя възможност за обмен на елементарни активи (като модели) или анимация.

USD файлов формат

USD файловете могат да имат двоичен формат (известен също като Crate файлове) или ASCII-поддържани файлове. И двата файлови формата са взаимозаменяеми, където препратките могат да бъдат свързани с .usd активи, без да се променят източниците. USD файловият формат се състои от набор от C++ библиотеки с обвързвания на Python за скриптове. Той позволява сглобяване и организиране на произволен брой 3D сценични елементи като виртуални комплекти, сцени и кадри, за да ги предава от приложение на приложение.

Типове данни в USD

Основните типове данни, поддържани от файловия формат USD, са изброени в следващата таблица.

Тип стойностТип C++Описание
boolbool
ucharuint8_t8-битово цяло число без знак
intint32_t32-битово цяло число със знак
uintuint32_t32-битово цяло число без знак
int64int64_t64-битово цяло число със знак
uint64uint64_t64-битово цяло число без знак
halfGfHalf16 бита с плаваща запетая
floatfloat32 бита с плаваща запетая
doubledouble64 бита с плаваща запетая
времеви кодSdfTimeCodeдвойно представяне на разрешимо време
низstd::низstl низ
tokenTfTokenвграден низ с бързо сравнение и хеширане
assetSdfAssetPathпредставлява разрешим път към друг актив
matrix2dGfMatrix2d2x2 матрица от удвоени
matrix3dGfMatrix3d3x3 матрица от удвоени
matrix4dGfMatrix4d4x4 матрица от двойни
quatdGfQuatdкватернион с двойна точност
quatfGfQuatfкватернион с единична точност
quathGfQuathкватернион с половин точност
double2GfVec2dвектор от 2 двойни
float2GfVec2fвектор от 2 float
half2GfVec2hвектор от 2 половини
int2GfVec2iвектор от 2 ints
double3GfVec3dвектор от 3 двойни
float3GfVec3fвектор от 3 float
half3GfVec3hвектор от 3 половини
int3GfVec3iвектор от 3 ints
double4GfVec4dвектор от 4 двойни
float4GfVec4fвектор от 4 float
half4GfVec4hвектор от 4 половини
int4GfVec4iвектор от 4 ints

USD Пример

Пример за USD файл в обикновен ASCII файлов формат е както следва.

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

}

Препратки

Вижте също