2015-12-20 14 views
5

में लिपि द्वारा हिंग संयुक्त की धुरी बदलें, मैं यूनिटी गेम इंजन में HingeJoint (या कॉन्फ़िगर करने योग्य संयुक्त) के साथ कार को चालू करने की कोशिश कर रहा हूं।यूनिटी

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

मैं कुछ समय के लिए उत्तर खोजने की कोशिश कर रहा था, लेकिन मुझे धुरी से संबंधित कुछ भी नहीं मिला।

केवल बात मैंने पाया (विन्यास संयुक्त पर) के बारे में TargetRotation है, जो वास्तव में नहीं है कि मैं क्या देख रहा हूँ क्योंकि मेरा मानना ​​है कि आप इसे काम करने के लिए एक और अक्ष में कुछ सीमा निर्धारित करने के लिए इस प्रकार पहले से ही लचीली जोड़ों बनाने की जरूरत है कि और भी wobble। जाहिर है, मुझे परिणाम अधिनियम को जितना संभव हो उतना कठोर होना चाहिए। फिर भी अगर आपको कुछ विचार है कि TargetRotation के साथ ऐसा कैसे करें, तो कृपया मुझे बताएं, क्योंकि मैं अभी तक यह पहचानने में सक्षम नहीं था कि यह वास्तव में कैसे काम करता है।

मेरा मानना ​​है कि सवाल काफी सरल है, लेकिन यदि आपको लगता है कि सवाल पर्याप्त स्पष्ट नहीं है तो मुझे बताएं ताकि मैं बेहतर स्पष्टीकरण के लिए कुछ तस्वीरें जोड़ूंगा।

संपादित करें: ठीक है, कुछ और जानकारी जोड़ने इसलिए यहाँ सुझाव दिया गया था हम चले:

यहाँ मैं क्या enter image description here

है यू 4 configurablejoints के साथ बॉक्स से जुड़ी सिलेंडरों के साथ अपने सरल बॉक्स देख है । सभी तत्व एक ही रूट स्तर पर हैं और कठोर शरीर संलग्न हैं।

लाल सर्कल में आप इंस्पेक्टर में धुरी जेड मान (-1 से 1) को बदलकर विभिन्न धुरी रोटेशन देख सकते हैं, वाहन को चलाने के लिए मुझे स्क्रिप्ट द्वारा क्या करना है।

Unfortunatelly जब मैं उस तरह लिपि में अक्ष जेड नियंत्रक जोड़ें:

 float steering = Input.GetAxis("Horizontal"); 
     configurableJoint.axis = new Vector3(configurableJoint.axis.x, configurableJoint.axis.y, steering); 

यह इस तरह टूट जाता है: enter image description here

तो क्या मैं चाहूँगा कुछ विचार है कि कैसे इस तरह के समारोह के रूप में, प्राप्त किया जा सकता अच्छी तरह से कोई भी जो मुझे समझा सकता है कि जोड़ों की कुल्हाड़ी कैसे अच्छी होगी। किसी भी प्रयास

+0

जो व्यवहार आप देख रहे हैं उसके बारे में कुछ और जानकारी जोड़ें, स्क्रीनशॉट और कोड स्निपेट अन्य लोगों की सहायता करने में आपकी सहायता करेंगे। –

+0

मुझे सच में नहीं लगता कि इस तरह से आप जानते हैं कि हिंग जोड़ों का उपयोग किया जा सकता है? यह सिर्फ इतना नहीं है कि वे क्या हैं। काफी सरलता से, आप बस "एक ट्रांसफॉर्म का उपयोग करें"।यानी व्हील असेंबली चेसिस का एक बच्चा है। यही सब है इसके लिए। (केवल 'ट्रोटेट' बाल परिवर्तन - कोई बड़ा सौदा नहीं। – Fattie

+0

यह ध्यान देने योग्य है कि यह एक कार रिग बनाने के लिए अविश्वसनीय रूप से जटिल इंजीनियरिंग है - इसमें 1-2 व्यक्ति साल का काम लगता है। यूनिटी में हर कार प्रोजेक्ट बस इतना ही उपयोग करता है संपत्ति स्टोर से प्रसिद्ध "एडीज वाहन भौतिकी" (या एडी के नए प्रतिद्वंद्वियों में से एक !!) यह बहुत मुश्किल है कि वहां वास्तव में कोई विकी, समुदाय, आदि प्रयास नहीं हैं। इसके शीर्ष पर यह पूरी तरह से w/unity 5 बदल गया है क्योंकि वे पूरी तरह से बदल गया "व्हील कोलाइडर" (जो अविश्वसनीय रूप से विचित्र होता था और अब केवल विचित्र है)। – Fattie

उत्तर

0

मेरा अनुमान है कि यह है कि आप माता-पिता के लिए कार के शरीर के लिए पहियों की आवश्यकता होगी, और उसके बाद के लिए पहले से

धन्यवाद पहियों अपनी स्क्रिप्ट में कार शरीर के सापेक्ष बारी बारी से।

यह मदद करेगा यदि आप एक साधारण यूनिटी प्रोजेक्ट प्रदान कर सकते हैं जिसे डाउनलोड किया जा सकता है, प्रयोग किया जा सकता है, और समस्या को डुप्लिकेट करने और इसे ठीक करने के लिए tweaked किया जा सकता है। अगर आप समस्या का एक सरल प्रदर्शन भेजना चाहते हैं तो मैं आपकी मदद करने में प्रसन्न हूं इसलिए मैं इसे ठीक करने का प्रयास कर सकता हूं।