Krafton के Abyss of Dungeons में रे ट्रेसिंग लागू करना

मोबाइल पर रे ट्रेसिंग की सुविधा क्यों ज़रूरी है

रे ट्रेसिंग की मदद से, Abyss of Dungeons की डार्क फ़ैंटेसी दुनिया में खिलाड़ी को बेहतर अनुभव देने के लिए, असल लाइटिंग, रिफ़्लेक्शन, और शैडो का इस्तेमाल किया जाता है. मोबाइल गेम में शानदार विज़ुअल ग्राफ़िक ज़रूरी होते हैं. हालांकि, रे-ट्रैस किए गए विज़ुअल जैसे बेहतरीन इफ़ेक्ट हासिल करना एक बड़ी चुनौती है. मोबाइल गेमिंग की परफ़ॉर्मेंस से जुड़ी सीमाओं की वजह से, बेहतर रेंडरिंग तकनीकों का इस्तेमाल नहीं किया जा सका. इस वजह से, पीसी और कंसोल पर मिलने वाले अनुभव की तुलना में, मोबाइल पर गेम की विज़ुअल क्वालिटी में कमी आई.

Krafton Abyss of Dungeons का मकसद इन सीमाओं को दूर करना था. इसका मकसद, रे ट्रेसिंग टेक्नोलॉजी को Unreal Engine 5 (UE5) के मोबाइल वर्शन में इंटिग्रेट करना था. आम तौर पर, यह टेक्नोलॉजी हाई-एंड प्लैटफ़ॉर्म के लिए ही उपलब्ध होती है. इस प्रोजेक्ट का मकसद, मोबाइल डिवाइसों पर ज़्यादा असली और बेहतर ग्राफ़िक उपलब्ध कराकर, खिलाड़ियों को गेम में ज़्यादा दिलचस्पी दिलाना था. टीम को परफ़ॉर्मेंस से जुड़ी समस्याओं को हल करना था, UE5 के Lumen जैसी जटिल रेंडरिंग पाइपलाइन को अडैप्ट करना था, और अलग-अलग मोबाइल हार्डवेयर पर गेमिंग को स्थिर रखना था. इससे, मोबाइल गेमिंग में कंसोल क्वालिटी वाले ग्राफ़िक्स को उपलब्ध कराने की दिशा में एक अहम कदम उठाया जा सका.

रे ट्रेसिंग की मदद से बेहतर विज़ुअल बनाने के लिए, रेस्टराइज़ेशन की जगह रे ट्रेसिंग का इस्तेमाल करना

रैस्टराइज़ेशन की सुविधा, मोबाइल रेंडरिंग के लिए स्टैंडर्ड है, क्योंकि यह तेज़ी से काम करती है. यह 3D ऑब्जेक्ट को पिक्सल-दर-पिक्सल, 2D स्क्रीन पर प्रोजेक्ट करता है. यह तरीका कारगर है, लेकिन इससे लाइट इंटरैक्शन आसान हो जाते हैं. इस वजह से, छाया और परछाई कम असली लगती हैं.

रे ट्रेसिंग एक अलग तरीका है. यह लाइट रेज़ के असल पाथ को सिम्युलेट करता है और ऑब्जेक्ट के साथ उनके इंटरैक्शन का हिसाब लगाता है. इससे लाइटिंग, परछाइयां, और रिफ़्लेक्शन ज़्यादा सटीक और असली लगते हैं. हालांकि, इस तरह की रीयलिस्टिक इमेज बनाने के लिए, ज़्यादा कंप्यूटिंग पावर की ज़रूरत होती है. हर किरण के पाथ और इंटरैक्शन का हिसाब लगाने के लिए, प्रोसेसिंग की ज़्यादा क्षमता की ज़रूरत होती है.

रेस्टराइज़ेशन और रे ट्रेसिंग की तुलना करना

यहां दी गई टेबल में, रेस्टराइज़ेशन और रे ट्रैकिंग के बीच के मुख्य अंतर के बारे में बताया गया है:

सुविधा रास्टराइज़ेशन रे ट्रेसिंग
रफ़्तार तेज़ धीमी
हकीकत हाथ नीचे करें ज़्यादा
संसाधन का इस्तेमाल कम ज़्यादा

ज़्यादा संसाधनों की ज़रूरत, मोबाइल डिवाइसों के लिए एक समस्या है. इनमें डेस्कटॉप की तुलना में प्रोसेसिंग पावर सीमित होती है. इस वजह से, मोबाइल प्लैटफ़ॉर्म पर रे ट्रेसिंग की सुविधा को अपनाने में समस्या आ रही थी.

Android पर रे ट्रेसिंग चुनना और लागू करना: एक व्यवस्थित तरीका

Vulkan की मदद से Android पर रे ट्रेसिंग लागू करने के लिए, दो मुख्य तरीकों पर विचार किया गया था: रे क्वेरी और रे पाइपलाइन. रे क्वेरी ने एक आसान तरीका दिया, जिससे शेडर में रे मैनेजमेंट को मैन्युअल तरीके से किया जा सकता है. इसे मौजूदा सिस्टम में इंटिग्रेट करना आसान था.

हालांकि, रे पाइपलाइन ने ज़्यादा स्केलेबल समाधान दिया, जिससे Vulkan को रे ट्रैवर्सल और इंटरसेक्शन मैनेज करने में मदद मिली. शुरुआत में, रे क्वेरी आसान सीन में थोड़ी तेज़ थीं. हालांकि, रे पाइपलाइन ने ज़्यादा जटिल रे ट्रैकिंग ऐप्लिकेशन के लिए, बेहतर स्केलेबिलिटी और परफ़ॉर्मेंस दिखाई. इससे, इन्हें लंबे समय तक डेवलपमेंट और जटिल विज़ुअल की ज़रूरतों के लिए बेहतर विकल्प माना गया. हमने गेम को आसानी से डेवलप करने के साथ-साथ, आने वाले समय में गेम को बड़े पैमाने पर उपलब्ध कराने और उसकी परफ़ॉर्मेंस को बेहतर बनाने पर ध्यान दिया है. साथ ही, हमने गेम के विज़ुअल को लंबे समय तक बेहतर बनाए रखने पर भी ध्यान दिया है.

UE5 Lumen को मोबाइल के लिए इस्तेमाल करना: एक मुश्किल काम

UE5 का Lumen, रीयल-टाइम ग्लोबल इल्यूमिनेशन और रिफ़्लेक्शन सिस्टम है. इसकी मदद से, गेम के एनवायरमेंट में रोशनी को बेहतर बनाया जा सकता है. हालांकि, इसे मूल रूप से मोबाइल डिवाइसों के लिए नहीं, बल्कि बेहतर परफ़ॉर्मेंस वाले पीसी और कंसोल के लिए डिज़ाइन किया गया था. Lumen की जटिलता और संसाधनों की ज़रूरतों ने मोबाइल इंटिग्रेशन के लिए एक बड़ी चुनौती पेश की. Android के लिए Lumen को अडैप्ट करने के लिए, UE5 की रेंडरिंग पाइपलाइन और शेडर कंपाइलर में काफ़ी बदलाव करने पड़े. साथ ही, जटिल सीन डेटा को बेहतर तरीके से मैनेज करने के लिए, ऐक्सेलरेशन स्ट्रक्चर (एएस) को ऑप्टिमाइज़ करना पड़ा. टीम का मकसद, इस अंतर को कम करना था. इससे मोबाइल डिवाइसों को परफ़ॉर्मेंस या स्थिरता को कम किए बिना, Lumen की बेहतर लाइटिंग कैलकुलेशन को मैनेज करने में मदद मिलती है. इस बदलाव की वजह से, Unreal Engine के आधिकारिक कोडबेस में भी बदलाव हुए. इससे गेम डेवलपमेंट कम्यूनिटी को फ़ायदा हुआ और मोबाइल पर रेंडरिंग की सुविधाओं को बेहतर बनाया जा सका.

रे ट्रेसिंग की मदद से परछाई और परफ़लक्शन दिखाना: विज़ुअल को ज़्यादा असली बनाना

रे ट्रेसिंग शैडो को लागू करने के लिए, सीधे सतहों से लाइट किरणों को लाइट सोर्स तक ट्रैक किया जाता है. इससे, पारंपरिक शैडो मैप की तुलना में बेहतर सटीक जानकारी मिलती है. इस प्रोसेस में, डेप्थ प्रीपास, रे क्वेरी शैडो, ग़ैर-ज़रूरी गड़बड़ियों को हटाना, और लाइटिंग पास में इंटिग्रेशन शामिल था. सिंगल रे का इस्तेमाल करके, झटके के साथ-साथ गड़बड़ी को हटाने के बाद, बेहतर तरीके से सॉफ़्ट शैडो बनाए गए. रिफ़्लेक्शन के लिए, टीम ने कई चरणों वाली प्रोसेस को लागू किया. इसमें G-बफ़र पास, रे ट्रैकिंग रिफ़्लेक्शन, और हिट डेटा स्टोरेज, मटीरियल आईडी कन्वर्ज़न, रिज़ॉल्व पास (रिफ़्लेक्टिव इमेज बनाना), और ब्लेंड पास (मुख्य सीन में रिफ़्लेक्शन को इंटिग्रेट करना) शामिल है. सीपीयू रीडबैक, टाइल किए गए तरीके, इंस्टेंस के हिसाब से एक साथ कई प्रोसेस करने, और एसिंक्रोनस एएस बिल्ड जैसे ऑप्टिमाइज़ेशन की मदद से, परफ़ॉर्मेंस में काफ़ी सुधार हुआ है और ओवरहेड कम हुआ है. इससे मोबाइल डिवाइसों पर इन प्रोसेस के लिए ज़्यादा संसाधनों की ज़रूरत नहीं पड़ती.

परफ़ॉर्मेंस पर असर और ऑप्टिमाइज़ेशन की रणनीतियां

Samsung Galaxy S24 Xclipse 940, ऊपर (ऑप्टिमाइज़ किया गया, नीला) नीचे (ऑप्टिमाइज़ करने से पहले, पीला)

रे ट्रेसिंग की परफ़ॉर्मेंस पर, खास तौर पर रिफ़्लेक्शन पर, सीन का काफ़ी असर पड़ता है. जिन सीन में बड़ी-बड़ी चमकदार सतहें होती हैं उनमें, फ़्रेम के समय का ज़्यादातर हिस्सा (30-40%) प्रतिबिंबों पर खर्च हो सकता है. रे ट्रेसिंग को काम का बनाने के लिए, ऑप्टिमाइज़ेशन ज़रूरी थे. टीम ने ओवरहेड को कम करने और परफ़ॉर्मेंस को बेहतर बनाने के लिए कई तकनीकों का इस्तेमाल किया: टाइल-आधारित रेंडरिंग के तरीके का इस्तेमाल करके, प्रोसेसिंग में लगने वाले समय को कम किया. साथ ही, ड्रॉ कॉल को कम करने के लिए, एक ही मटीरियल और ज्यामिति के इंस्टेंस को एक साथ रेंडर किया. इसके अलावा, सिर्फ़ दिखने वाली ज्यामिति के लिए, ऐक्सेलरेशन स्ट्रक्चर बनाए और एएस बनाने के लिए असाइनोक्रोनस कंप्यूट का इस्तेमाल किया. इन रणनीतियों से, प्रोसेसिंग में लगने वाला समय काफ़ी कम हो जाता है. साथ ही, जीपीयू पर लोड भी कम हो जाता है. इससे मोबाइल हार्डवेयर पर रीयल-टाइम रे ट्रेसिंग की सुविधा मिलती है.

इसके बारे में और पढ़ें

Krafton के Abyss of Dungeons ने दिखाया है कि रणनीतिक बदलावों और ऑप्टिमाइज़ेशन की मदद से, मोबाइल प्लैटफ़ॉर्म पर रे ट्रेसिंग जैसी बेहतरीन रेंडरिंग तकनीकें उपलब्ध कराई जा सकती हैं. टीम ने UE5 के Lumen सिस्टम को अपनाया और कस्टम रेंडरिंग सलूशन लागू किए. साथ ही, गेमिंग का बेहतरीन अनुभव देने के लिए, कई तकनीकी समस्याओं को हल किया. इस प्रोसेस से, न सिर्फ़ Abyss of Dungeons के विज़ुअल क्वालिटी को बेहतर बनाया गया है, बल्कि आने वाले समय में मोबाइल गेम डेवलप करने के लिए अहम जानकारी और तकनीकें भी मिली हैं. इस इवेंट में, मोबाइल गेमिंग को बेहतर बनाने के लिए, गेम डेवलपर और टेक्नोलॉजी की सेवा देने वाली कंपनियों के बीच सहयोग की अहमियत को हाइलाइट किया गया. इससे, मोबाइल गेमिंग को पीसी और कंसोल पर मिलने वाले अनुभव के बराबर लाया जा सकता है. Samsung की डेवलपर साइट पर, रे ट्रेनिंग के ऑप्टिमाइज़ेशन के बारे में ज़्यादा जानें.