aspose.info
ZH

美元 - 通用场景描述格式

更新于

什么是一美元文件?

具有 .usd 扩展名的文件是一种通用场景描述文件格式,它对数据进行编码,以便在数字内容创建应用程序之间进行数据交换和扩充。由 Pixar 开发的 USD 提供了交换元素资产(例如模型)或动画的能力。

美元文件格式

USD 文件可以具有二进制格式(也称为 Crate 文件)或 ASCII 支持的文件。这两种文件格式都是可以互换的,其中引用可以链接到 .usd 资产而无需更改源。 USD 文件格式由一组带有 Python 脚本绑定的 C++ 库组成。它可以组装和组织任意数量的 3D 场景元素,例如虚拟场景、场景和镜头,以便在应用程序之间传输它们。

美元数据类型

USD 文件格式支持的基本数据类型如下表所示。

值类型标记C++ 类型描述
布尔布尔
ucharuint8_t8 位无符号整数
intint32_t32 位有符号整数
uintuint32_t32 位无符号整数
int64int64_t64 位有符号整数
uint64uint64_t64 位无符号整数
halfGfHalf16 位浮点
floatfloat32 位浮点
双双64位浮点
timecodeSdfTimeCode表示可解析时间的双精度
stringstd::stringstl 字符串
tokenTfToken具有快速比较和散列的内部字符串
assetSdfAssetPath表示另一个资产的可解析路径
matrix2dGfMatrix2d2x2 双精度矩阵
matrix3dGfMatrix3d3x3 双精度矩阵
matrix4dGfMatrix4d4x4 双精度矩阵
quatdGfQuatd双精度四元数
quatfGfQuatf单精度四元数
quathGfQuath半精度四元数
double2GfVec2d2 个双精度的向量
float2GfVec2f2 个浮点数的向量
half2GfVec2h2 个半的向量
int2GfVec2i2 个整数的向量
double3GfVec3d3 个双精度的向量
float3GfVec3f3 个浮点数的向量
half3GfVec3h3 个半的向量
int3GfVec3i3 个整数的向量
double4GfVec4d4 个双精度的向量
float4GfVec4f4 个浮点数的向量
half4GfVec4h4 个半的向量
int4GfVec4i4 个整数的向量

美元示例

纯 ASCII 文件格式的 USD 文件示例如下。

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

}

参考 ##

另请参阅