2012-03-01 14 views
5

ठीक है तो यह समस्या मुझे सबसे लंबे समय तक परेशान कर रही है। क्या कोई मुझे दिखा सकता है या मुझे एल्गोरिदम पर इंगित कर सकता है जो जीटीए 2 की तरह कार को नियंत्रित कर सकता है? 3 दिनों के शोध के बाद मैं पहियों और अलग-अलग पहियों और इस तरह के पिवट और जोड़ों का उपयोग करने के लिए इन सभी एल्गोरिदम के साथ आ सकता था। क्या जीटीए 2 की तरह सरल कार आंदोलन हासिल करने का यही एकमात्र तरीका है?कार भौतिकी की तरह जीटीए 2, लेकिन बेहद सरलीकृत

मैं बिना किसी पहियों के आयताकार पर एल्गोरिदम का उपयोग करने में सक्षम होना चाहता हूं लेकिन फिर भी कार बहाव करने में सक्षम होना चाहता हूं। क्या यह संभव है? वैसे, मैं 2 डी गेम के लिए बॉक्स 2 डी का उपयोग कर रहा हूं।

मुझे पता है कि यह gamedev के लिए अधिक उपयुक्त है लेकिन किसी कारण से मैं प्रश्न पोस्ट नहीं कर सकता।

+0

यह वास्तव में व्यापक है ... सुनिश्चित करें कि यह संभव है, आपको किस हिस्से में समस्याएं हैं? – iforce2d

+0

मुझे लगता है कि मैं जिस समस्या का सामना कर रहा हूं वह जावा में एक साधारण एल्गोरिदम लागू कर रहा है जिसे गेम के जीटीए 2 की तरह कार ड्राइव करने के लिए हर फ्रेम पर कहा जाता है। –

+2

ठीक है तो जिस हिस्से में आपको समस्याएं आ रही हैं वह है ... पूरी बात :) मैं आपको कुछ विशिष्ट व्यवहार की उम्मीद कर रहा था, उदाहरण के लिए मुझे लगता है कि कार के किनारे की गति को रद्द करना एक सामान्य आवश्यकता होगी। मैं सोच रहा था कि क्या आपने इसे देखा था: http://www.iforce2d.net/b2dtut/top-down-car पहला भाग एक ही शरीर पर लागू कुछ सामान्य टॉप-डाउन कार भौतिकी सामग्री को देखता है। बाद में यह उन चार निकायों को पहियों के रूप में उपयोग करता है लेकिन यदि आप चाहें तो एकल शरीर को कार के रूप में देख सकते हैं। – iforce2d

उत्तर

7

एक साधारण उत्तर जो कुछ बड़ा हो सकता है, इसलिए मैं परिष्कार के बढ़ते क्रम में विभिन्न बिंदुओं को प्रस्तुत करके व्याख्या करने की कोशिश करूंगा। मैं भौतिकी का बुनियादी ज्ञान मानता हूं।

  1. एक निश्चित मोड़ त्रिज्या (बहुत बुरा नहीं है, तो आप एक कीबोर्ड का उपयोग कर रहे हैं काफी कष्टप्रद है, अगर आप एक एनालॉग नियंत्रक है) मान लें। त्रिज्या अच्छा लगता है यह जानने के लिए अलग-अलग पदों की कोशिश करने की तरह कुछ भी नहीं।

  2. मान लें कि आपके पास ऐसे पहिये हैं जो प्रारंभ में आगे बढ़ रहे हैं और जब आप मोड़ कुंजी दबाते हैं तो वे क्रमशः अधिकतम संभव हो जाते हैं। इसका मूल रूप से त्रिज्या को अनंत से अपने सबसे छोटे संभावित त्रिज्या में कम करना है (आप पहियों के कोण और त्रिज्या के बीच संबंधों को आसानी से समझ सकते हैं)। यदि आपके पास एनालॉग नियंत्रक है तो त्रिज्या को एनालॉग इनपुट के निरंतर मानों द्वारा नियंत्रित किया जाना चाहिए।

  3. सेनाओं को प्रवेश करने दें! जब आप एक कार में बदल रहे हैं, तो आप केवल एक सेंट्रिप्टल त्वरण के कारण बदल जाते हैं। वह केन्द्रापसारक त्वरण एक बल के कारण होता है जो वास्तव में सड़क के साथ कार का घर्षण होता है। आप घर्षण को निरंतर और अपने वाहन के द्रव्यमान को बड़ी समस्याओं के बिना स्थिर मान सकते हैं, फिर आपके पास कार की गति और महत्वपूर्ण त्रिज्या (न्यूनतम त्रिज्या आप वेग को बदल सकते हैं) के बीच एक रिलायटशिप कर सकते हैं। Centripetal त्वरण एक = वी^2/आर = घर्षण/द्रव्यमान तो महत्वपूर्ण त्रिज्या आर = वी^2 * द्रव्यमान/घर्षण है। आप इस बात पर विचार कर सकते हैं कि इससे कोई फर्क नहीं पड़ता कि आप वाहन को कितना बदलते हैं, कम से कम, इस वक्र का वर्णन करेंगे। यह आपको एक अच्छा सिमुलेशन देना चाहिए लेकिन फिर भी "हारने का नियंत्रण" महसूस नहीं करना चाहिए। इसके लिए अगला बिंदु देखें! circular motion

  4. सिद्धांत बिल्कुल बिंदु के समान ही है लेकिन मुख्य बात यह है कि वास्तविकता में घर्षण निरंतर नहीं है। वास्तव में, स्थैतिक घर्षण हमेशा गतिशील घर्षण होगा। अभ्यास में, आपके पास स्थिर घर्षण और एक (छोटा) गतिशील घर्षण होना चाहिए। आप स्थैतिक घर्षण के अनुसार आर की गणना करते हैं और जब आपका वेग उस आर को प्राप्त करने के लिए बहुत बड़ा होता है (यह तब होता है जब आप बहाव करेंगे) तो आप गतिशील घर्षण का उपयोग करके नई आर की गणना करना शुरू कर देते हैं। यह आपको खोने वाली नियंत्रण महसूस करेगा लेकिन वाहन अभी भी स्पिन नहीं करेगा। Friction

  5. आदेश स्पिन को देखने के लिए, आप हर पहिया में लागू बलों पर विचार करने के लिए होता में (यह तथ्य यह है कि विभिन्न पहियों विभिन्न बलों है कि कार स्पिन बनाता है के तहत कर रहे हैं) और कुछ और अधिक उन्नत भौतिकी पर विचार इस तरह के जैसे पहियों ड्राइविंग पहियों हैं और गतिशील घर्षण पर भी स्थिर नहीं मानते हैं। हालांकि मुझे विश्वास है कि यह आपके दायरे से बाहर है।

  6. वैकल्पिक रूप से आप ऐसा कुछ कर सकते हैं जो जीटीए 2 करना चाहता था। जिस क्षण आप जानते हैं कि आप बहाव करने जा रहे हैं या बहुत अधिक बह रहे हैं (आप यहां एक सीमा तय करते हैं) केवल प्रोग्रामेटिक रूप से वाहन को नियंत्रण और स्पिन खो देते हैं।

आशा है कि इससे मदद मिलेगी, अगर आपके पास कोई विशिष्ट संदेह है तो पूछें।

1

मुझे http://www.banditracer.eu/carexample/ ने कार आंदोलन दिखाने के लिए Box2D का उपयोग करने के लिए एक सरल उदाहरण प्रदर्शित किया। http://www.banditracer.eu/ में एक ओपन सोर्स गेम है जिसे आप देख सकते हैं कि इसमें आपके लिए चलने वाले स्थानांतरण की गति है या नहीं। आप कोड देख सकते हैं और देख सकते हैं कि उन्होंने बहती हुई आवाजाही को कैसे संभाला और अपनी परियोजना के लिए भी ऐसा ही किया।

संबंधित मुद्दे