एक माउस का पालन करने के लिए एक 2 डी "पिक्सेल" बादल हो रही है


10

मैं एक 2 डी गेम पर काम कर रहा हूं जो कुछ सौ छोटे क्यूब्स या डिस्क को "क्लाउड" प्राप्त करने की कोशिश कर रहा है ताकि एक दूसरे को ओवरलैप किए बिना मेरे माउस कर्सर का पालन कर सकें।

हालाँकि, भौतिकी इंजन का उपयोग प्रदर्शन की सुस्ती का परिचय देता है क्योंकि डिस्क की संख्या बढ़ती है और टकराव का पता लगाने का काम आम तौर पर होता है।

क्या इस तरह की चीज के लिए इंजन को अनुकूलित करने का एक आसान तरीका है? यदि नहीं, तो क्या मैं इंजन को बंद करने और अपने स्वयं के कुछ लिखने से बेहतर होगा? (यहाँ तिनके पर दबाना, लेकिन :) क्या कोई अच्छा संसाधन या उदाहरण हैं कि यह कैसे करना है?

जवाबों:


13

हां, इसके लिए एक भौतिकी इंजन का उपयोग करना थोड़ा भारी होगा। मेरा सुझाव है कि आप एक आते एल्गोरिदम को लागू करें। जिसके मूल हैं:

  • पृथक्करण: स्थानीय झुंडों की भीड़ से बचने के लिए स्टीयर

  • संरेखण: स्थानीय झुंड के औसत शीर्ष की ओर कदम

  • सामंजस्य: स्थानीय झुंड के औसत स्थिति की ओर बढ़ने के लिए स्टीयर

आप इसे यहां कार्रवाई में देख सकते हैं और इसके कार्यान्वयन पर कुछ विवरण प्राप्त कर सकते हैं । आप माउस पॉइंटर की ओर एक बल लगाने के लिए कुछ मामूली ट्विकिंग करेंगे।


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