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