एक 3 डी टकराव को लागू करने के लिए सबसे अच्छा / कुशल तरीका


16

मैं पहले से ही पिछले गेम के लिए 2d आधारित टकराव प्रणाली प्रोग्राम कर चुका हूं। यह मेरी पहली टक्कर प्रणाली थी और यह बदसूरत थी। मैं सभी वस्तुओं के साथ सभी वस्तुओं की जांच करके वस्तुओं के बीच टकराव की तलाश कर रहा था। मैंने पहले से ही कोशिकाओं के साथ एक ग्रिड प्रणाली के बारे में सुना है जहां एक वस्तु केवल अपने वर्तमान सेल (एस) से अन्य वस्तुओं के साथ टकराव को देखेगा। क्या टकराव की जाँच करना वास्तव में एक अच्छा तरीका है?

मैं एक 3 डी दुनिया में मेरे सभी आइटम गर्त पाश करने के लिए एक अच्छी तकनीक है।

जवाबों:


11

आपको एक अच्छे स्थान-विभाजन एल्गोरिथ्म की आवश्यकता है, आमतौर पर 3 डी में उपयोग किए जाने वाले ऑक्ट्रेसेस हैं

उसके बाद आप बाउंडिंग गोले के साथ मॉडल आदि को घेर सकते हैं जिसमें वे बड़े करीने से फिट होते हैं क्योंकि बाउंडिंग गोले के बीच एक टक्कर की गणना करना बहुत आसान है। जब आप जानते हैं कि दो बाउंडिंग गोले आपस में टकराते हैं, तो आप या तो चलने वाले गोले को छोटा बना सकते हैं और उनमें बंधी हुई वस्तु को रखने के लिए बाउंडिंग गोले जोड़ सकते हैं, या दो जटिल वस्तुओं के बीच टकराव की गणना करने के लिए हमें एक और स्मार्ट एल्गोरिथ्म।

इस छवि को देखें: कई बाउंडिंग गोले


12

अंततः मुझे लगता है कि आपके प्रश्न का उत्तर आपके विशेष एप्लिकेशन की आवश्यकताओं पर निर्भर करने वाला है, क्योंकि सभी समाधान एक-आकार के नहीं हैं। हालाँकि, वेब पर कई सभ्य संसाधन हैं, आप क्रिश्चियन के रियल-टाइम टकराव का पता लगाने के द्वारा अपने आप को बहुत समय और निराशा से बचाएंगे , जो कई तरह की तकनीकों और एल्गोरिदम का विस्तार से वर्णन करता है, उदाहरण के लिए C ++ कोड।

इसने मुझे भव्य प्रणाली बनाने की कोशिश में कूदने से पहले बच्चे के कदम उठाने में मदद की। यह निर्धारित करने के लिए एक फ़ंक्शन लिखना कि क्या कोई बिंदु विमान में है, तो यदि कोई बिंदु एक त्रिकोण में है, यदि एक किरण एक त्रिकोण में है, आदि तो विभिन्न उत्तल ठोसों के स्थिर परीक्षणों पर आगे बढ़ना: AABB बनाम त्रिभुज, आदि के साथ। समय की चीजें जो अभेद्य लग रही थीं (सजा को माफ कर दें) पहले कम कठिन हो गई थी। यहां उदाहरणों के कोड के साथ कई परीक्षणों की एक सूची दी गई है:

http://www.realtimerendering.com/intersections.html

इस बीच, जब से मैं जानता हूं कि हर कोई सिर्फ एक किताब के लिए 70-80 $ का कांटा नहीं लगा सकता है, यहां कुछ ऐसे शब्द हैं जिन पर आप गौर करना चाहते हैं:

  • स्थानिक विभाजन, अष्टक, चतुष्कोणीय, बसपा वृक्ष
  • BIH पेड़
  • बाउंडिंग वॉल्यूम और बाउंडिंग वॉल्यूम पदानुक्रम
  • असतत बनाम निरंतर टकराव का पता लगाना
  • एक्सिस प्रमेय को अलग करना
  • जीजेके एल्गोरिदम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.