aspose.info
VI

USD - Định dạng mô tả cảnh phổ quát

Cập nhật

Tệp USD là gì?

Một tệp có phần mở rộng .usd là một định dạng tệp Mô tả cảnh phổ biến mã hóa dữ liệu nhằm mục đích trao đổi và bổ sung dữ liệu giữa các ứng dụng tạo nội dung kỹ thuật số. Được phát triển bởi Pixar, USD cung cấp khả năng trao đổi các nội dung cơ bản (chẳng hạn như mô hình) hoặc hoạt ảnh.

Định dạng tệp USD

Các tệp USD có thể có định dạng nhị phân (còn được gọi là tệp Crate) hoặc tệp được hỗ trợ bởi ASCII. Cả hai định dạng tệp này đều có thể hoán đổi cho nhau khi các tham chiếu có thể được liên kết với nội dung .usd mà không cần thay đổi nguồn. Định dạng tệp USD bao gồm một tập hợp các thư viện C++ với các liên kết Python để tạo tập lệnh. Nó cho phép lắp ráp và tổ chức bất kỳ số lượng thành phần cảnh 3D nào, chẳng hạn như bộ ảo, cảnh và ảnh để truyền chúng từ ứng dụng này sang ứng dụng khác.

Loại dữ liệu USD

Các loại dữ liệu cơ bản được định dạng tệp USD hỗ trợ được liệt kê trong bảng sau.

Mã thông báo loại giá trịLoại C++Mô tả
boolbool
ucharuint8_tsố nguyên không dấu 8 bit
intint32_tSố nguyên có dấu 32 bit
uintuint32_tSố nguyên không dấu 32 bit
int64int64_tSố nguyên có dấu 64 bit
uint64uint64_tsố nguyên không dấu 64 bit
halfGfHalfDấu chấm động 16 bit
floatfloatdấu phẩy động 32 bit
képképdấu phẩy động 64 bit
timecodeSdfTimeCodedouble thể hiện thời gian có thể phân giải
chuỗistd::chuỗichuỗi stl
tokenTfTokenchuỗi nội bộ với so sánh và băm nhanh
nội dungSdfAssetPathbiểu thị đường dẫn có thể phân giải đến nội dung khác
matrix2dGfMatrix2dma trận đôi 2x2
matrix3dGfMatrix3dma trận đôi 3x3
matrix4dGfMatrix4dma trận đôi 4x4
quatdGfQuatdquaternion độ chính xác kép
quatfGfQuatfquaternion độ chính xác đơn
quathGfQuathquaternion nửa chính xác
double2GfVec2dvectơ 2 nhân đôi
float2GfVec2fvectơ của 2 số float
half2GfVec2hvectơ 2 nửa
int2GfVec2ivectơ của 2 số nguyên
double3GfVec3dvectơ 3 nhân đôi
float3GfVec3fvectơ 3 số float
half3GfVec3hvectơ 3 nửa
int3GfVec3ivectơ 3 số nguyên
double4GfVec4dvectơ 4 nhân đôi
float4GfVec4fvectơ 4 số float
half4GfVec4hvectơ 4 nửa
int4GfVec4ivectơ 4 số nguyên

Ví dụ USD

Một ví dụ về tệp USD ở định dạng tệp ASCII đơn giản như sau.

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

}

Người giới thiệu

Xem thêm