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

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



हमारा डेटासेट और VLM पाइपलाइन
क्यूबपार्ट को प्रशिक्षित करने के लिए, हमने 460,000 से अधिक एसेट्स वाले एक डेटासेट का निर्माण किया—जो पिछले सार्वजनिक डेटासेट1 से 11 गुना से भी अधिक बड़ा है—और 2.02 मिलियन पार्ट्स। मैन्युअल लेबलिंग के बजाय, हमने विजन-लैंग्वेज मॉडल (VLMs) का उपयोग करके एक स्वचालित पाइपलाइन बनाई।
यह पाइपलाइन एक युग्मित दृष्टिकोण का उपयोग करके हजारों 3D मॉडलों को कई कोणों से रेंडर करती है: एक टेक्सचर्ड छवि (सेमांटिक संदर्भ के लिए) और एक पार्ट-कलर्ड छवि (सटीक सीमा ट्रैकिंग के लिए)। दोनों पर समान क्रमांकित मार्करों की मुहर लगी होती है, जो VLM को 3D स्थान में तर्क करने और प्रत्येक भाग को क्लस्टर और नाम देने के लिए एक टेक्स्ट-एड्रेस करने योग्य हैंडल प्रदान करता है।
पहले प्रकाशित डेटासेट के विपरीत, जहाँ किसी वाहन के हर पहिये को बस "पहिया" लेबल किया जाता है, हमारा डेटासेट एआई को स्थानिक विभेदन (जैसे, "सामने का बायाँ पहिया" को "पीछे का दायाँ पहिया" से अलग करना) सिखाता है। यह मिलान सटीकता ठीक वही है जिसकी गेम इंजन तलाश करते हैं।
क्यूबपार्ट क्या सक्षम करता है और आगे क्या है
क्यूबपार्ट क्रिएटर्स को ऐसे एसेट्स बनाने की अनुमति देता है जो उनके गेमप्ले कोड से मेल खाते हैं और मौजूदा एनिमेशन, फिजिक्स और स्क्रिप्टिंग वर्कफ़्लो के साथ सीधी संगतता रखते हैं। क्यूबपार्ट मौजूदा कलाकारों के मेश को एक नई स्कीमा में भी विघटित कर सकता है, जो केवल नए एसेट्स बनाने के लिए ही नहीं, बल्कि पुराने एसेट्स को अपग्रेड करने के लिए भी उपयोगी है।
अभी भी बहुत कुछ करना बाकी है। क्यूबपार्ट रिगिड-बॉडी डीकंపోज़िशन को संभालता है, लेकिन हम ऑर्गेनिक कैरेक्टर डिफॉर्मेशन के लिए स्किनड वर्टिस वेट्स पर भी काम कर रहे हैं। क्रॉस-पार्ट अटेंशन ओवरलैप को नाटकीय रूप से कम करता है, लेकिन इसे खत्म नहीं करता है। स्पैशियल रीजनिंग—"फ्रंट-लेफ्ट" बनाम "रियर-राइट"—में अभी भी सुधार की काफी गुंजाइश है।
हम स्कीमा-संचालित जेनरेशन को उस कदम के रूप में देखते हैं जो जेनरेटिव 3डी को एक ऐसे प्लेटफ़ॉर्म पर उपयोगी बनाता है जहाँ हर एसेट एक सिमुलेशन में भाग लेता है। जल्द ही, यह तकनीक रॉब्लॉक्स क्रिएटर्स के लिए सीधे रॉब्लॉक्स स्टूडियो के अंदर उपलब्ध होगी।



