تمت ترجمة المحتوى الموجود على هذا الموقع باستخدام الذكاء الاصطناعي (AI) أو تقنية الترجمة الآلية، وقد تحتوي على أخطاء.

Skip to content

CubePart: مولد ثلاثي الأبعاد مفتوح المفردات وقابل للتحكم الجزئي

البناء نحو أصول وظيفية جاهزة للاستخدام في الألعاب

SEO image for CubePart: An Open-Vocabulary Part-Controllable 3D Generator

يمكن للنماذج التوليدية ثلاثية الأبعاد الحديثة إنشاء كائنات ثلاثية الأبعاد جميلة ومعقدة من المطالبات النصية، ولكن بالنسبة لمطور الألعاب، فإن النموذج ثلاثي الأبعاد المتجانس ليس مفيدًا. فالسيارة، على سبيل المثال، يجب أن تكون قابلة للقيادة. يجب أن تدور العجلات بشكل منفصل، ويجب أن تفتح الأبواب، ويجب أن تضيء المصابيح الأمامية. 

حاليًا، يتعين على فناني ثلاثي الأبعاد تقطيع النماذج المولدة يدويًا وتسمية الأجزاء — وهي عملية لا تتناسب مع الحجم. إن إنجازنا هو CubePart: أول إطار عمل للذكاء الاصطناعي التوليدي الذي يسمح بتوليد شبكات ثلاثية الأبعاد ذات مفردات مفتوحة وقابلة للتحكم في الأجزاء. ينتج CubePart مجموعة مجمعة من الشبكات المتميزة والوظيفية والمصنفة بدقة والتي تتوافق مع احتياجات البرمجة للمطور فورًا.

يوسع CubePart مفهوم المخططات الثابتة التي قدمناها مع 4D Generation لتمكين المبدع من تحديد قائمة الأجزاء التي يجب تقسيم الكائن إليها. يتم إدراج مجموعة الشبكات التي تم إنشاؤها بواسطة CubePart مباشرة في محرك اللعبة ويمكن التحكم فيها بواسطة الرسوم المتحركة والفيزياء ونصوص اللعب دون الحاجة إلى التنظيف اليدوي. نشرنا أبحاثنا حول CubePart على arXiv وقمنا بتحديث مستودع Cube مفتوح المصدر لدعم الإنشاء القابل للتحكم في الأجزاء. في وقت لاحق من هذا العام، سنقدم نتائجنا في SIGGRAPH

المخطط: عقد واجهة برمجة التطبيقات (API) للأصول التفاعلية ثلاثية الأبعاد

في Roblox، يتم تنفيذ السلوك التفاعلي في نصوص تعمل على أجزاء محددة، وهي عناصر فرعية مسماة لأحد الأصول. حتى الأصول المتشابهة قد تتطلب أجزاء مختلفة تمامًا اعتمادًا على اللعبة أو الموقف. قد يحد التصنيف الثابت من الإبداع والوظائف، لذا يقدم CubePart مدخلين: 

  1. موجه نصي عام يصف شكل الكائن: على سبيل المثال، "سيارة سباق على شكل قنديل البحر".
  2. قائمة محددة ومفتوحة الأطراف بالأجزاء المطلوبة تسمى المخطط: على سبيل المثال، "العجلة الأمامية اليسرى"، "العجلة الأمامية اليمنى"، "العجلة الخلفية اليسرى"، "العجلة الخلفية اليمنى"، "البندقية"، "المصابيح الأمامية"، "أنبوب العادم"، "الهيكل". 

المخطط هو عقد واجهة برمجة التطبيقات (API) بين الأصل ورمز اللعبة، ويتيح CubePart للمبدع إنشاء أصول تتوافق مع العقد. يتيح هذا التحكم في المفردات المفتوحة لـ CubePart التقاط تنوع أصول وتجارب Roblox.

التوليد على مرحلتين 

CubePart هي بنية انتشار ذات مرحلتين مبنية على تمثيل الشكل الكامن VecSet

في الرسوم التوضيحية أدناه، أدخل المستخدم موجهين. 

  1. الموجه النصي العام: "شاحنة سحب تتميز بملامح كرتونية." 
  2. المخطط: "كابينة"، "هيكل"، "عجلات"، "ضوء سقف"، "مجموعة السحب".

المرحلة 1 مسؤولة عن تحديد الشكل الأساسي للكائن (شاحنة سحب تتميز بسمات كرتونية). تولد هذه المرحلة كيانًا كامنًا واحدًا للكائن بأكمله باستخدام بنية MMDiT مع مشفر النص Qwen-VL، الذي تم تدريبه على ما يقرب من 4.7 مليون زوج من الشبكات والنصوص. هذه هي المرحلة التي تتطلب الكثير من البيانات: يعد تعيين لغة ذات مفردات مفتوحة على هندسة ثلاثية الأبعاد الجزء الصعب من التوليد ثلاثي الأبعاد، ويتطلب ذلك مجموعة كبيرة ومتنوعة من النصوص لتحقيق نتائج جيدة. بالإضافة إلى ذلك، نقوم بضبط المرحلة الأولى لتكون مدركة للمخطط. 

تأخذ المرحلة 2 الكامن في المرحلة 1 وتنتج جزءًا كامنًا واحدًا لكل إدخال مخطط لإعادة بناء الكائن بأجزائه. بالنسبة لمثال شاحنة السحب الكرتونية، تولد المرحلة 2 جزءًا كامنًا منفصلاً لكل من الكابينة والشاسيه والعجلات ومصباح السقف ومجموعة السحب لإعادة بناء شاحنة السحب النهائية بأجزاء وظيفية مميزة. البيانات ثلاثية الأبعاد الموسومة بالأجزاء نادرة جدًا مقارنة ببيانات النص الشبكي. مع قيام المرحلة الأولى باستيعاب التعيين المعقد من النص إلى الشكل من مجموعة أكبر، لا يتعين على المرحلة الثانية سوى تعلم أين تقع حدود الأجزاء على كائن يفهمه النموذج بالفعل. ونرى أن الاستئصال في الورقة البحثية دليل مباشر على ذلك: فإزالة التدريب المسبق للمرحلة الأولى يؤدي إلى تدهور ملموس في تعميم المفردات المفتوحة للمرحلة الثانية. باختصار، المرحلة الأولى هي ما يسمح للمرحلة الثانية بالتعميم. 
هناك ابتكار مهم آخر في بنيتنا وهو كيفية تواصل الأجزاء. يتمثل حلنا في إدراج كتل انتباه مخصصة عبر الأجزاء بدلاً من تعديل الكتل الموجودة، مع توقعات إخراج مبدئية صفرية بحيث تبدأ كعمليات غير فعالة وتتعلم التواصل بين الأجزاء دون إزعاج المسار المُدرّب مسبقًا. سيكون هذا المبدأ مألوفًا لقراء ControlNet، حيث يتم تطبيقه هنا على تحليل الأجزاء ثلاثي الأبعاد. بالنسبة لمثال شاحنة السحب لدينا، تضمن كتل الانتباه عبر الأجزاء أن يتم دمج الكابينة ومجموعة السحب بسلاسة ووضعهما بشكل صحيح بالنسبة للشاسيه والعجلات.

مجموعة البيانات الخاصة بنا وخط إنتاج VLM 

لتدريب CubePart، أنشأنا مجموعة بيانات تضم أكثر من 460,000 عنصر — أي ما يزيد عن 11 ضعف حجم مجموعات البيانات العامة السابقة1 — و2.02 مليون جزء. وبدلاً من التصنيف اليدوي، أنشأنا مسارًا آليًا باستخدام نماذج الرؤية واللغة (VLMs).

يعرض خط الإنتاج آلاف النماذج ثلاثية الأبعاد من زوايا متعددة باستخدام نهج مزدوج: صورة مزودة بنسيج (للسياق الدلالي) وصورة ملونة جزئيًا (لتتبع الحدود بدقة). يتم تمييز كلتا الصورتين بعلامات مرقمة متطابقة، مما يمنح VLM مقبضًا قابلًا للعنونة النصية للتفكير في الفضاء ثلاثي الأبعاد وتجميع وتسمية كل جزء.

على عكس مجموعات البيانات المنشورة سابقًا حيث يتم تصنيف كل عجلة في السيارة ببساطة على أنها "عجلة"، فإن مجموعة البيانات الخاصة بنا تعلم الذكاء الاصطناعي التمييز المكاني (على سبيل المثال، التمييز بين "العجلة الأمامية اليسرى" و"العجلة الخلفية اليمنى"). هذه الدقة في المطابقة هي بالضبط ما تبحث عنه محركات الألعاب.

ما يفتحه CubePart وما هو التالي

يتيح CubePart للمبدعين إنشاء أصول تتوافق مع كود اللعبة وتتمتع بتوافق مباشر مع سير عمل الرسوم المتحركة والفيزياء والبرمجة النصية الحالية. يمكن لـ CubePart أيضًا تفكيك شبكات الفنانين الحالية إلى مخطط جديد، وهو أمر مفيد لترقية الأصول القديمة، وليس فقط إنشاء أصول جديدة.

لا يزال هناك الكثير مما يجب القيام به. تتعامل CubePart مع تفكيك الأجسام الصلبة، لكننا نعمل أيضًا على أوزان الرؤوس المغطاة بالجلد لتشوه الشخصيات العضوية. يقلل الانتباه عبر الأجزاء من التداخل بشكل كبير لكنه لا يقضي عليه. لا يزال هناك مجال كبير للتحسين في الاستدلال المكاني — "الأمامي الأيسر" مقابل "الخلفي الأيمن".

نحن نرى أن التوليد القائم على المخططات هو الخطوة التي تجعل التوليد ثلاثي الأبعاد مفيدًا على منصة تشارك فيها كل الأصول في محاكاة. قريبًا، ستتوفر هذه التقنية لمبدعي Roblox مباشرةً داخل Roblox Studio.

1 مقارنة بـ PartVerseXL