बाउंडिंग वॉल्यूम पदानुक्रम (BVH) में देखें। वे सबसे अधिक टकराव का पता लगाने के लिए टकराव की गणना करते समय आवश्यक वस्तुओं की संख्या को कम करने के लिए या वस्तुओं पर कुंठित कुल्हाड़ी प्रदर्शन करने के लिए प्रदान करने में उपयोग किए जाते हैं। चूंकि आप पहले से ही गोले का उपयोग कर रहे हैं, इसलिए मैं एक गोले-वृक्ष का सुझाव दूंगा हालांकि अन्य खंड जैसे AABBs अधिक कुशल हो सकते हैं। मुझे यकीन नहीं है कि एकता ने इस तरह की चीजों के लिए किस तरह का समर्थन किया है क्योंकि मैंने इसका इस्तेमाल कभी नहीं किया है, लेकिन इंजन के टकराव का पता लगाने या प्रदान करने वाले हिस्सों के लिए इसके लिए शायद ही कुछ है।
मूल रूप से, आप समूह के दुश्मनों को एक-दूसरे के पास एक साथ कई माता-पिता क्षेत्रों में रखना चाहेंगे। जब एक इकाई को स्थानांतरित किया जाता है, तो आप जाँच करेंगे कि यह प्रत्येक दुश्मन की जाँच करने के बजाय माता-पिता के गोले के विरुद्ध ट्रिगर है। यदि ट्रिगर पेरेंट के गोले के साथ घूमता है, तो आप प्रत्येक दुश्मन की जाँच करेंगे। यदि ऐसा नहीं होता है, तो आप अपने भीतर मौजूद सभी दुश्मनों को त्याग सकते हैं। आप प्रत्येक क्षेत्र के लिए अधिकतम क्षेत्र आकार या शत्रु संख्या के आधार पर कई स्तरों के क्षेत्र निर्धारित करना चाहेंगे और शीर्ष स्तर के क्षेत्र के आधार पर चेक का प्रदर्शन करेंगे। फिर यह प्रत्येक दुश्मन की जाँच करने की आवश्यकता के बिना पेड़ की नीचे चलने की बात है।
प्रत्येक फ्रेम में आवश्यक कदम:
- दुश्मनों को स्थानांतरित करें
- नए दुश्मन पदों के लिए BVH का पुनर्निर्माण / अद्यतन करें
- इकाइयों को स्थानांतरित करें और गोले-वृक्ष के खिलाफ जांचें।
जब दुश्मनों के बहुत सारे हैं, तो यह आवश्यक चेक को कम कर सकता है लेकिन जब वे बहुत सारे नहीं होते हैं, तो पेड़ को अपडेट करने और भंडारण करने का ओवरहेड इसके लायक नहीं हो सकता है। मैं यह जानने के लिए सुप्रीम कमांडर से परिचित नहीं हूं कि आप क्या कर रहे हैं, इसलिए मैं सिर्फ 'सैकड़ों' मान रहा हूं। आपको यह पता लगाने के लिए विभिन्न परिस्थितियों में प्रोफ़ाइल करने की आवश्यकता होगी कि क्या ओवरहेड आपके लिए लायक होगा या नहीं।