aspose.info
HE

USD - פורמט תיאור סצנה אוניברסלי

עודכן

מהו קובץ USD?

קובץ עם סיומת .usd הוא פורמט קובץ Universal Scene Description המקודד נתונים למטרת החלפת נתונים והגדלה בין יישומי יצירת תוכן דיגיטלי. פותח על ידי Pixar, USD מספק את היכולת להחליף נכסים יסודיים (כגון מודלים) או אנימציה.

פורמט קובץ USD

קבצי USD יכולים להיות בפורמט בינארי (המכונה גם קבצי ארגז) או קבצים מגובי ASCII. שני פורמטי הקבצים הללו ניתנים להחלפה כאשר ההפניות ניתנות לקישור לנכסי ‎.usd מבלי לשנות את המקורות. פורמט קובץ USD מורכב מקבוצה של ספריות C++ עם כריכות Python ל-scripting. זה מאפשר הרכבה וארגון של כל מספר אלמנטים של סצנה תלת מימדית כגון סטים וירטואליים, סצנות וצילומים כדי להעביר אותם מאפליקציה לאפליקציה.

סוגי נתונים בדולר ארה"ב

סוגי הנתונים הבסיסיים הנתמכים על ידי פורמט הקובץ USD מפורטים בטבלה הבאה.

אסימון סוג ערךC++ סוגתיאור
boolbool
ucharuint8_tמספר שלם ללא סימן 8 סיביות
intint32_tמספר שלם בסימן 32 סיביות
uintuint32_tמספר שלם ללא סימן 32 סיביות
int64int64_tמספר שלם בסימן 64 סיביות
uint64uint64_tמספר שלם ללא סימן 64 סיביות
חציGfHalfנקודה צפה 16 סיביות
floatfloatנקודה צפה 32 סיביות
doubledouble64 ביט נקודה צפה
timecodeSdfTimeCodeכפול המייצג זמן בר פתרון
stringstd::stringמחרוזת stl
tokenTfTokenמחרוזת מתמחה עם השוואה מהירה וגיבוב
assetSdfAssetPathמייצג נתיב בר פתרון לנכס אחר
matrix2dGfMatrix2d2x2 מטריצה של כפילים
matrix3dGfMatrix3d3x3 מטריצה של כפילים
matrix4dGfMatrix4d4x4 מטריצה של כפילים
quatdGfQuatdקווטרניון עם דיוק כפול
quatfGfQuatfקווטרניון עם דיוק יחיד
quathGfQuathקווטרניון בחצי דיוק
double2GfVec2dוקטור של 2 כפילים
float2GfVec2fוקטור של 2 מצופים
half2GfVec2hוקטור של 2 חצאים
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
    }
}

}

הפניות

ראו גם