SLIM का परिचय: स्केलेबल, हल्के और इंटरैक्टिव मॉडल
प्रत्येक डिवाइस के लिए बड़ी और अधिक विस्तृत दुनिया बनाने हेतु हल्के रेंडरिंग कंपोजिट्स की शक्ति का लाभ उठाना

Roblox लाखों अनुभवों का घर है, सरल मिनी-गेम्स से लेकर उच्च-निष्ठा 3D एसेट्स से भरी विशाल खुली दुनियाओं तक। हमारा लक्ष्य रचनाकारों द्वारा उपयोगकर्ताओं के विभिन्न उपकरणों पर कल्पना किए जाने वाले, लगातार अधिक घने और जटिल अनुभवों का समर्थन करना है, जिसके लिए हमारे इंजन, सामग्री वितरण प्रणालियों और बुनियादी ढांचे में नवाचार की आवश्यकता होती है। स्केलेबल लाइटवेट इंटरैक्टिव मॉडल्स, या SLIM, एक बहु-भागीय विकास प्रयास का एक हिस्सा है जो रचनाकारों को प्रदर्शन से समझौता किए बिना अपने भव्य कलात्मक दृष्टिकोण को प्राप्त करने में सक्षम बनाता है।
SLIM रचनाकारों को किसी भी ऑब्जेक्ट का स्वचालित रूप से हल्का प्रतिनिधित्व बनाने की अनुमति देता है, जिससे एक मजबूत, निर्बाध दुनिया को रेंडर करने के लिए क्लाइंट द्वारा आवश्यक ड्रॉ कॉल्स, त्रिकोणों और डेटा मॉडल इंस्टांसेस की संख्या कम हो जाती है। SLIM हमारे स्ट्रीमिंग मॉडल को सामग्री को अनुकूलित करने के लिए शक्तिशाली नए तरीके देता है, जिससे एक हाई-एंड गेमिंग पीसी वाले उपयोगकर्ता और एक लो-एंड मोबाइल डिवाइस वाले उपयोगकर्ता को एक ही अनुभव को उनके डिवाइस द्वारा संभाले जा सकने वाली उच्चतम गुणवत्ता पर साझा करने की अनुमति मिलती है।

इंस्टेंस स्ट्रीमिंग और SLIM के बिना | इंस्टेंस स्ट्रीमिंग और SLIM के साथ | |
क्लाइंट डेटा मॉडल इंस्टेंस | 159,745 | 92,536 |
त्रिभुज | 20M | 3.35M |
ड्रा कॉल्स | 2,402 | 1,454 |
स्ट्रीमिंग के दो स्तंभ: इंस्टेंस और एसेट्स
जब आप अपनी पसंदीदा स्ट्रीमिंग सेवा पर कोई मूवी देखते हैं, तो आपका डिवाइस पूरी फ़ाइल डाउनलोड नहीं करता है। यह बस इतना डेटा डाउनलोड करता है कि आप तुरंत देखना शुरू कर सकें, फिर अनुभव में कोई रुकावट न आए, इसके लिए लगातार अगले कुछ सेकंड को डाउनलोड (या बफ़र) करता रहता है। यदि आप किसी कम-श्रेणी के डिवाइस या धीमे कनेक्शन पर स्ट्रीमिंग कर रहे हैं, तो प्लेटफ़ॉर्म स्वचालित रूप से आपके लिए उच्च-गुणवत्ता वाली सामग्री को स्ट्रीम करने के लिए पर्याप्त डेटा डाउनलोड करते समय सामग्री का एक कम-गुणवत्ता वाला संस्करण भेजकर खुद को अनुकूलित कर लेता है।
रॉब्लॉक्स तुरंत सामग्री स्ट्रीम करने के लिए इसी तरह की अवधारणा का उपयोग करता है, लेकिन उच्च-गुणवत्ता वाले 3D सिमुलेशन को प्रस्तुत करने के लिए आवश्यक डेटा अपनी चुनौतियां पेश करता है। जहां एक वीडियो में एक ही दृष्टिकोण से देखी गई सामग्री की एक रैखिक टाइमलाइन होती है, वहीं रॉब्लॉक्स के अनुभवों में विशाल, इंटरैक्टिव 3D दुनिया होती हैं जो कई प्रकार के एसेट्स से भरी होती हैं जिन्हें उपयोगकर्ता द्वारा नियंत्रित कई दृष्टिकोणों से देखा जा सकता है। इसमें खेलने, खोज करने और अंततः विभिन्न प्रकार के उपकरणों से सामग्री स्ट्रीम करने वाले 151.5 मिलियन दैनिक सक्रिय उपयोगकर्ताओं को जोड़ें, और सामग्री को कैसे वितरित और प्रदर्शित किया जाता है, इसे अनुकूलित करने की अपार संभावनाएं हैं।1
उपयोगकर्ता रोब्लॉक्स पर जो कुछ भी देखता है—एक कार, एक पेड़, एक अवतार, या एक इमारत—उसे इंजन के भीतर कई इंस्टेंस के रूप में दर्शाया जाता है। उदाहरण के लिए, एक उपयोग योग्य कार को बम्पर, दरवाज़े, पहियों, और इसी तरह के इंस्टेंस में विभाजित किया जाता है। प्रत्येक इंस्टेंस को अनुभव में कई एसेट्स, जैसे 3D मेष, टेक्सचर, एनिमेशन और ऑडियो का उपयोग करके बनाया जाता है।
Roblox पर लगभग सभी स्ट्रीमिंग दो मुख्य तकनीकों में विभाजित है: इंस्टेंस स्ट्रीमिंग और एसेट स्ट्रीमिंग।
- इंस्टेंस स्ट्रीमिंग यह निर्धारित करती है कि उपयोगकर्ता के डिवाइस को कौन से इंस्टेंस स्ट्रीम करने की आवश्यकता है। अनुभव के उन हिस्सों को स्ट्रीम करने की कोई आवश्यकता नहीं है जिन्हें उपयोगकर्ता अभी तक देख या जिसके साथ इंटरैक्ट नहीं कर सकता है। उपरोक्त उदाहरण में, केवल आस-पास की इमारतों का प्रतिनिधित्व करने वाले इंस्टेंस ही क्लाइंट में स्ट्रीम किए जाते हैं।
- एसेट स्ट्रीमिंग स्ट्रीम किए गए इंस्टेंस की गुणवत्ता निर्धारित करती है। किसी पहाड़ के लिए, जो इतना दूर है कि उपयोगकर्ता उसके बारीक विवरण को नहीं देख सकता, उच्च-रिज़ॉल्यूशन वाले 4K टेक्सचर को डाउनलोड करने की कोई आवश्यकता नहीं है। ऊपर दी गई छवि में, दूर की इमारतें और स्क्रीन पर कम जगह लेने वाली इमारतें डेसीमेटेड मेश और कम-रिज़ॉल्यूशन वाले टेक्सचर का उपयोग करती हैं।
इस ऑपरेशन के लिए केंद्रीय मस्तिष्क एक सिस्टम है जिसे हम हार्मनी कहते हैं, जो हर फ्रेम में प्रत्येक उपयोगकर्ता के उपलब्ध संसाधनों की निगरानी करता है। हार्मनी डिवाइस की मेमोरी, जीपीयू और सीपीयू लोड, और नेटवर्क बैंडविड्थ के आधार पर सर्वोत्तम अनुभव प्रदान करने के लिए इंस्टेंस और एसेट स्ट्रीमिंग दोनों को समायोजित करता है। एक हाई-एंड गेमिंग पीसी के लिए, हार्मनी सब कुछ उच्चतम गुणवत्ता तक बढ़ा देता है। कमजोर कनेक्शन वाले मोबाइल डिवाइस के लिए, यह उपयोगकर्ता अनुभव को सुचारू बनाए रखने के लिए स्वचालित रूप से गुणवत्ता कम कर देता है।
टीम ने टेक टॉक्स पॉडकास्ट के एपिसोड 30 में स्ट्रीमिंग, क्लाउड ट्रांसकोडिंग, और SLIM के पीछे की तकनीक पर चर्चा की।
SLIM: स्केलेबल हल्के इंटरैक्टिव मॉडल
SLIM का मूल विचार सरल लेकिन शक्तिशाली है: SLIM किसी निर्माता की दुनिया में किसी भी वस्तु या मॉडल के कई हल्के, अनुकूलित प्रतिनिधित्व स्वचालित रूप से बना सकता है और उन्हें रनटाइम पर प्राप्त करने के लिए सर्वर पर संग्रहीत कर सकता है। फिर प्रत्येक उपयोगकर्ता का क्लाइंट डिवाइस के उपलब्ध संसाधनों के आधार पर मूल इंस्टेंस और एसेट्स या हल्के SLIM प्रतिनिधित्वों में से किसी एक को रेंडर करने के बीच गतिशील रूप से स्विच कर सकता है।
SLIM एक हल्का प्रतिनिधित्व उत्पन्न करने के लिए दो मुख्य तकनीकों का उपयोग करता है:
1. कंपोजिटिंग
सबसे पहले, SLIM कई हिस्सों को मिलाकर कम हिस्से बनाता है। नीचे दी गई कार के लिए 112 अलग-अलग मेश और 24 अलग-अलग टेक्सचर की आवश्यकता होने के बजाय, इसके हल्के प्रतिनिधित्व के लिए केवल एक मेश और चार टेक्सचर की आवश्यकता हो सकती है। कंपोजिटिंग प्रक्रिया को इस तरह से ठीक किया गया है कि यह इंजन द्वारा अंत में सामग्री को रेंडर करने के तरीके से मेल खाती है, जिससे किसी ऑब्जेक्ट के भीतर अदृश्य ज्यामिति को समाप्त किया जाता है और इसे रेंडर करने के लिए आवश्यक ड्रॉ कॉल्स की संख्या कम हो जाती है।

2. विवरण का स्तर (LoD)
मॉडल को कंपोजिट करने के बाद, SLIM विवरण के विभिन्न स्तरों पर कई संस्करण उत्पन्न करता है। इसका मतलब है कि पारंपरिक LoD तकनीकों का उपयोग करके किसी भी व्यक्तिगत मेष या टेक्सचर एसेट के साथ ऐसा ही करते हैं, ठीक उसी तरह 3D मेष के संस्करण बनाना जिनमें काफी कम त्रिभुज हों और बहुत कम रिज़ॉल्यूशन पर टेक्सचर बनाना। जब SLIM मॉडलों पर लागू किया जाता है तो इन तकनीकों को और अनुकूलित किया जा सकता है क्योंकि हमारे पास प्रत्येक अंतर्निहित इंस्टेंस के व्यक्तिगत निर्देशांक फ्रेम होते हैं। यह हमें पूरा संदर्भ देता है कि निर्माता ने इन सभी एसेट्स को एक साथ कैसे रेंडर करने का इरादा किया था। इस जानकारी के साथ, SLIM हमें यह अधिक सूचित निर्णय लेने की अनुमति देता है कि अनावश्यक विवरण कहाँ हटाना है और उन विवरणों को कहाँ रखना है जिन्हें उपयोगकर्ता देखेंगे।

सही समय पर सही प्रतिनिधित्व
एक बार जब हमने किसी ऑब्जेक्ट के कई प्रतिनिधित्व बना लिए हैं, तो SLIM को यह तय करना होता है कि किसी विशिष्ट उपयोगकर्ता के डिवाइस के लिए कौन सा उपयोग करना है या इसके बजाय पारंपरिक रेंडरिंग तकनीकों का उपयोग करना है। सिस्टम दुनिया को तीन अलग-अलग क्षेत्रों में विभाजित करता है। इन क्षेत्रों के बारे में सोचने का एक सरल तरीका यह है कि प्लेयर से बाहर की ओर विस्तारित होने वाले विवरण के संकेंद्रित वृत्तों की कल्पना करें।

HH क्षेत्र (भारी वज़न उदाहरण, भारी वज़न रेंडरिंग)
HH क्षेत्र में, पूर्ण, हेवीवेट इंस्टेंस सर्वर से क्लाइंट डेटा मॉडल में स्ट्रीम किए जाते हैं, और क्लाइंट प्रत्येक इंस्टेंस के लिए डाउनलोड और रेंडर करने हेतु विशिष्ट एसेट प्रतिनिधित्व निर्धारित करता है। इस क्षेत्र में मेष LoDs और टेक्सचर mips के साथ स्केलिंग अभी भी प्राप्त की जा सकती है, लेकिन कोई कंपोजिटिंग नहीं होती है। SLIM से पहले, इस तरह हर उस इंस्टेंस को रेंडर किया जाता था जिसे किसी अनुभव में स्ट्रीम किया गया था।
एचएल क्षेत्र (भारी वज़न वाले इंस्टेंस, हल्के वज़न वाली रेंडरिंग)
HL क्षेत्र HH और LL क्षेत्रों के बीच स्थित है। इस क्षेत्र में, क्लाइंट के डेटा मॉडल में हेवीवेट इंस्टेंस होते हैं लेकिन वह या तो पूरी रेंडर पाइपलाइन या SLIM पाइपलाइन का उपयोग करके रेंडर करने का विकल्प चुन सकता है। यह क्षेत्र HH और LL क्षेत्रों के बीच एक सहज संक्रमण सुनिश्चित करने के लिए अनुकूलित होता है, भले ही उपयोगकर्ता को नेटवर्क लेटेंसी का सामना करना पड़े। HH और HL क्षेत्रों के बीच संक्रमण बिंदु गतिशील होता है, जो हार्मनी को किसी भी दिशा में संसाधनों में अचानक वृद्धि के जवाब में तुरंत स्केल अप या डाउन करने की अनुमति देता है।
एलएल क्षेत्र (लाइटवेट इंस्टेंस, लाइटवेट रेंडरिंग)
एलएल क्षेत्र में, क्लाइंट केवल उन इंस्टेंस के सुपर-लाइटवेट प्रतिनिधित्व को स्ट्रीम करता है जो एक स्लिम मॉडल के लिए एक निर्देशांक फ्रेम को परिभाषित करने के लिए आवश्यक हैं, साथ ही न्यूनतम मेटाडेटा भी। इस क्षेत्र में केवल हल्के कंपोजिट किए गए स्लिम मॉडल ही रेंडर किए जाते हैं, न कि हर एक इंस्टेंस और एसेट। एलएल क्षेत्र को बहुत कम ट्रायंगल और ड्रॉ कॉल की आवश्यकता होती है, और यह हर हेवीवेट इंस्टेंस को स्ट्रीम करने और पारंपरिक रेंडर पाइपलाइन का उपयोग करने की तुलना में उपयोगकर्ता के डिवाइस पर मेमोरी उपयोग को कम करता है।
यह क्षेत्र तकनीक क्लाइंट को हर समय पूरी दृश्यमान दुनिया को रेंडर करने की अनुमति देती है, बिना एक साथ हर भारी-भरकम इंस्टेंस और एसेट का उपयोग करने की पूरी गणनात्मक लागत उठाए। दूर की वस्तुएं अत्यधिक अनुकूलित, हल्के प्रतिनिधित्व होते हैं, जिन्हें उपयोगकर्ता के करीब आने पर उनके उच्च-निष्ठा समकक्षों द्वारा बदल दिया जाता है। SLIM की कंपोजिट और कई स्केल किए गए LoD मॉडल बनाने की क्षमता हार्मनी को प्रत्येक उपयोगकर्ता के डिवाइस के लिए एसेट की गुणवत्ता को अनुकूलित करने के लिए अधिक साधन देती है।
जब सब कुछ एक साथ आता है, तो खिलाड़ी को पूरी तरह से डूबा हुआ महसूस करना चाहिए और उसे संक्रमण बिंदुओं या विवरण के विभिन्न स्तरों पर कोई ध्यान नहीं जाना चाहिए।
भविष्य: SLIM अब कहाँ से आगे बढ़ेगा?
SLIM एक बहु-चरणीय यात्रा का केवल पहला कदम है, और हम यह देखने के लिए उत्साहित हैं कि निर्माता इस तकनीक को अपने वर्कफ़्लो में कैसे एकीकृत करते हैं। हम भविष्य में SLIM का विस्तार दो मुख्य दिशाओं में करने पर विचार कर रहे हैं।
यह निर्धारित करना कि और क्या SLIM किया जा सकता है
हम उन स्थिर मॉडलों के साथ शुरुआत कर रहे हैं जिन्हें निर्माता स्टूडियो में निर्दिष्ट करते हैं, लेकिन भविष्य में, SLIM रोब्लॉक्स पर कुछ सबसे जटिल मॉडलों को अनुकूलित करने में सक्षम होगा: प्लेटफ़ॉर्म अवतार। अवतार, अपने सभी संबंधित एनिमेशन, परत वाले कपड़े और एक्सेसरीज़ के साथ, निर्माताओं के लिए एक अप्रत्याशित चर हो सकते हैं। अवतारों को SLIM-ed करने की अनुमति देने का मतलब है कि इंजन एक व्यक्तिगत अवतार मॉडल द्वारा उपयोग किए जाने वाले संसाधनों को प्रभावी ढंग से सीमित कर सकता है।
अंततः, हम क्रिएटर्स को डायनामिक मॉडलों में बदलाव के लिए SLIM का लाभ उठाने का विकल्प देना चाहते हैं। एक ऐसे मॉडल की कल्पना करें जहाँ सर्वर सक्रिय रूप से बदलाव कर सकता है (जैसे, एक दरवाज़ा खुलता है या कोई हिस्सा नष्ट हो जाता है), लेकिन कुछ चतुर तरकीबों से, क्लाइंट उसी हल्के प्रतिनिधित्व का फिर से उपयोग कर सकता है।
SLIM पाइपलाइन का अनुकूलन
अब जब हमारे पास एक एंड-टू-एंड पाइपलाइन है जो इंजन को लचीलेपन का एक नया आयाम प्रदान करती है, तो हम पाइपलाइन को ही और अधिक स्मार्ट, तेज़ और कुशल बनाने पर भी ध्यान केंद्रित कर रहे हैं। इसमें शामिल हैं:
- टेक्सचर री-एटलसिंग: कई मॉडल टेक्सचर को एक ही, अनुकूलित टेक्सचर शीट में बुद्धिमानी से पैक करना।
- स्वचालित विभाजन: दुनिया की अर्थपूर्ण और स्थानिक समझ का स्वचालित रूप से उपयोग करके सर्वोत्तम SLIM-योग्य मॉडलों की पहचान करना।
- हल्के-वजन वाले प्रतिनिधित्व: गतिशील वस्तुओं के लिए जो विलंबता पर कम निर्भर हैं, हम 2D प्रतिनिधित्व उत्पन्न करने का पता लगा रहे हैं जो क्लाइंट पर रेंडर करने के लिए लगभग संसाधन-मुक्त हैं।
- क्रमागत SLIM: SLIM मॉडलों को एक के बाद एक इस तरह से रखना ताकि इंस्टेंस के पूरे समूहों को सरल बनाया जा सके और इंजन गतिशील रूप से सूक्ष्मता के स्तरों के बीच चयन कर सके—उदाहरण के लिए, एक अकेले पेड़ से लेकर एक जंगल तक, और फिर जंगलों और अन्य वस्तुओं से भरे पूरे भू-भाग तक।
- अप-रेज़िंग: आज, हम प्रदर्शन के लिए ऑप्टिमाइज़ करने पर ध्यान केंद्रित कर रहे हैं, लेकिन बहुत जल्द, यही सिस्टम हमें रचनाकार के मूल कलात्मक इरादे को बनाए रखते हुए भविष्य के हार्डवेयर के लिए एसेट्स के रिज़ॉल्यूशन को बढ़ाने की अनुमति देगा। इस नई आर्किटेक्चर का मतलब है कि जैसे-जैसे हमारा इंजन वास्तविकता का अनुकरण करने में बेहतर होता जाएगा, हम इसके द्वारा उपयोग की जाने वाली प्रस्तुतियों को लगातार अपग्रेड कर सकते हैं।
स्लिम, हार्मनी और हमारे स्ट्रीमिंग और कंटेंट डिलीवरी आर्किटेक्चर के बाकी हिस्सों के संयोजन में, अधिक खिलाड़ियों के लिए अधिक विस्तृत और विस्तृत दुनिया का समर्थन करने की हमारी दृष्टि में एक बड़ी छलांग है। हमारे इंजन, कंटेंट डिलीवरी, और क्लाउड इंफ्रास्ट्रक्चर के घनिष्ठ एकीकरण के साथ-साथ लाखों निर्माताओं से मिली विशाल सामग्री आधार हमें ऐसे गहराई से परस्पर जुड़े सिस्टम बनाने की अनुमति देता है जो पूरे अनुभव को बेहतर बनाते हैं। जैसे-जैसे हमारा इंजन वास्तविकता का अनुकरण करने में बेहतर होता जा रहा है, हम इसके द्वारा उपयोग की जाने वाली अभिव्यक्तियों को लगातार अपग्रेड कर सकते हैं। आज, हम प्रदर्शन के लिए अनुकूलन पर ध्यान केंद्रित कर रहे हैं, लेकिन बहुत जल्द, यही प्रणाली हमें रचनाकारों की मूल कलात्मक मंशा को बनाए रखते हुए भविष्य के हार्डवेयर के लिए एसेट्स का अप-रेज़ करने की अनुमति देगी।
हम एक ऐसा प्लेटफ़ॉर्म बना रहे हैं जो न केवल उस कलात्मक इरादे का सम्मान करता है, बल्कि बुद्धिमानी और स्वचालित रूप से उनकी रचनाओं को रोब्लॉक्स उपलब्ध होने वाली किसी भी जगह, विभिन्न प्रकार के उपकरणों पर किसी भी उपयोगकर्ता तक पहुँचा भी सकता है। हम यह देखने के लिए इंतजार नहीं कर सकते कि समुदाय इसके साथ क्या बनाता है।



