क्यूबपार्ट: एक खुल्या शब्दसंग्रहाचा, भागात्मकपणे नियंत्रित 3D जनरेटर
कार्यात्मक गेम-रेडी अॅसेट्सच्या निर्मितीकडे

आधुनिक 3D जनरेटिव्ह मॉडेल्स टेक्स्ट प्रॉम्प्ट्सवरून सुंदर, जटिल 3D वस्तू तयार करू शकतात, परंतु गेम डेव्हलपरसाठी एकच मोनोलीथिक 3D मॉडेल उपयुक्त नसते. उदाहरणार्थ, कार चालवता येण्याजोगी असावी लागते. चाके स्वतंत्रपणे फिरणे आवश्यक आहे, दरवाजे उघडणे आवश्यक आहे, आणि हेडलाइट्स चालू होणे आवश्यक आहे.
सध्या, 3D कलाकारांना तयार केलेल्या मॉडेल्सचे हाताने तुकडे करावे लागतात आणि त्या भागांना नावे द्यावी लागतात—ही प्रक्रिया मोठ्या प्रमाणावर अवघड जाते. आमची क्रांतिकारी निर्मिती म्हणजे CubePart: पहिले जनरेटिव्ह AI फ्रेमवर्क जे खुल्या शब्दसंग्रहात, भागांनुसार नियंत्रित 3D मेष निर्मितीची परवानगी देते. CubePart विविध, कार्यात्मक आणि अचूक लेबल असलेल्या मेशेसचा एक संकलित संच आउटपुट करते जो विकासकाच्या प्रोग्रामिंग गरजांना त्वरित जुळतो.
CubePart ने 4D Generation मध्ये आम्ही सादर केलेल्या निश्चित स्कीमांच्या संकल्पनेचा विस्तार केला आहे, ज्यामुळे निर्मात्याला एखाद्या वस्तूचे तुकडे किती भागांमध्ये विभागले जावेत याची यादी परिभाषित करण्याची क्षमता मिळते. CubePart द्वारे तयार केलेली मेशची संच थेट गेम इंजिनमध्ये वापरता येते आणि मॅन्युअल साफसफाईशिवाय अॅनिमेशन, फिजिक्स आणि गेमप्ले स्क्रिप्टद्वारे नियंत्रित केली जाऊ शकते. आम्ही आमचे CubePart संशोधन arXiv वर प्रकाशित केले आहे आणि भाग-नियंत्रित निर्मितीला समर्थन देण्यासाठी आमची ओपन सोर्स Cube रिपॉझिटरी अद्ययावत केली आहे. या वर्षाच्या उत्तरार्धात, आम्ही आमचे निष्कर्ष SIGGRAPH मध्ये सादर करू.
स्कीमा: इंटरॅक्टिव्ह 3D अॅसेट्ससाठी API करार
Roblox वर, परस्परसंवादी वर्तन स्क्रिप्ट्सद्वारे अंमलात आणले जाते जे भागांवर कार्य करतात—एखाद्या अॅसेटच्या विशिष्ट, नामित उपघटकांवर. अगदी समान अॅसेट्सनाही गेम किंवा परिस्थितीनुसार पूर्णपणे भिन्न भागांची आवश्यकता असू शकते. एक निश्चित वर्गीकरणपद्धती सर्जनशीलता आणि कार्यक्षमतेला मर्यादित करेल, म्हणून CubePart दोन इनपुट्स ऑफर करते:
- वस्तू कशी दिसते हे वर्णन करणारा जागतिक मजकूर प्रॉम्प्ट: उदा., "जेलीफिश थीम असलेली रेस कार."
- आवश्यक भागांची एक विशिष्ट, मुक्त-अंत सूची जी स्कीमा म्हणून ओळखली जाते: उदा., "पुढील डावे चाक", "पुढील उजवे चाक", "मागील डावे चाक", "मागील उजवे चाक", "बंदूक", "हेडलाईट्स", "एग्झॉस्ट पाइप", "बॉडी".
स्कीमा हा एसेट आणि गेमप्ले कोड यांच्यातील API करार आहे, आणि CubePart निर्मात्यांना कराराशी सुसंगत एसेट्स तयार करण्याची परवानगी देते. ही खुल्या शब्दसंग्रहाची नियंत्रण पद्धत CubePart ला Roblox एसेट्स आणि अनुभवांच्या विविधतेला टिपण्याची परवानगी देते.
दोन टप्प्यांमध्ये निर्मिती
CubePart हा VecSet लॅटेंट आकार प्रतिनिधित्वावर आधारित दोन-चरणीय डिफ्यूजन आर्किटेक्चर आहे.
खालील चित्रांमध्ये, वापरकर्त्याने दोन प्रॉम्प्ट्स इनपुट केल्या.
- जागतिक मजकूर प्रॉम्प्ट: "कार्टूनसारख्या वैशिष्ट्यांनी परिपूर्ण एक टो ट्रक."
- योजना: "कॅब", "चॅसिस", "चाके", "छतावरील बीकन", "टो असेंब्ली".
पहिला टप्पा वस्तूचा मूलभूत आकार (कार्टूनसारख्या वैशिष्ट्यांनी परिभाषित केलेला टो ट्रक) निश्चित करण्यासाठी जबाबदार आहे. हा टप्पा सुमारे 4.7 दशलक्ष मेष-टेक्स्ट जोड्यांवर प्रशिक्षित Qwen-VL टेक्स्ट एन्कोडरसह MMDiT आर्किटेक्चर वापरून संपूर्ण वस्तूसाठी एकच लॅटेंट तयार करतो. हा डेटा-भूकट टप्पा आहे: खुल्या शब्दसंग्रहातील भाषा 3D भूमितीवर मॅप करणे हे जनरेटिव्ह 3D चे सर्वात कठीण काम आहे, आणि ते उत्तम प्रकारे करण्यासाठी मोठे, विविध कॉर्पस आवश्यक असते. आम्ही अतिरिक्तपणे स्टेज 1 चे फाईन-ट्यूनिंग करून ते स्कीमा-जागरूक बनवतो.



आमचा डेटासेट आणि VLM पाइपलाइन
CubePart चे प्रशिक्षण देण्यासाठी, आम्ही 460,000 पेक्षा जास्त अॅसेट्स आणि 2.02 दशलक्ष भागांचा समावेश असलेला डेटासेट तयार केला—जो मागील सार्वजनिक डेटासेट1 पेक्षा 11 पट मोठा आहे—आणि त्यात व्हिजन-लँग्वेज मॉडेल्स (VLM) वापरून स्वयंचलित पाइपलाइन तयार केली.
ही पाइपलाइन जोडलेल्या पद्धतीचा वापर करून हजारो 3D मॉडेल्स अनेक कोनातून तयार करते: एक टेक्सचरयुक्त प्रतिमा (अर्थपूर्ण संदर्भासाठी) आणि एक भाग-रंगीत प्रतिमा (अचूक सीमारेषा ट्रॅकिंगसाठी). दोन्ही प्रतिमांवर एकसारख्या क्रमांकाचे मार्कर्स ठोकलेले असतात, ज्यामुळे VLM ला 3D अवकाशात तर्क करण्यासाठी आणि प्रत्येक भागाचे गटबद्ध करून नाव ठेवण्यासाठी मजकुराद्वारे संबोधता येणारा हँडल मिळतो.
पूर्वी प्रकाशित झालेल्या डेटासेटमध्ये वाहनावरील प्रत्येक चाकाला फक्त "चाक" असे लेबल केलेले असायचे, तर आमच्या डेटासेटमध्ये AI ला स्थानिक भेदभाव शिकवला जातो (उदा. "पुढील डावे चाक" आणि "मागील उजवे चाक" यात फरक ओळखणे). ही जुळवण्याची अचूकता म्हणजेच गेम इंजिन्सना हवी असलेली गोष्ट.
CubePart काय अनलॉक करते आणि पुढे काय?
CubePart निर्मात्यांना त्यांच्या गेमप्ले कोडशी जुळणारी आणि विद्यमान अॅनिमेशन, फिजिक्स आणि स्क्रिप्टिंग वर्कफ्लोशी थेट सुसंगत असे अॅसेट्स तयार करण्याची परवानगी देते. CubePart विद्यमान कलाकारांच्या मेशेसचे नवीन स्कीमामध्ये विघटन देखील करू शकते, जे फक्त नवीन अॅसेट्स तयार करण्यासाठीच नव्हे तर जुनी अॅसेट्स अपग्रेड करण्यासाठी देखील उपयुक्त आहे.
अजूनही बरेच काही करायचे आहे. CubePart रिजिड-बॉडी विघटन हाताळते, परंतु आम्ही ऑर्गेनिक पात्र विकृतीकरणासाठी स्कीन केलेले व्हर्टिस वेट्स (skinned vertex weights) देखील विकसित करत आहोत. क्रॉस-पारट अटेंशन (Cross-part attention) ओव्हरलॅप (overlap) नाटकीयरीत्या कमी करते, परंतु ते पूर्णपणे नाहीसे करत नाही. स्पॅशियल रिझनिंग—"समोर-डावा" विरुद्ध "मागील-उजवा"—यामध्ये अजूनही सुधारणा करण्यासाठी मोठी संधी आहे.
आम्ही स्कीमा-चालित निर्मितीला त्या टप्प्याचा भाग मानतो ज्यामुळे अशा प्लॅटफॉर्मवर जेथे प्रत्येक एसेट सिम्युलेशनमध्ये सहभागी असते, तेथे जनरेटिव्ह 3D उपयुक्त ठरते. लवकरच, हे तंत्रज्ञान Roblox स्टुडिओमध्ये थेट Roblox निर्मात्यांसाठी उपलब्ध होईल.



