الموارد لفيزياء اللعبة ثنائية الأبعاد [مغلقة

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

  •  03-07-2019
  •  | 
  •  

سؤال

أنا أبحث عن بعض المراجع الجيدة لتعلم كيفية تصميم الفيزياء ثنائية الأبعاد في الألعاب. انا ليس أبحث عن مكتبة للقيام بذلك من أجلي - أريد أن أفكر والتعلم ، وليس استخدام عمل شخص آخر.

لقد قمت بقدر كبير من googling ، وبينما وجدت بعض البرامج التعليمية على Gamedev ، وما إلى ذلك ، أجد أن برامجهم التعليمية يصعب فهمها لأنها إما مكتوبة بشكل سيء ، أو افترضوا مستوى من الفهم الرياضي الذي لا ألتزم به. ر حتى الآن.

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

مواقع الويب ، الكتب الموصى بها ، المدونات ، أمثلة رمز - كلها مرحب بها إذا كانت ستساعد على الفهم. أنا أفكر في استخدام C# و F# لإنشاء لعبتي ، لذا فإن أمثلة رمز في أي من هذه اللغات ستكون رائعة - لكن لا تدع اللغة تمنعك من نشر رابط جيد. =)

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

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

المحلول

إليك بعض الموارد التي جمعتها قبل بضع سنوات. من الجدير بالملاحظة تكامل Verlet. أقوم أيضًا بتضمين روابط لبعض محركات الفيزياء المفتوحة المصدر والتجارية التي وجدتها في ذلك الوقت. هناك مقالة stackoverflow حول هذا الموضوع هنا: فيزياء اللعبة 2D؟

طرق الفيزياء

كتب

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

محركات الفيزياء

نصائح أخرى


(مصدر: oreilly.com)

الفيزياء لمطوري الألعاب بقلم أوريلي

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

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

  2. الحركية/الديناميات. كتب كريس هيكر ممتاز مورد عبر الإنترنت التي سارتني من خلال استجابة التصادم خطوة بخطوة.

  3. كل شيء آخر. بمجرد الانتهاء من اكتشاف/استجابة التصادم ، فإن الأمر يتعلق بتنفيذ كل شيء آخر تريده في المحرك. يمكن أن يشمل ذلك الاحتكاك ، وقوى الاتصال ، والمفاصل ، إلى جانب أي شيء آخر يمكنك التفكير فيه.

استمتع! يعد إنشاء محاكاة الفيزياء الخاصة بك تجربة مجزية بشكل لا يصدق.

هذا برنامج تعليمي رائع يوضح مفاهيم الفيزياء ثنائية الأبعاد باستخدام Flash وليست محددة لـ Flash.http://www.rodedev.com/tutorials/gamephysics/game_physics.swf

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

الاستجابة الأصلية:

ماذا ، لا ذكر ل Box2d؟ إنه مشروع جانبي مفتوح المصدر لموظف عاصفة ثلجية ، ويحتوي على مجتمع جيد ، ويعمل بشكل رائع.

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

إذا حكمنا من خلال ملصقات المنتدى ، يبدو أن المديرين كانوا متقبلين للمساهمات المصدر (التي لم تحمل أمتعة ترخيص).

بدا Solver الذي يعتمد على الجزيرة سريعًا جدًا ، كما كنت أتوقع من سمعتها ، وليس أنني أجريت أي اختبار كبير للأداء.

F# لديه ميزة تسمى وحدات القياس وهو تحليل الأبعاد بالنسبة لك ، وتوفير الأخطاء إذا أخطأت. على سبيل المثال إذا قلت:

let distance : float<meters> = gravity * 3.0<seconds>

من شأنه أن ينتج عن ترجمة خاطئ ، لأن الجاذبية <متر/ثانية^2> وليس <cters>. أيضًا ، نظرًا لأن F# هو فقط .NET ، يمكنك كتابة رمز الرياضيات/الفيزياء في مكتبة الفصل والرجوع إلى ذلك من C#.

سأقوم بتوصيفك تحقق من منشورات المدونة هذه لمزيد من المعلومات:

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

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