LOD (विस्तार का स्तर) का अर्थ है अलग-अलग डिस्प्ले स्केल में ऑब्जेक्ट का प्रबंधन करना, जिसे दो भागों द्वारा विभाजित किया जा सकता है। हालाँकि, आप उनमें से एक का उपयोग कर सकते हैं और यह अधिकांश मामलों के लिए पर्याप्त होगा।
परिमाण (प्रदर्शन पैमाने) के आधार पर परतों (एक ही प्रकार की वस्तुओं का समूह) को दिखाएँ / छिपाएँ।
बीजगणितीय गोमरी आधारित विधि, जिसे सामान्यीकरण कहा जाता है (जो बहुभुज को सरल बनाने के लिए एक एल्गोरिथ्म है)। निम्नलिखित तस्वीर को देखो
बहुभुज को सामान्य बनाने (सरलीकृत) करने के लिए सबसे प्रसिद्ध और कुशल विधि डेसकार्टेस-यूलर पॉलीहेड्रॉन प्रमेय के रूप में जाना जाता है (समीकरण 4.5 क्षमा करें यदि मैं एक पुस्तक का उल्लेख कर रहा हूं, तो मैं सबसे अच्छा कर सकता हूं) और इसका उपयोग अधिकांश स्थानिक डेटाबेस के लिए किया जाता है उदाहरण के लिए PostgreSQL में PostGIS मॉड्यूल। यह बस एक बहुभुज के छोटे पक्षों को निकालता है और एक बहुत गोल बनाता है। (ऊपर चित्र)
एक गेम में LOD को लागू करने के लिए आपको अपने मैप (दृश्य) के पैमाने को सहेजने और प्रबंधित करने की आवश्यकता होती है, जो कि th ज़ूम इन / आउट ऑपरेशन के दौरान होती है। पैमाने शून्य से अनंत में बदल जाता है और आपको इसे कुछ विशेष श्रेणियों में विभाजित करना होगा उदाहरण के लिए कुछ इस तरह से:
- 1 / शून्य = 1/50 तक अनन्तता
- 1/50 से 1/100
- 1/100 से 1/1000
- 1/1000 से 1 / अनंत = 0
फिर आपको यह परिभाषित करने की आवश्यकता है कि उपरोक्त प्रत्येक श्रेणी में आपकी किस प्रकार की वस्तुएं (परतें) दृश्य या अदृश्य होनी चाहिए। उदाहरण के लिए एक छोटे प्रकार की वस्तु जैसे कि हाइड्रेंट वाल्व दिखाई नहीं देना चाहिए जब उपयोगकर्ता चौथी श्रेणी में होता है क्योंकि यह उस पैमाने पर बहुत छोटा होगा और इसमें भेदभाव नहीं किया जा सकता है, इसलिए इससे कोई फर्क नहीं पड़ता कि आप इसे ड्राइंग पर छोड़ते हैं या नहीं। स्क्रीन।
इसलिए जब कोई उपयोगकर्ता ज़ूम इन और ज़ूम इन का उपयोग करता है तो वह एक सीमा से दूसरी सीमा तक ऊपर की ओर बढ़ने वाले आवर्धन को बदल देता है, और आपका गेम दृश्य पर वस्तुओं को दिखा या छिपाकर विवरण के स्तर को प्रबंधित करने के लिए इन डिस्प्ले स्केल का उपयोग करता है। यह एक असतत समाधान करता है जो ऑब्जेक्ट आपके ज़ूम आउट ऑपरेशन के दौरान अचानक फीका हो जाता है, हालांकि डिस्प्ले स्केल और मैग्नीफिकेशन रेंज को ध्यान से परिभाषित किया गया है, उपयोगकर्ता कुछ भी महसूस नहीं करता है।
4 श्रेणियों का उपरोक्त समूह केवल एक उदाहरण है और आपको परीक्षण और त्रुटि द्वारा अपने स्वयं के मामले के लिए सबसे अच्छा खोजने की आवश्यकता है। उसके लिए कोई नियम नहीं है।
कभी-कभी खेल अपनी एलओडी विधियों का उपयोग करते हैं, तुरंत के लिए सबवे सर्फर, एक छोटी को दिखाता है, बनावट आयत के बिना एक इमारत को दूर तक दिखाने के लिए, और करीब से अचानक इसे बनावट मिलती है, गेमर इसे महसूस करता है। आपने अपने प्रोजेक्शन सिस्टम के बारे में बात नहीं की, जो बहुत महत्वपूर्ण है कि आप किस तरह के खेल के बारे में बात नहीं कर रहे हैं।
हालाँकि मान लीजिए कि आप ओपेन जीएल के साथ एक पूर्ण 3 डी गेम को लागू कर रहे हैं और आप उन्हें ग्राफिक हार्डवेयर में स्थानांतरित करने से पहले कुछ जाल को फ़िल्टर करना चाहते हैं, मुझे यकीन है कि यह बफर ऑब्जेक्ट्स और वर्टेक्स एरेज़ (वीबीओ, वीएओ) के साथ बाइंडिंग / अनबाइंडिंग ऑपरेशन को कम करने में मदद करेगा। OpenGl के साथ काम करना।
केवल एक परत प्रबंधन का उपयोग करना या केवल यूलर के सामान्यीकरण को लागू करना
ज्यादातर मामलों में यह सामान्यीकरण एल्गोरिथ्म को लागू करने के लिए आवश्यक नहीं है, और वस्तुओं को फ़िल्टर करना बस काम करता है और आपको दक्षता (रिफ्रेश रेट) तक पहुंचाता है, हालांकि यह पूरी तरह से निर्भर करता है, केस द्वारा केस। हालांकि यह एक आसान एल्गोरिथ्म है जो बस एक बहुभुज के छोटे पक्षों को हटा देता है, आपको एक सीमा को परिभाषित करने की आवश्यकता है जो परिमाण और एक स्थिर संख्या का उत्पाद है, इसलिए बड़े पक्ष बहुत दूर के दृष्टिकोण में फ़िल्टर हो जाते हैं।
लेयर मैनमुलेशन को भूल जाना और केवल ईयूलर्स सामान्यीकरण एल्गोरिथ्म को लागू करना, एक बहुत साफ और निरंतर पद्धति प्रदान करता है जिसमें आप बस एक पूर्व-निर्धारित दहलीज के खिलाफ प्रत्येक पक्ष और रेखाओं की जांच करते हैं और केवल उन्हें दिखाते हैं कि वे स्क्रीन पर भेदभाव करने के लिए काफी बड़े हैं।
पुनश्च: आवर्धन एक फ्लोट संख्या> 0 है जो 1 / स्केल के बराबर है और स्केल आमतौर पर <1 है 1 के बाद से: 1 स्केल का मतलब है कि आपके खेल में वास्तविक दुनिया की लंबाई है।