aspose.info
AR

USD - تنسيق وصف المشهد العالمي

تاريخ التحديث

ما هو ملف USD؟

الملف ذو الامتداد .usd هو تنسيق ملف Universal Scene Description الذي يقوم بترميز البيانات بغرض تبادل البيانات والزيادة بين تطبيقات إنشاء المحتوى الرقمي. تم تطويره بواسطة Pixar ، USD يوفر القدرة على تبادل الأصول الأولية (مثل النماذج) أو الرسوم المتحركة.

تنسيق ملف USD

يمكن أن تحتوي ملفات USD على تنسيق ثنائي (يُعرف أيضًا باسم ملفات Crate) أو ملفات مدعومة من ASCII. كلا تنسيقي الملفات هذين قابلين للتبديل حيث يمكن ربط المراجع بأصول .usd بدون تغيير المصادر. يتكون تنسيق ملف USD من مجموعة من مكتبات C ++ مع روابط Python للبرمجة النصية. إنه يتيح تجميع وتنظيم أي عدد من عناصر المشهد ثلاثي الأبعاد مثل المجموعات الافتراضية والمشاهد واللقطات لنقلها من تطبيق إلى آخر.

أنواع البيانات بالدولار الأمريكي

يتم سرد أنواع البيانات الأساسية التي يدعمها تنسيق ملف USD في الجدول التالي.

رمز نوع القيمةنوع C ++الوصف
منطقيمنطقي
ucharuint8_t8 بت عدد صحيح بدون إشارة
intint32_tعدد صحيح موقعة 32 بت
uintuint32_tعدد صحيح بدون إشارة 32 بت
int64int64_tعدد صحيح موقع 64 بت
uint64uint64_t64 بت عدد صحيح بدون إشارة
نصفGfHalfنقطة عائمة 16 بت
تعويمعائمنقطة عائمة 32 بت
مزدوجمزدوجنقطة عائمة 64 بت
timecodeSdfTimeCodeمزدوج يمثل وقتًا قابلاً للحل
سلسلةالأمراض المنقولة جنسياً :: سلسلةسلسلة stl
tokenTfTokenسلسلة داخلية مع مقارنة وتجزئة سريعة
يمثلالأصولSdfAssetPath
matrix2dGfMatrix2dمصفوفة مزدوجة 2x2
matrix3dGfMatrix3d3x3 مصفوفة مزدوجة
matrix4dGfMatrix4dمصفوفة زوجي 4x4
رباعيGfQuatdرباعية الدقة
quatfGfQuatfرباعية أحادية الدقة
quathGfQuathرباعي نصف الدقة
double2GfVec2dمتجه لـ 2 زوجي
float2GfVec2fمتجه من 2 عوامات
half2GfVec2hمتجه من نصفين
int2GfVec2iمتجه لـ 2 ints
double3GfVec3dمتجه لـ 3 أزواج
float3GfVec3fمتجه لـ 3 عوامات
half3GfVec3hمتجه لـ 3 أنصاف
int3GfVec3iمتجه لـ 3 ints
double4GfVec4dمتجه لـ 4 أزواج
float4GfVec4fمتجه لـ 4 عوامات
half4GfVec4hمتجه لـ 4 أنصاف
int4GfVec4iمتجه لـ 4 ints

مثال بالدولار الأمريكي

فيما يلي مثال على ملف 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
    }
}

}

مراجع

انظر أيضًا