विमुद्रीकरण "विस्तार के chunked स्तर"


17

अभी हाल ही में एकता में विस्तार प्रणाली के एक स्तर को लागू करने की भावना बनाने की कोशिश कर रहा है। मैं चार जाल विमानों का निर्माण करने जा रहा हूं, जिनमें से प्रत्येक ऊंचाई के नक्शे के साथ हैं, लेकिन मुझे लगता है कि फिलहाल बहुत महत्वपूर्ण नहीं है। इस तकनीक के बारे में पढ़ने के बाद मेरे पास बहुत सारे सवाल हैं, मुझे आशा है कि यह सब एक बार में पूछने के लिए बहुत ज्यादा नहीं है, लेकिन मैं किसी के लिए इस तकनीक की समझ बनाने में मदद करने के लिए बहुत आभारी रहूंगा।

1 : मैं यह नहीं समझ सकता कि किस बिंदु पर Chunked LOD पाइपलाइन है कि जाली चंक्स में विभाजित हो जाती है। क्या यह प्रारंभिक मेष पीढ़ी के दौरान है, या एक अलग एल्गोरिथ्म है जो ऐसा करता है।

2 : मैं समझता हूँ कि एक Quadtree डेटा संरचना स्टोर करने के लिए प्रयोग किया जाता है chunked LOD डेटा, मुझे लगता है कि मैं बिंदु थोड़ा याद कर रहा हूँ, लेकिन quadtree प्रत्येक उपखंड स्तर के लिए शीर्ष और त्रिकोण डेटा भंडारण है?

3a : आमतौर पर कैमरे की दूरी की गणना कैसे की जाती है। क्वाडट्री के बारे में पढ़ते समय एक्सिस-एलाइनिंग बाउंडिंग बॉक्स का काफी उल्लेख किया गया है। इस मामले में प्रत्येक चैंक के पास कैमरा या खिलाड़ी का पता लगाने के लिए एक टक्कर बाउंडिंग बॉक्स होगा? या ऐसा करने का एक बेहतर तरीका है? (शायद शायद?)

3 बी : क्या कैमरे खुद दूरी की गणना करते हैं?

4 : क्या प्रत्येक चंक का एक ही "रिज़ॉल्यूशन" होता है। उदाहरण के लिए शीर्ष स्तर पर जाल 32x32 होगा, क्या प्रत्येक उप-विभाजित नोड भी 32x32 होगा। नीचे उदाहरण:

चोक एलओडी का उदाहरण


अगर किसी को एक प्रक्रियात्मक ग्रह के लिए एक बेहतर एलओडी दृष्टिकोण पता है जो दिलचस्प भी होगा।
कैयस यूजीन

मुझे लगता है कि आप पहले से ही थैचर उलरिच के मूल SIGGRAPH कागज और संबंधित कार्यक्रम को देख चुके हैं? tulrich.com/geekstuff/chunklod.html
drxzcl

मेरे पास, यह एक बिंदु तक बहुत जानकारीपूर्ण है, लेकिन यह विस्तार के प्रकार में नहीं जाता है, या कार्यान्वयन के लिए दृष्टिकोण करता है। धन्यवाद
सायस यूजीन

1
यहां ग्रह LOD के लिए कई विकल्प हैं; vterrain.org/LOD/spherical.html
OriginalDaemon

जवाबों:


12

1: मैं यह नहीं समझ सकता कि किस बिंदु पर Chunked LOD पाइपलाइन है कि जाली चंक्स में विभाजित हो जाती है। क्या यह प्रारंभिक मेष पीढ़ी के दौरान है, या एक अलग एल्गोरिथ्म है जो ऐसा करता है।

यह मायने नहीं रखता। उदाहरण के लिए, आप अपने जाल पीढ़ी एल्गोरिथ्म में chunking को एकीकृत कर सकते हैं। आप इसे गतिशील रूप से भी कर सकते हैं, ताकि प्लाज्मा-जैसे परिशोधन एल्गोरिथ्म का उपयोग करके निचले स्तर को गतिशील रूप से जोड़ा जाता है (जैसे खिलाड़ी करीब जाता है)। आप कलाकार इनपुट या ऊंचाई माप डेटा से एक उच्च-रिज़ॉल्यूशन जाल भी उत्पन्न कर सकते हैं और इसे संपत्ति के अंतिम समय पर सभी एलओडी चंक्स में एकत्र कर सकते हैं। या आप मिक्स-एंड-मैच कर सकते हैं। यह वास्तव में आपके आवेदन पर निर्भर करता है।

2: मैं समझता हूं कि एक Quadtree डेटा संरचना का उपयोग Chunked LOD डेटा को संग्रहीत करने के लिए किया जाता है, मुझे लगता है कि मुझे बिंदु थोड़ा याद आ रहा है, लेकिन क्या प्रत्येक उपखंड स्तर के लिए quadtree भंडारण वर्टेक्स और त्रिकोण डेटा है?

जरुरी नहीं। पेड़ सिर्फ ज्यामिति के बारे में जानकारी रखता है और इसे कैसे प्रस्तुत करना है। इसका मतलब यह हो सकता है कि प्रत्येक ट्री नोड में एक वर्टेक्स / फेस लिस्ट हो। इस दिन और उम्र में अधिक वास्तविक रूप से, आप GPU मेमोरी में मेश / इंस्टेंस के हैंडल को स्टोर करेंगे।

3 ए: आमतौर पर कैमरे की दूरी की गणना कैसे की जाती है। क्वाडट्री के बारे में पढ़ते समय एक्सिस-एलाइनिंग बाउंडिंग बॉक्स का काफी उल्लेख किया गया है। इस मामले में प्रत्येक चैंक के पास कैमरा या खिलाड़ी का पता लगाने के लिए एक टक्कर बाउंडिंग बॉक्स होगा? या ऐसा करने का एक बेहतर तरीका है? (शायद)

एक बहुत ही सस्ता और आसान विकल्प यह है कि चंक के केंद्र बिंदु तक दूरी का उपयोग करें और फिर इसे सही करें। आप जानते हैं कि यह दूरी हमेशा कम होती है: अगर केंद्र बिंदु दूरी पर है Z, तो इसका मतलब है कि आधा हिस्सा उससे ज्यादा करीब है। हालांकि जो हम नहीं जानते हैं वह अभिविन्यास है। यदि हम चौड़ाई wकिनारे का हिस्सा देख रहे हैं, तो चंक का सबसे निकटतम हिस्सा दूरी पर होगा Z-w। हालांकि, अगर हम चंक कॉर्नर-प्रथम देख रहे हैं, तो निकटतम बिट दूरी पर होगा Z-sqrt(2)*w। यदि आप इस अनिश्चितता (आप लगभग हमेशा कर सकते हैं) के साथ रह सकते हैं, तो आप कर रहे हैं। ध्यान दें कि आप मूल त्रिकोणमिति का उपयोग करके देखने के कोण के लिए भी सही कर सकते हैं।

मैं कैमरे से कलाकृतियों को कम करने के लिए कैमरे से पूर्ण न्यूनतम दूरी की गणना करना पसंद करता हूं। व्यवहार में, इसका मतलब है कि एक बिंदु-वर्ग दूरी परीक्षण करना । केंद्र बिंदुओं की दूरी की गणना करना थोड़ा अधिक काम है, लेकिन ऐसा नहीं है कि आप इन हर फ्रेम का एक ज़िलियन करेंगे।

यदि आप ऐसा करने के लिए अपने भौतिकी इंजन का लाभ उठा सकते हैं तो हर तरह से ऐसा कर सकते हैं, लेकिन आप वास्तव में "टक्कर" के बजाय "दूरी क्वेरी" के संदर्भ में इसके बारे में अधिक सोचना चाहते हैं।

3 बी: क्या कैमरे खुद दूरी की गणना करते हैं?

यह वास्तव में आपके इंजन के डिजाइन पर निर्भर करता है। मैं पत्तियों को अपेक्षाकृत हल्के वजन रखने की सलाह दूंगा। आपके प्लेटफ़ॉर्म के आधार पर, कुछ हज़ार इलाक़ों वाले चांसों के कॉल ओवरहेड अपने स्वयं के अपडेट का प्रदर्शन करते हैं, हर फ्रेम गंभीरता से प्रदर्शन को प्रभावित कर सकता है।

4: क्या प्रत्येक चंक का एक ही "रिज़ॉल्यूशन" होता है। उदाहरण के लिए शीर्ष स्तर पर जाल 32x32 होगा, क्या प्रत्येक उप-विभाजित नोड भी 32x32 होगा।

वे करने के लिए नहीं है, लेकिन यह सुविधाजनक है अगर सभी हिस्सा एक ही राशि का स्थान लेते हैं। फिर आप अपने (जीपीयू) मेमोरी मैनेजमेंट को "चंक्स" की इकाइयों में कर सकते हैं। यदि एक रिज़ॉल्यूशन एक से अधिक है, तो वे विभिन्न आकारों के दो हिस्सों के बीच सीम को निकालना / छिपाना आसान है क्योंकि वे अधिक वर्टिकल साझा करते हैं। (उदाहरण: 32x32 और 64x64 32x32 और 57x57 की तुलना में प्रबंधित करना आसान है) (धन्यवाद Guiber)। यदि आपके पास chunk ज्यामिति के आकार को अलग करने का एक अच्छा कारण है, तो हर तरह से इसके लिए जाएं।


2
यदि एक रिज़ॉल्यूशन एक से अधिक है, तो वे विभिन्न आकारों के दो भाग के बीच सीम को निकालना / छिपाना आसान है क्योंकि वे अधिक वर्टिकल साझा करते हैं। (उदाहरण: 32x32 और 64x64 32x32 और 57x57 की तुलना में प्रबंधित करना आसान है)
अलैरिक

शानदार जवाब, यह बहुत कुछ साफ कर दिया है। विशेष रूप से कि इंजन की क्षमताओं पर विचार करने के लिए बहुत सारे कार्यान्वयन नीचे हैं। 3 ए के साथ मैं अभी भी अनिश्चित हूं कि कब एक दूरी क्वेरी को फायर करना है, दो कार्यान्वयन मैंने ध्वनि सीपीयू को भारी माना है, मैं इस पर कुछ और शोध करूंगा। धन्यवाद
सायस यूजीन

1
@ कैस यूजीन: मुझे लगता है कि आप अपनी दूरी के निर्धारण पर विचार कर रहे हैं। मैंने बिंदु 3 ए पर जवाब के लिए एक बहुत सस्ता, बहुत ही बुनियादी एल्गोरिथ्म जोड़ा, जिसे आपको शुरू करना चाहिए।
drxzcl
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.