SLIM सादर करत आहोत: विस्तारक्षम, हलके व परस्परसंवादी मॉडेल्स
प्रत्येक उपकरणासाठी मोठ्या आणि अधिक तपशीलवार जग तयार करण्यासाठी हलक्या रेंडरिंग कंपोझिट्सच्या सामर्थ्याचा उपयोग

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

इन्स्टन्स स्ट्रीमिंग आणि SLIM शिवाय | इन्स्टन्स स्ट्रीमिंग आणि SLIM सह | |
क्लायंट डेटा मॉडेल उदाहरणे | 159,745 | 92,536 |
त्रिकोण | २० दशलक्ष | 3.35M |
ड्रॉ कॉल्स | २,४०२ | 1,454 |
स्ट्रीमिंगचे दोन स्तंभ: उदाहरणे आणि मालमत्ता
जेव्हा तुम्ही तुमच्या आवडत्या स्ट्रीमिंग सेवेवर चित्रपट पाहता, तेव्हा तुमचे उपकरण संपूर्ण फाइल डाउनलोड करत नाही तोपर्यंत तुम्ही पाहायला सुरुवात करत नाही. ते लगेच पाहण्यासाठी पुरेसा डेटा डाउनलोड करते, आणि नंतर अनुभव अखंड राहण्यासाठी पुढील काही सेकंद सतत डाउनलोड (किंवा बफर) करत राहते. जर तुम्ही कमी क्षमतेच्या डिव्हाइसवर किंवा मंद कनेक्शनवर स्ट्रीमिंग करत असाल, तर प्लॅटफॉर्म आपोआप कमी गुणवत्तेची आवृत्ती पाठवते आणि उच्च-गुणवत्तेची सामग्री स्ट्रीम करण्यासाठी पुरेसा डेटा डाउनलोड होईपर्यंत तो पाठवत राहते.
Roblox तत्काळ सामग्री स्ट्रीम करण्यासाठी अशीच संकल्पना वापरते, परंतु उच्च-गुणवत्तेच्या 3D सिम्युलेशनचे प्रतिनिधित्व करण्यासाठी आवश्यक असलेला डेटा स्वतःच्या आव्हानांना सामोरे आणतो. जिथे व्हिडिओमध्ये एका दृष्टीकोनातून पाहिलेल्या सामग्रीची रेखीय टाइमलाइन असते, तिथे Roblox अनुभवांमध्ये वापरकर्त्याद्वारे नियंत्रित अनेक दृष्टीकोनांमधून पाहता येणाऱ्या विविध प्रकारच्या अॅसेट्सनी भरलेल्या विशाल, परस्परसंवादी 3D जगांचा समावेश असतो. यामध्ये दररोज 151.5 दशलक्ष सक्रिय वापरकर्ते खेळत, शोधत आणि विविध उपकरणांमधून सामग्री स्ट्रीम करत असल्याने, सामग्री कशी वितरित आणि प्रदर्शित केली जाते हे अनुकूलित करण्याची प्रचंड क्षमता आहे.1
वापरकर्ता Roblox वर जे काही पाहतो—कार, झाड, अवतार किंवा इमारत—ते सर्व इंजिनमध्ये अनेक उदाहरणांच्या (instances) रूपात सादर केले जाते. उदाहरणार्थ, वापरण्याजोगी कार बंपर, दरवाजे, चाके इत्यादींसाठी वेगवेगळ्या उदाहरणांमध्ये विभागलेली असते. प्रत्येक उदाहरण अनुभवात 3D मेश, टेक्सचर, अॅनिमेशन आणि ऑडिओ यांसारख्या अनेक अॅसेट्सचा वापर करून तयार केले जाते.
Roblox वरील जवळजवळ सर्व स्ट्रीमिंग दोन मुख्य तंत्रज्ञानांमध्ये विभागलेली आहे: इंस्टन्स स्ट्रीमिंग आणि अॅसेट स्ट्रीमिंग.
- इन्स्टन्स स्ट्रीमिंग हे ठरवते की वापरकर्त्याच्या डिव्हाइसला कोणती इन्स्टन्स स्ट्रीम करायची आहेत. वापरकर्त्याला अजून दिसत नसलेली किंवा ज्याच्याशी तो संवाद साधू शकत नाही अशा अनुभवाच्या भागांना स्ट्रीम करण्याची गरज नाही. वरील उदाहरणात, फक्त जवळच्या इमारतींचे प्रतिनिधित्व करणाऱ्या इन्स्टन्स क्लायंटमध्ये स्ट्रीम केल्या जातात.
- असेट स्ट्रीमिंग स्ट्रीम केलेल्या उदाहरणांची गुणवत्ता ठरवते. वापरकर्ता एखाद्या दूरच्या पर्वतावरील सूक्ष्म तपशील ओळखू शकत नाही, त्यामुळे त्यासाठी उच्च-रिझोल्यूशन 4K टेक्सचर डाउनलोड करण्याची गरज नाही. वरच्या प्रतिमेत, दूरच्या इमारती आणि स्क्रीनवर कमी जागा व्यापणाऱ्या इमारतींसाठी डेसीमेटेड मेश आणि कमी रिझोल्यूशनचे टेक्सचर वापरले जातात.
या ऑपरेशनचे केंद्रीय मेंदू म्हणजे Harmony नावाची प्रणाली, जी प्रत्येक फ्रेममध्ये प्रत्येक वापरकर्त्याच्या उपलब्ध संसाधनांचे निरीक्षण करते. Harmony डिव्हाइसची मेमरी, GPU आणि CPU लोड, तसेच नेटवर्क बँडविड्थ यावर आधारित सर्वोत्तम अनुभव देण्यासाठी इंस्टन्स आणि अॅसेट स्ट्रीमिंग दोन्ही समायोजित करते. उच्च-श्रेणीच्या गेमिंग पीसीसाठी, Harmony सर्वकाही उच्चतम गुणवत्तेवर वाढवते. कमकुवत कनेक्शन असलेल्या मोबाइल डिव्हाइससाठी, ते वापरकर्त्याचा अनुभव सुरळीत ठेवण्यासाठी आपोआप कमी करते.
पॉडकास्टच्या टेक टॉक्सच्या 30व्या भागात टीमने स्ट्रीमिंग, क्लाउड ट्रान्सकोडिंग आणि SLIM या तंत्रज्ञानावर चर्चा केली.
SLIM: स्केलेबल लाइटवेट इंटरॅक्टिव्ह मॉडेल्स
SLIM ची मूलभूत कल्पना सोपी पण सामर्थ्यवान आहे: SLIM एखाद्या निर्मात्याच्या जगातील कोणत्याही वस्तू किंवा मॉडेलचे अनेक हलके, अनुकूलित प्रतिनिधित्व आपोआप तयार करू शकते आणि रनटाइममध्ये मिळवण्यासाठी सर्व्हरवर संग्रहित करू शकते. प्रत्येक वापरकर्त्याचा क्लायंट मग उपलब्ध संसाधनांच्या आधारे मूळ उदाहरणे आणि मालमत्ता किंवा हलक्या SLIM प्रतिनिधित्वांपैकी एखाद्याचे रेंडरिंग गतिशीलपणे बदलू शकतो.
SLIM हलके प्रतिनिधित्व तयार करण्यासाठी दोन मुख्य तंत्रज्ञान वापरते:
1. कंपोजिटिंग
प्रथम, SLIM अनेक भाग एकत्र करून कमी भागांमध्ये रूपांतरित करते. खालील कारसाठी 112 स्वतंत्र मेश आणि 24 स्वतंत्र टेक्सचर लागण्याऐवजी, त्याच्या हलक्या प्रतिनिधित्वासाठी फक्त एक मेश आणि चार टेक्सचर लागू शकतात. ही कंपोजिटिंग प्रक्रिया इंजिन शेवटी सामग्री कशी रेंडर करेल त्यानुसार अचूकपणे समायोजित केली जाते, ज्यामुळे ऑब्जेक्टमधील अदृश्य जिओमेट्री काढून टाकली जाते आणि ते रेंडर करण्यासाठी आवश्यक ड्रॉ कॉल्सची संख्या कमी होते.

२. तपशील पातळी (LoD)
मॉडेलचे कंपोजिट केल्यानंतर, SLIM विविध तपशील पातळ्यांवर अनेक आवृत्त्या तयार करते. याचा अर्थ असा की पारंपारिक LoD तंत्रांचा वापर करून एखाद्या विशिष्ट मेष किंवा टेक्सचर एसेटवर जसे केले जाते, तसंच 3D मेषच्या आवृत्त्यांमध्ये लक्षणीयरीत्या कमी त्रिकोण असतील आणि टेक्सचर्स खूप कमी रिझोल्यूशनमध्ये तयार होतील. SLIM मॉडेल्सवर ही तंत्रे लागू केल्यावर त्यांना आणखी अनुकूलित (ऑप्टिमाइझ) करता येते कारण आमच्याकडे प्रत्येक अंतर्निहित उदाहरणाचे स्वतंत्र निर्देशांक फ्रेम (coordinate frames) असतात. यामुळे निर्मात्याने ही सर्व एसेट्स एकत्रितपणे कशी रेंडर करायची हे आम्हाला पूर्णपणे समजते. या ज्ञानामुळे, SLIM आम्हाला अनावश्यक तपशील कुठे काढायचे आणि वापरकर्त्यांच्या लक्षात येणारे तपशील कुठे ठेवायचे याबद्दल अधिक माहितीपूर्ण निर्णय घेण्यास अनुमती देते.

योग्य वेळी योग्य प्रतिनिधित्व
एकदा आपण एखाद्या वस्तूचे अनेक प्रतिनिधित्व तयार केल्यानंतर, SLIM ला ठरवावे लागते की विशिष्ट वापरकर्त्याच्या डिव्हाइससाठी कोणते प्रतिनिधित्व वापरावे किंवा त्याऐवजी पारंपारिक रेंडरिंग तंत्रे वापरावीत. ही प्रणाली जगाला तीन वेगळ्या प्रदेशांमध्ये विभाजित करते. या प्रदेशांबद्दल विचार करण्याचा एक सोपा मार्ग म्हणजे प्लेअरपासून बाहेरपर्यंत विस्तारत जाणाऱ्या एकाच केंद्राभोवती असलेल्या तपशीलांच्या वर्तुळांची कल्पना करणे.

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



