में उच्च गति वाले ऑब्जेक्ट को कैसे टक्कर मारें I Android के लिए गेम बनाने का प्रयास करें और मुझे उच्च गति वाली वस्तुओं के साथ समस्या है, वे टकराव नहीं करना चाहते हैं।यूनिटी
मैं क्षेत्र कोलाइडर और बाउंसी सामग्री, और दृढ़ पिण्ड इस परम (गुरुत्वाकर्षण = झूठी, अंतर्वेशन = अमान्य तरीके से, टकराव की जांच = सतत गतिशील)
इसके अलावा, मैं बॉक्स कोलाइडर और बाउंसी सामग्री के साथ 3 दीवारों के साथ क्षेत्र की है।
इस परियोजना सेटिंग्स में मैं सेट क्षेत्र
function IncreaseBallVelocity() {
rigidbody.velocity *= 1.05;
}
function Awake() {
rigidbody.AddForce(4, 4, 0, ForceMode.Impulse);
InvokeRepeating("IncreaseBallVelocity", 2, 2);
}
के लिए मेरे कोड है: "न्यूनतम प्रवेश जुर्माना सेना के लिए" = 0.001, "सॉल्वर interation गणना" = 50
जब मैं शुरू पर खेलने यह ठीक काम करता है (यह उछालता है) लेकिन जब गति अधिक हो जाती है, तो क्षेत्र सिर्फ दीवार को पास करता है।
क्या कोई मेरी मदद कर सकता है?
धन्यवाद।
संपादित
var hit : RaycastHit;
var mainGameScript : MainGame;
var particles_splash : GameObject;
function Awake() {
rigidbody.AddForce(4, 4, 0, ForceMode.Impulse);
InvokeRepeating("IncreaseBallVelocity", 2, 2);
}
function Update() {
if (rigidbody.SweepTest(transform.forward, hit, 0.5))
Debug.Log(hit.distance + "mts distance to obstacle");
if(transform.position.y < -3) {
mainGameScript.GameOver();
//Application.LoadLevel("Menu");
}
}
function IncreaseBallVelocity() {
rigidbody.velocity *= 1.05;
}
function OnCollisionEnter(collision : Collision) {
Instantiate(particles_splash, transform.position, transform.rotation);
}
संपादित अधिक जानकारी जोड़ा
- फिक्स्ड timestep = 0.02 अधिकतम अनुमति Tir = 0.333
- वहाँ संपादक खिलाड़ी में और Android पर खेल चल रहा है कोई फर्क नहीं है
- नहीं। यह ठीक दिखता है जब मैं 0.01 सेट करता हूं 210
- मेरा पैडल Rigidbody के बिना बॉक्स कोलाइडर है, दीवारें एक ही हैं
- भौतिकी में सभी समान परत (जब गति सामान्य होती है यह सभी काम करती है) डिफ़ॉल्ट होती है (छवि में समान होती है) "सॉल्वर इंटरनेशनल कंपनी .. = 50
- नहीं। जब मैं गति बदलता हूं तो यह दूसरी दीवार
- मैं मानक घन का उपयोग कर रहा हूं लेकिन मैं अपनी स्क्रीन और अन्य वस्तुओं को फिट करने के लिए इसे विस्तार/छोटा करता हूं, जब मैं दीवार का विस्तार करता हूं तो यह ठीक है
- नहीं, ये वीडियो http://www.youtube.com/watch?v=edfd1HJmKPY से सरल परियोजना सरल उदाहरण
- है मैं गुरुत्वाकर्षण का उपयोग नहीं करते
मैं भौतिकी 0.01 के लिए निश्चित समय कदम सेट करने का प्रयास किया जाना चाहिए और यह काम किया, अब क्षेत्र अधिक खड़े हो सकते हैं, लेकिन जब वह तेज़ हो मैं एक ही समस्या है। मैं DontGoThroughThings कोशिश, लेकिन मैं नहीं कर रहा हूँ निश्चित रूप से यह सही तरीका है, मैं बस अपने क्षेत्र जेएस स्क्रिप्ट में कोड कॉपी करता हूं, क्या मुझे कुछ और सेटअप करने की आवश्यकता है? – Kec
@ केईसी नहीं, जब तक आपके क्षेत्र में कठोर घटक हो। स्क्रिप्ट केवल बहुत मोटे परीक्षणों के लिए उपयोगी है और यह परीक्षण के लिए आपके ऑब्जेक्ट का केंद्र संभवतः उपयोग करता है। लेकिन चूंकि आपके पास एक क्षेत्र है, इसलिए आप आसानी से कास्ट कर सकते हैं, निकटतम हिट, और यदि वह हिट <आपके क्षेत्र का त्रिज्या है, तो क्षेत्र को रोकें। – Jerdak
मैं विभिन्न कोशिश करता हूं चीजें लेकिन यह काम नहीं कर रही है। अब मेरे पास यह कोड है, तो क्या आप मुझे बता सकते हैं कि क्या बदलना है। मैं ques को कोड जोड़ता हूं tion। मदद के लिए धन्यवाद। – Kec