मेरे पास एक ऐसा शरीर है जिसमें 10 का द्रव्यमान है, और कार्यक्रम के प्रत्येक चक्र में मैं सरल दृष्टिकोण का उपयोग करके 100 की एक बल लागू करता हूं;बॉक्स 2 डी बॉडी वेग कैप?
Vector2 force = new Vector2(0, 1) * 100;
bod.ApplyForce(force, bod.GetWorldCenter());
यह बहुत अच्छा काम करता है, को तेज करता है और यह सब, लेकिन एक बार यह 10 के वेग (100/10 मुझे लगता है) करने के लिए हो जाता है कि यह किसी भी तेजी से नहीं जाना होगा। मैं किसी भी माध्यम से भौतिक विज्ञानी नहीं हूं, लेकिन मुझे याद है कि शरीर को लगातार बढ़ना चाहिए, जैसे गुरुत्वाकर्षण के तहत। क्या यह गति बॉक्स 2 डी चीजों के तरीके के परिणामस्वरूप सीमित है, या क्या मैं रॉयली को कुछ खराब कर रहा हूं? इसके अलावा, मैं इसे ठीक करने के लिए क्या करूँगा।
नोट: अगर मैं ApplyForce
के बजाय ApplyLinearImpulse का उपयोग मैं एक ही सीमित वेग मिलअद्यतन: मैं समग्र अधिकतम गति सीमा Box2D (b2Settings.h में) द्वारा लगाए गए से अच्छी तरह परिचित हूं। मेरे उदाहरण में, प्रश्न में आइटम लागू सीमा को बदलने के रूप में इस सीमा से नीचे चल रहा है, चाहे वह 1000 या 10000 हमेशा (बल/द्रव्यमान) की अधिकतम वेग तक आ जाए।
यह उचित उत्तर नहीं है लेकिन शायद आपको एक छोटे से समग्र पैमाने पर काम करना चाहिए। इस तरह आप छोटी ताकतों को लागू कर सकते हैं और फिर कुछ बलों की सीमाओं से फंस नहीं पाएंगे। जब आप बहुत बड़े पैमाने पर काम करते हैं तो Box2d अक्सर पसंद नहीं करता है। – phemios
पैमाने ठीक है। किसी ऑब्जेक्ट में 10 किलोग्राम का द्रव्यमान होता है और मैं इसे 100 एनएस का बल लागू कर रहा हूं। कैप्ड की गति 10 मीटर/एस है जो बॉक्स 2 डी के लिए स्केल रेंज में रास्ता है। –
क्या आपने रैखिक धुंधला जांच की है? – Davos555