हैलो, मैं यूनिटी 2 डी का उपयोग करके सी # में 2 डी गेम बना रहा हूं।

गेम मूल रूप से टावर स्टैकिंग गेम है जहां खिलाड़ी को सरणी से यादृच्छिक वस्तुएं दी जाती हैं जिन्हें उन्हें एक दूसरे के ऊपर ढेर करने की आवश्यकता होती है। बॉडी टाइप कीनेमेटिक के साथ स्क्रीन के शीर्ष पर ऑब्जेक्ट स्पॉन होते हैं और प्लेयर इसे केवल एक्स एक्सिस पर ले जा सकता है और जब प्लेयर ऑब्जेक्ट को जाने देता है, तो इसका बॉडी टाइप डायनेमिक में बदल जाता है और यह गिरना शुरू हो जाता है और स्टार्ट प्लेटफॉर्म या टॉवर पर लैंड हो जाता है।

मेरी समस्या यह है कि जब यह नई वस्तु मौजूदा टॉवर या स्टार्ट प्लेटफॉर्म पर लैंड करती है तो यह आसानी से नहीं उतरती है, यह दूसरी वस्तु में जाती है और कभी-कभी उछलती है और वह अक्सर टॉवर पर टिप देती है। और जब ये वस्तुएं एक-दूसरे के ऊपर रहती हैं, तो वे कंपन कर रही होती हैं और टॉवर को उलट देती हैं।

क्या वस्तुओं को स्थिर बनाने और लैंडिंग के समय एक-दूसरे में न जाने का कोई तरीका है?

अग्रिम में धन्यवाद।

0
Dāvids Volohs 24 नवम्बर 2019, 13:41

1 उत्तर

सबसे बढ़िया उत्तर

आप जो वर्णन कर रहे हैं वह सभी भौतिकी इंजनों के साथ एक प्रसिद्ध समस्या और सीमा है।

इसे स्टैकिंग स्थिरता कहा जाता है, और यह हमेशा एक समस्या बन जाती है, यदि आपके पास पर्याप्त मात्रा में भौतिकी वस्तुएं हैं।

वास्तव में एक सरल समाधान नहीं है, यह सही भौतिकी इंजन चुनने, अपनी वस्तु के गुणों को सही ढंग से सेट करने, और यहां तक ​​​​कि अपने स्वयं के कुछ कस्टम कोड डालने का संयोजन है जो संभव होने पर कुछ मुद्दों को रोकने की कोशिश करता है (उदाहरण के लिए द्वारा उन तत्वों पर भौतिकी को अक्षम करना जो ढेर पर बहुत गहरे हैं, इसलिए हम उन्हें "स्थिर" मानते हैं, जब तक कि स्थिति बदल जाती है)।

मैं इसे पढ़ने (और देखने) की सलाह देता हूं, और वहां से, जहां भी लिंक आपको ले जाएगा, वहां से खोज कर।

और जैसा कि मैंने कहा, ध्यान रखें कि यह ... एक सामान्य समस्या है, और कभी-कभी इसे हल करना कठिन होता है। कुछ जटिल मामलों में (आपका उनमें से एक नहीं होना चाहिए), हल करना भी असंभव है।

(उत्तर स्वीकार किए जाने के दो दिन बाद संपादित करें, मुझे इसे तुरंत लिखना चाहिए था, क्षमा करें):

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

0
sh code 29 नवम्बर 2019, 16:41