aspose.info
RU

USD — универсальный формат описания сцены

Обновлено

.USD вариант №

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

Формат файла в долларах США

Файлы USD могут иметь двоичный формат (также известный как файлы Crate) или файлы с поддержкой ASCII. Оба эти формата файлов являются взаимозаменяемыми, где ссылки могут быть связаны с активами .usd без изменения источников. Формат файла USD состоит из набора библиотек C++ с привязками Python для сценариев. Он позволяет собирать и организовывать любое количество элементов 3D-сцены, таких как виртуальные наборы, сцены и кадры, для передачи их из приложения в приложение.

Типы данных в долларах США

Основные типы данных, поддерживаемые форматом файла USD, перечислены в следующей таблице.

Токен типа значенияТип C++Описание
логическое значениелогическое значение
ucharuint8_t8-битное целое число без знака
intint32_t32-битное целое число со знаком
uintuint32_t32-битное целое число без знака
int64int64_t64-битное целое число со знаком
uint64uint64_t64-битное целое число без знака
halfGfHalf16-битная плавающая точка
с плавающей точкойс плавающей запятой32-битная плавающая точка
двойнойдвойной64-битная с плавающей запятой
timecodeSdfTimeCodedouble, представляющий разрешаемое время
строкаstd::stringстрока stl
tokenTfTokenинтернированная строка с быстрым сравнением и хешированием
assetSdfAssetPathпредставляет разрешимый путь к другому активу
matrix2dGfMatrix2dматрица двойников 2x2
matrix3dGfMatrix3d3x3 двойная матрица
matrix4dGfMatrix4dматрица двойников 4x4
quatdGfQuatdкватернион двойной точности
quatfGfQuatfкватернион одинарной точности
quathGfQuathкватернион половинной точности
double2GfVec2dвектор из 2 двойников
float2GfVec2fвектор из 2 поплавков
half2GfVec2hвектор из двух половинок
int2GfVec2iвектор из 2 целых чисел
double3GfVec3dвектор из 3 двойников
float3GfVec3fвектор из 3 поплавков
half3GfVec3hвектор из 3 половин
int3GfVec3iвектор из 3 целых чисел
double4GfVec4dвектор из 4 двойников
float4GfVec4fвектор из 4 поплавков
half4GfVec4hвектор из 4 половин
int4GfVec4iвектор из 4 целых чисел

Пример доллара США

Ниже приведен пример файла 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
    }
}

}

Использованная литература

См. также