كيف يمكنك الاحتفاظ بمنظر علوي للقطار على المسارات باستخدام محرك الفيزياء Box2D؟

StackOverflow https://stackoverflow.com/questions/616375

  •  03-07-2019
  •  | 
  •  

سؤال

أعتقد أنه سيكون من الممتع تصميم منظر علوي لقطار يتبع مسارًا، ويمر عبر المفاتيح، وما إلى ذلك، باستخدام مكتبة فيزيائية مثل Box2D.ما هي المفاصل والمحركات التي سأحتاجها لإنجاز هذا العمل؟

أشعر بالفضول لمعرفة كيفية تنفيذ القوى اللازمة لجعل السيارة تتبع مسارًا متعرجًا حتى تتمكن من الاصطدام بعربات القطارات الأخرى والمشاة وDeLoreans وما إلى ذلك.مجرد قول "السيارة الآن عند الشريحة (t)" في كل خطوة زمنية من شأنه أن يخلق قوى مفرطة في محرك الفيزياء.إذا فهمت الأمر بشكل صحيح، يتعين عليك تثبيت السيارة على المسار بقوة واحدة، وتقييد زاويتها لتتجه نحو التوازي مع المسار بقوة أخرى (أو تثبيت الجزء الأمامي والخلفي من السيارة على المسار باستخدام قوتين)، وإنشاء قوة أخرى لدفع القطار إلى الأمام.أبحث عن بعض التفاصيل حول كيفية تحقيق هذه الأشياء.

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

المحلول

وأعتقد أنه سيكون من الأسهل دون الفيزياء "الحقيقي"، مثل حركة الكرة من الألعاب مثل الأقصر أو تعثر البق. يعني: لندع القطار متابعة لسين الذي تم تعريفه من قبل المسارات

.

وعن طريق phyiscs ربما مبالغة لجعل القطار تتبع المسار ويمكن أن يؤدي إلى جميع أنواع غير مرغوب فيها من الآثار الجانبية، بما في ذلك حركة متشنج، عرقلة القطار، قطار يعلقوا على التقاطعات، وما إلى ذلك.

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

نصائح أخرى

لماذا أنت قلق على ابقائها "على المسارين"؟ أين هو ذاهب أن تذهب؟ خطورة يجب الحفاظ عليه، يجب أن تقاطع الكائن يبقيه، وبالتالي فإن الاتجاهات الوحيدة التي داعي للقلق بشأن هم إلى الأمام وإلى الوراء. وهنا يأتي دور محرك في، والانتهاء من ذلك. والباقي هو الزينة.

في استجابة لتعديل المشكلة:

وSiderails. ويكون القطار طويلة بما فيه الكفاية / جامدة بما فيه الكفاية مقارنة عرضه يمكنك التنقل المعابر (جعلها أقرب إلى الزوايا للحد من المشاكل المعبر.

وجهة نظر من أعلى إلى أسفل (أي رؤية القطار من السماء) لا يحتاج حقا محرك 2d الفيزياء - إذا كنت فهمت بشكل صحيح. في الواقع، يبدو أنها لن تساعد حقا مع هذه المشكلة (إذا كنت تريد محاكاة القطار)، ولكن بعد ذلك ربما كنت فقط أريد أن تجربتها من أجل المتعة. :)

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

ونوعا من كرة مشتركة سوف يربط السيارات معا.

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

نظرًا لكونك من أعلى إلى أسفل، فمن الواضح أنه يجب عليك أولاً إيقاف الجاذبية في Box2D.ثانيا، بناء القطار.تعامل مع عجلات القطار مثل عجلات السيارة وسيصبح الأمر فجأة أكثر بساطة.بالنسبة للمسارات، لديك بعض الخيارات:

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

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

إذن دع قطارك ينطلق!

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