داز إلى جسر مايا
ملحق Daz Studio الإضافي يعتمد على مكتبة Daz Bridge، مما يسمح بنقل شخصيات Daz Studio ودعائمها إلى Maya.
- المالك: Daz 3D – @Daz3d
- الترخيص: ترخيص Apache، الإصدار 2.0 - راجع
LICENSE
NOTICE
لمزيد من المعلومات. - الإصدار الرسمي: داز إلى جسر مايا
- المشروع الرسمي: github.com/daz3d/DazToMaya
جدول المحتويات
- عن الجسر
- المتطلبات الأساسية
- كيفية التثبيت
- كيفية الاستخدام
- كيفية البناء
- كيفية التطوير
- هيكل الدليل
1. عن الجسر
هذه نسخة محدثة من DazToMaya Bridge الأصلي الذي تمت إعادة كتابته بلغة C++ باستخدام مكتبة Daz Bridge كأساس. وهذا يسمح لها بمشاركة نفس كود المصدر والميزات مع الجسور الأخرى مثل DazToUnreal وDazToBlender Bridges.
يتكون جسر Daz To maya من جزأين: البرنامج المساعد Daz Studio الذي يصدر الأصول إلى Maya ووحدة Maya لاستيراد الأصول والمساعدة في إعادة إنشاء مظهر أصول Daz Studio الأصلية في Maya.
2. المتطلبات الأساسية
- نسخة متوافقة من تطبيق Daz Studio
- نسخة متوافقة من تطبيق مايا
- نظام التشغيل:
- ويندوز 7 أو الأحدث
- نظام التشغيل macOS 10.13 (High Sierra) أو الأحدث
3. كيف أقوم بتثبيت جسر Daz To Maya؟
ستوديو داز:
- يمكنك تثبيت Daz To Maya Bridge تلقائيًا من خلال Daz Install Manager. سيؤدي هذا تلقائيًا إلى إضافة خيار قائمة جديد ضمن ملف -> إرسال إلى -> Daz To Maya.
- وبدلاً من ذلك، يمكنك التثبيت يدويًا عن طريق تنزيل أحدث إصدار من صفحة إصدار Github واتباع الإرشادات الموجودة هناك للتثبيت في Daz Studio.
مايا:
- يأتي برنامج Daz Studio Plugin مدمجًا مع برنامج تثبيت لوحدة Maya Bridge. من مربع الحوار Daz To Maya Bridge، يوجد الآن قسم في قسم الإعدادات المتقدمة لتثبيت وحدة Maya.
- انقر فوق الزر "تثبيت البرنامج المساعد...". ستظهر لك نافذة منبثقة لاختيار مجلد لتثبيت وحدة Maya. يجب أن يكون مجلد البداية هو الموقع الافتراضي لمكونات ووحدات Maya الإضافية.
- في نظام التشغيل Windows، يجب أن يكون مسار تثبيت الوحدات هو "Documentsmayamodules". في نظام Mac، يجب أن يكون المسار "/Users//Library/Preferences/Autodesk/maya/modules".
- بالنسبة لمعظم إعدادات Maya، يجب أن تكون قادرًا فقط على النقر فوق "تحديد مجلد". سترى بعد ذلك مربع حوار تأكيد يوضح ما إذا كان تثبيت البرنامج المساعد ناجحًا.
- إذا كان Maya قيد التشغيل، فستحتاج إلى إعادة التشغيل حتى يتم تحميل وحدة Daz To Maya Bridge.
- في Maya، يجب أن تشاهد الآن علامة التبويب "DazToMaya" في شريط أدوات Maya Shelf. انقر فوق علامة التبويب هذه للعثور على خيارات DazToMaya.
- إذا كانت لديك علامات تبويب معطلة في Maya Shelf، فقد تحتاج إلى النقر فوق أيقونة "الترس" وتحديد "علامات تبويب الرف" للعثور على علامة التبويب "DazToMaya" وتحديدها.
- من علامة التبويب DazToMaya في الرف، يجب أن تشاهد الآن أيقونة "DAZ IMPORT". لقد انتهيت من تثبيت Daz To Maya Bridge!
- إذا تلقيت خطأً عند محاولة النقر فوق أيقونة "DAZ IMPORT"، فتأكد من تثبيت PyMEL.
4. كيف يمكنني استخدام جسر مايا؟
- افتح شخصيتك في Daz Studio.
- تأكد من أن أي ملابس أو شعر ملتصق بالجسم الرئيسي.
- من القائمة الرئيسية، حدد ملف -> إرسال إلى -> داز إلى مايا. وبدلاً من ذلك، يمكنك تحديد ملف -> تصدير ثم اختيار "Maya Ascii File" أو "Maya Binary File" من خيار القائمة المنسدلة "حفظ بنوع".
- سينبثق مربع حوار: اختر نوع التحويل الذي ترغب في إجرائه، "شبكة ثابتة" (بدون هيكل عظمي)، أو "شبكة هيكلية" (شخصية أو بمفاصل)، أو "رسوم متحركة"، أو "بيئة" (جميع الشبكات في المشهد) .
- لتمكين مستويات Morphs أو التقسيم الفرعي، انقر فوق CheckBox لتمكين هذا الخيار، ثم انقر فوق الزر "Choose Morphs" أو "Bake Subdivisions" لتكوين اختياراتك.
- انقر فوق قبول، ثم انتظر حتى يظهر مربع حوار منبثق لإعلامك بموعد التبديل إلى Maya.
- من Maya، انقر فوق أيقونة "DAZ IMPORT" من رف أدوات DazToMaya لفتح نافذة الحوار DazToMaya Bridge.
- حدد "الاستيراد التلقائي".
الأشكال:
- إذا قمت بتمكين خيار Export Morphs، فستكون هناك عقدة "Morphs" في لوحة Outliner. حدد هذه العقدة وسترى أشرطة تمرير التحويل تظهر في لوحة "Attribute Editor"، تحت عنوان "Extra Attributes".
الرسوم المتحركة:
- لاستخدام خيار نوع الأصل "الرسوم المتحركة"، يجب أن يستخدم الشكل الخاص بك الرسوم المتحركة في نظام "الخط الزمني" في Daz Studio.
- إذا كنت تستخدم الرسوم المتحركة المستندة إلى "aniMate" أو "aniBlocks"، فستحتاج إلى النقر بزر الماوس الأيمن في لوحة "aniMate" وتحديد "Bake To Studio Keyframes".
- بمجرد أن تكون الرسوم المتحركة الخاصة بك على نظام "المخطط الزمني"، يمكنك بدء النقل باستخدام ملف -> إرسال إلى -> Daz To Maya.
- يجب أن تكون الرسوم المتحركة المنقولة الآن قابلة للاستخدام من خلال واجهة Maya Animation.
دعم التقسيم:
- يستخدم Daz Studio تقنية Catmull-Clark Subdivision Surface وهي طريقة رياضية لوصف سطح أملس لا نهائي بطريقة فعالة للغاية. على غرار الطريقة التي يمكن بها وصف دائرة ناعمة لا متناهية بنصف القطر فقط، فإن شبكة الدقة الأساسية في شكل داز هي في الواقع البيانات الرياضية في معادلة لوصف سطح أملس لا نهائي. بالنسبة للبرامج التي تدعم تقسيم Catmull-Clark الفرعي والتحويلات السطحية للتقسيم الفرعي (المعروفة أيضًا باسم HD Morphs)، لا توجد خسارة في الجودة أو التفاصيل عن طريق تصدير شبكة الدقة الأساسية (مستوى التقسيم الفرعي 0)، ثم استخدام Catmull-Clark الأصلي وظائف التقسيم.
- بالنسبة للبرامج التي لا تدعم بشكل كامل تقسيم Catmull-Clark الفرعي أو HD Morphs، يمكننا "خبز" مستويات تفصيلية إضافية للتقسيم الفرعي في الشبكة لتقريب تفاصيل السطح الأصلي بشكل أوثق. ومع ذلك، يتطلب إعداد كل مستوى تقسيم فرعي إضافي المزيد من وقت وحدة المعالجة المركزية والذاكرة ومساحة التخزين بشكل كبير. إذا لم يكن لديك جهاز كمبيوتر متطور، فمن المحتمل أن تنفد ذاكرة نظامك ويتعطل إذا قمت بتعيين مستوى التقسيم الفرعي المصدر فوق 2.
- عند تمكين خيارات Bake Subdivision في جسر Daz To Maya، يتم نقل الأصل إلى Maya كشبكة قياسية ذات أعداد قممية ذات دقة أعلى.
5. كيفية البناء
يتم إعداد وتكوين نظام البناء عبر CMake لإنشاء ملفات المشروع لنظام التشغيل Windows أو Mac. يتطلب تكوين CMake ما يلي:
- Modern CMake (تم اختباره باستخدام الإصدار 3.27.2 على نظام Win و3.27.0-rc4 على نظام Mac)
- Daz Studio 4.5+ SDK (من DIM)
- Fbx SDK 2020.1 (فوز) / Fbx SDK 2015.1 (ماك)
- أوبنسوبديف 3.4.4
(يرجى ملاحظة أنه يجب عليك استخدام مكتبات بناء Qt 4.8.1 المضمنة في Daz Studio SDK. سيؤدي استخدام مكتبة Qt خارجية إلى حدوث أخطاء في البناء وعدم استقرار البرنامج.)
قم بتنزيل أو استنساخ مستودع DazToMaya github على جهازك المحلي. ترتبط مكتبة Daz Bridge كوحدة git فرعية بمستودع DazBridge. اعتمادًا على عميل git الخاص بك، قد يتعين عليك استخدام git submodule init
و git submodule update
لاستنساخ مكتبة Daz Bridge بشكل صحيح.
تم تصميم عملية إعداد البناء ليتم تشغيلها باستخدام واجهة المستخدم الرسومية CMake في جلسة تفاعلية. بعد إعداد مجلد التعليمات البرمجية المصدر ومجلد الإخراج، يمكن للمستخدم النقر فوق "تكوين". سوف يتوقف CMake أثناء عملية التكوين لمطالبة المستخدم بالمسارات التالية:
- DAZ_SDK_DIR - المجلد الجذر لـ Daz Studio 4.5+ SDK. يجب أن يكون هذا هو الإصدار الذي تم شراؤه من متجر Daz وتثبيته عبر DIM. لن تعمل أي إصدارات أخرى مع مشروع التعليمات البرمجية المصدر هذا وستؤدي إلى أخطاء في البناء وفشل. مثال: C:/Users/Public/Documents/My DAZ 3D Library/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – المجلد الذي يحتوي على الملف القابل للتنفيذ Daz Studio. مثال: C:/Program Files/DAZ 3D/DAZStudio4
- FBX_SDK_DIR - المجلد الجذر الذي يحتوي على المجلدين الفرعيين "include" و"lib". مثال: C:/Program Files/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR - المجلد الجذر الذي يحتوي على المجلدات "opensubdiv" و"examples" و"cmake". يفترض أنه تم تعيين مجلد الإخراج إلى مجلد فرعي يسمى "build" وأن ملفات المكتبة الثابتة osdCPU.lib أو libosdCPU.a تم إنشاؤها في: /build/lib/Release/osdCPU.lib أو /build/lib/Release/libosdCPU .أ. يمكن العثور على مكتبة معدة مسبقًا لنظامي التشغيل Mac وWindows على https://github.com/danielbui78/OpenSubdiv/releases والتي تحتوي على الموقع الصحيح للتضمين وثنائيات المكتبة الثابتة المعدة مسبقًا. إذا كنت لا تستخدم هذا الإصدار المترجم مسبقًا، فيجب عليك التأكد من الموقع الصحيح لمسار المجلد OPENSUBDIV_INCLUDE ومسار الملف OPENSUBDIV_LIB.
بمجرد إدخال هذه المسارات بشكل صحيح في واجهة المستخدم الرسومية CMake، يمكن النقر فوق الزر "تكوين" ويجب استئناف عملية التكوين حتى الاكتمال. يمكن بعد ذلك إنشاء ملفات المشروع وقد يتم فتح المشروع. يرجى ملاحظة أنه تم تضمين إصدار مخصص من أدوات ومكتبات إنشاء Qt 4.8 في ملف DAZ_SDK_DIR. إذا تم تثبيت إصدار آخر من Qt في نظامك وكان مرئيًا لـ CMake، فمن المحتمل أن يتسبب ذلك في حدوث أخطاء في العثور على الإصدار الصحيح من Qt المتوفر في DAZ_SDK_DIR ويتسبب في أخطاء البناء والفشل.
يجب أن تحتوي ملفات المشروع الناتجة على "DzBridge-Maya" و"DzBridge Static" و"MayaModule ZIP" كأهداف للمشروع. يجب أن يكون الملف الثنائي DLL/DYLIB الذي تنتجه "DzBridge-Maya" مكونًا إضافيًا فعالاً لـ Daz Studio. "MayaModule ZIP" "يحتوي المشروع على البرامج النصية للأتمتة التي تقوم بتجميع ملفات Maya Module في ملف مضغوط وإعدادها للتضمين في ثنائي DLL/DYLIB الإضافي الرئيسي لـ Daz Studio.
6. كيفية التعديل والتطوير
يوجد كود مصدر Daz Studio Plugin في مجلد DazStudioPlugin
. نقطة الدخول الرئيسية لفئة C++ للمكون الإضافي هي "DzBlenderAction" (.cpp/.h). الكود المصدري لوحدة Maya ومواردها متاحة في المجلد /Maya/MAYA_APP_DIR/modules/DazToMaya
. يمكن العثور على المعلومات المرجعية لـ Daz Studio SDK API وQt API ضمن حزمة "DAZ Studio SDK Docs". في نظام التشغيل Windows، يتم تثبيت الصفحة الرئيسية لهذه الوثائق افتراضيًا على: C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
.
DZ_BRIDGE_NAMESPACE : جسر DazToMaya مشتق من الفئات الأساسية في مكتبة Daz Bridge الموجودة داخل DZ_BRIDGE_NAMESPACE (راجع Bridge.h). استخدمت الإصدارات المنشورة مسبقًا من مكونات Daz Bridge الإضافية الرسمية مساحات أسماء مخصصة لعزل أسماء الفئات المشتركة عن كل مكون إضافي. في حين أن هذا يعمل نظريًا على منع تضارب مساحة الاسم للأنظمة الأساسية التي تلتزم بمساحات أسماء C++، إلا أنه قد لا يكون صحيحًا بالنسبة لبعض تطبيقات Qt ونموذج برمجة الكائنات الوصفية Qt، والذي يستخدم بكثرة بواسطة Daz Studio ومكونات Bridge الإضافية. والجدير بالذكر أن مساحات أسماء C++ قد لا تعزل التعليمات البرمجية في تطبيق نظام التشغيل Mac OS الخاص بـ Qt. مع أخذ هذه القيود في الاعتبار، قررت إزالة التوصية بإعادة تسمية DZ_BRIDGE_NAMESPACE من أجل تبسيط وتقليل تعقيد النشر لمطوري المكونات الإضافية للجسر المحتملين.
من أجل ربط ومشاركة فئات C++ بين هذا البرنامج المساعد ومكتبة Daz Bridge، يتم استخدام ماكرو CPP_PLUGIN_DEFINITION()
مخصص بدلاً من الماكرو DZ_PLUGIN_DEFINITION القياسي وملف .DEF المعتاد (راجع Bridge.h). ملاحظة: سيؤدي استخدام الماكرو DZ_PLUGIN_DEFINITION واستخدام ملف DEF إلى تعطيل تصدير فئة C++ في برنامج التحويل البرمجي Visual Studio.
7. هيكل الدليل
يوجد داخل دليل Maya تسلسلات هرمية للأدلة الفرعية التي تتوافق مع المواقع الموجودة على الجهاز المستهدف. تتوافق أجزاء التسلسل الهرمي بين الأنظمة الأساسية المدعومة ويجب تكرارها تمامًا بينما تعمل الأجزاء الأخرى كعناصر نائبة للمواقع التي تختلف وفقًا للنظام الأساسي للجهاز المستهدف.
أسماء دليل العناصر النائبة المستخدمة في هذا المستودع هي:
اسم | ويندوز | ماك |
---|
appdir_common | الدليل الذي يحتوي على الملف التنفيذي الأساسي (.exe) للتطبيق الهدف. يعد التسلسل الهرمي الفرعي شائعًا بين معماريات 32 بت و64 بت. | الدليل الذي يحتوي على حزمة التطبيق الأساسية (.app) للتطبيق المستهدف. يعد التسلسل الهرمي الفرعي شائعًا بين معماريات 32 بت و64 بت. |
MAYA_APP_DIR | الدليل الذي يمثل دليل تطبيق Maya الشخصي الخاص بك - راجع وثائق Maya | نفس الشيء على كلا المنصتين. |
MAYA_SCRIPT_PATH | مسار البحث عن نصوص MEL - راجع وثائق Maya | نفس الشيء على كلا المنصتين. |
هيكل الدليل هو كما يلي:
-
Maya
: الملفات التي تتعلق بجانب مايا من الجسر-
MAYA_APP_DIR
: انظر الجدول أعلاه-
...
: التسلسل الهرمي الفرعي المتبقي
-
DazStudioPlugin
: الملفات المتعلقة بجانب Daz Studio من جسر DazToMaya-
Resources
: سيتم تضمين ملفات البيانات في برنامج Daz Studio Plugin ودعم البرامج النصية لتسهيل مرحلة البناء هذه.
-
dzbridge-common
: ملفات من مكتبة Daz Bridge المستخدمة بواسطة DazStudioPlugin-
Extras
: نصوص برمجية وملفات دعم إضافية للمساعدة في عملية التحويل، خاصة لمحركات الألعاب والتطبيقات الأخرى في الوقت الفعلي.
-
Test
: البرامج النصية والمخرجات (التقارير) المستخدمة في اختبار ضمان الجودة.