سؤال

لدي مشكلة مماثلة ل http://farseerphysics.codeplex.com/Thread/View.aspx?ThreadId=72364

لدي جيوم لاعب مستطيل، والعديد من جيوم البلاط المستطيل تصطف بجوار بعضها البعض.

في بعض الأحيان، عندما تعبر جيوم اللاعب بينهما، يبدو أنه يلتصق بزوايا جيوم البلاط ونتيجة لذلك يدور.

حتى عند تحويل لحظة القصور الذاتي إلى ما لا نهاية مما يمنع الدوران، فإن لاعب Geom "يقفز" عندما يقطع الحافة.

وهنا لقطة من Geoms صورة التعثر http://notspike.com/PrototypeG/trip.png

هل هناك أي حل لهذا؟لقد قمت بتجربة منتديات Farseer لكن يبدو أنها غير نشطة إلى حد ما

هنا رابط لمقطع فيديو باستخدام Geom الدائرة للمشغل

http://www.notspike.com/PrototypeG/trip.avi

هل كانت مفيدة؟

المحلول

أود أن أقترح عليك تجنب استخدام البلاطات الصغيرة الموضوعة بجوار بعضها البعض لهندسة تصادم المستوى.على سبيل المثال، على الرغم من أنه من الواضح بصريًا أنك تستخدم المربعات، إلا أنه من الأفضل وصف "الأرضية" في الفيديو على أنها مستطيل طويل ومتصل.وبهذه الطريقة لن يكون لديك هذه المشكلة على الإطلاق ...إن رياضيات النقطة العائمة غير دقيقة بالفعل بما فيه الكفاية وهندسة تصادم التبليط تطالب فقط بحدوث خطأ :-)

نصائح أخرى

لقد حدث هذا من قبل عندما تكون الأشكال صغيرة بما يكفي أو تكون الحركات سريعة بما يكفي بحيث تكون الفترة الفاصلة بين "علامات التجزئة" الخاصة بحسابات الفيزياء كافية للسماح للأشياء بالتداخل قبل بدء اكتشاف الاصطدام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top