موضوع: ما هو collision detection System?

ردود: 14 | زيارات: 1916
  1. #1
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50

    Unhappy ما هو collision detection System?

    السلام عليكم ورحمة الله
    أخوانى وأخواتى أعضاء منتدانا الجميل
    انا اريد أن اعرف ما هو collision detection System? بمعناه العام
    وماهى الطريقه العامه التى يعتمد عليها أى مبرمج فى اكتشاف التصادمات هل هى
    if carpos.x > 120 and carpos.z<56 then
    ينفذ حدث التصادم
    end if
    لو كان كشف التصادمات كالآتى كان كل كود اللعبه جمل IF فانا أريد طريقه غير هذه الطريقه
    على سبيل المثال لو توجد سياره فى ارض بها انزلاقات ويوجد يرجل نريده عندما يصل إلى بدايه المزلقان يطلع لوحده
    فكيف ؟؟؟؟؟؟؟ هل سنذهب لجملة IF
    فسمعت أنها توجد طريقه لكشف التصادمات وهى collision detection System اسهل من جمل IF
    فأريد ان اعرف ما هى ؟؟؟؟؟؟؟؟؟
    ارجوكم ارجو المساعده !!!!!!!!!!!!


    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله


  2. #2
    السلام عليكم ورحمة الله


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

    أما بالنسبة للتصادم :

    if carpos.x > 120 and carpos.z<56 then
    ينفذ حدث التصادم
    end if

    فهذا ليس عمليا البته , حيث أنه يحتاج الى عدد هائل من الأسطر ويستهلك جهد حسابي كبير.
    وإذا كنت مصمما على جعل التصادم بتلك الطريقه فيجب عليك تقسيم المنطقه الى أجزاء ويكون الكود كذلك :

    إذا كانت الشخصيه في الغرفه1 فـ:
    اذا كان الاحداثي السيني للشخصيه أكبر من احداثي الجدار1 فلا تسمح لها بالمرور

    ولكن كما قلت لك انه ليس عمليا ولا يدعم الأشكال الهندسيه المعقده , بل انه لا يدعم السهل منها عدا المربعات , فلا انصحك بها اطلاقا.
    وشكرا

  3. #3
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50
    مشكوووووور أخى على ردك
    ولكن أنت قلت أن هذه الطريقه غير عمليه ولا تدعم الأشكال الهندسيه المعقده
    معنى كلامك أنها توجد طريقه أخرى فهل من معلومات عنها ؟؟؟؟؟
    اما بالنسبه للمحرك الفيزيائى فهل توجد أى وصلات أو كتب تتكلم بشكل عام عن الفيزياء فى تصادمات السيارات
    أكوووووون شاكر جداً

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

  4. #4
    السلام عليكم

    بالنسبة للفيزياء للسيارات فأظن ان هذه الوصله ستفيدك :
    http://home.planet.nl/~monstrous/tutcar.html

    أما بالنسبة للتصادم , فهو موال طويييييييييل أرى من رأيي انه من الافضل ان تتركه كنقطه أخيره

    تحياتي

  5. #5
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50
    شكراً أخى على هذه الوصله الجميله
    هى وصله مفيده حقاً أنا نظرت عليها نظره سريعه فقط
    ولكن من الظاهر أنها وصله مفيده جداً شكراً مره أخرى

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

  6. #6
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50

    Unhappy

    اقتباس الموضوع الأصلي كتب بواسطة high volt
    أما بالنسبة للتصادم , فهو موال طويييييييييل أرى من رأيي انه من الافضل ان تتركه كنقطه أخيره
    انا اعلم أن التصادم موال طويل
    لذلك فأنا أريد تعلمه أو أى وصله له أو أى كتاب حتى

    38 واحد شاهدوا الموضوع ولا يوجد سوى أخ واحد هو الذى يرد علي
    اين باقى الأخوه ؟؟؟؟؟؟؟؟؟؟؟؟؟

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

  7. #7
    اذا تريد تصادم دقيق يأخذ الاشكال الهندسية المعقدة بعين الاعتبار فلا أعرف لكن اعتقد ان العملية ستكطون معقدة و أغلب الالعاب تحاول الابتعاد عنها .. لذلك يستخدمون bounding box يعني مكعب وهمي يحيط باللاعب او الشيء و التصادمات تكون عن طريق هذا الصندوق ..
    طبعا لن تقوم بكتابة if else دائما فهذه طريقة غير عملية, و لكن مثلا ممكن تقوم بعمل function ياخذ مكان الصندوق و أبعاده و يخبرك اذا ما كان الصندوق يصطدم بأي شيء في هذا المكان ..
    و كما قلت هذ مجرد مثال. ستقولي ماذا بداخل هذا الـ function؟ سأقولك هذا يختلف من محرك الى آخر .. و سؤالك ليس له جواب واحد فهو سؤال عام جدا ..
    تخيل واحد سألك "ما هي احسن طريقة لأبرمج لعبة؟" ليس هناك اجابة لهذا السؤال .. لأن هذا بصراحة ليس سؤال ..!!

    تريد نصيحة .. لا تعتمد فقط عالسؤال, و لكن ابحث عن العاب مفتوحة المصدر و شوف كيف يقومون بالتصادم .. او افضل لو تلقي درس يشرح كيف تقوم لعبة معينة مفتوحة المصدر بهذا الشي ..

  8. #8
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50
    شكراً على ردك أخى Hassan-rtaq & Hight-Volt
    وسأحاول بإذن الله التوصل لهذا اللغز المعقد

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

  9. #9
    hasan-rtaq
    إضافة إلي ما قاله

    شرط التصادم :
    if dist>r1+r2
    إذن هناك تصادم
    غير ذلك لا يوجد تصادم

    دالة المسافة في بعدين : في بعد ثالث ضف المتغير z فقط .
    distance(x,y)=Root (x2-x1)+(y2-y1
    هي الجذر التربيعي لفرقة المتجهات للشخصتين " اقرأ قليلاً عن الهندسة التحليلية في الفراغ و المستوي " .
    مشكلة الجذر :
    المعالج يستهلك عدد من الدورات لانجاز دالة الجذر
    لذا ابحث في الانترنت عن الكود المعادل للاسيمبلي لدالة الجذر ; لتسرع العملية ..
    رب زدنِى علماً
    جيتس و اينشتين احدثوا ثورة في مجالاتهم و لكن بعد كل هذا هل استطاعوا ان "يميزوا" بعد كل ذلك ان الله احد لم يلد و لم يولد ؟
    نعم - احمد صالح .
    برمجة الألعابُ هي عملية تــحويل الصور الميتة إلي صور حية - احمد صالح .
    الامـة التى تــفرط فى لغـــتها كالتى تفرط فى عرضها !!!
    انا لو لم اكن مصريا * لوددت أن اكون مصريا

  10. #10
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50
    شكراً أخى احمد على التوضيح وسوف ابحث على الأنترنت على دالة الجذر

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

  11. #11

    Arrow

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

    إليك المقالة التالية وهي مفيدة جداً ، وتعتبر من المراجع المهمة في استخدام طريقة الكرة المحيطة:
    http://www.gamedev.net/reference/art...rticle1026.asp

    كما توضح سلسة المقالات التالية مبدأ كشف التصادم بطريقة سهلة ومبسطة أيضاً:http://www.gamasutra.com/features/19991018/Gomez_1.htm

    أتمنى لك التوفيق ،،،،،،،،،،،،،،،،،،،،،،،،،،،
    Live Free ... Die Well
    The Scorpion King

  12. #12
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50
    شكراً أخى رامى على مشاركتك وعلى الوصلات ولكن الوصله التانيه لابد من الأشتراك فى الموقع
    على العموم مشكووور على مرورك

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

  13. #13
    أخي RingoJet ، أنصح بالاشتراك بالموقع المذكور وذلك لاحتوائه على العديد من المقالات القيمة .... كما وجب التنويه إلى أن هذا الموقع يعتبر واجهة الويب الرسمية لمجلة Game Developer الوحيدة في العالم !!!!!!!

    وعذراً ،،،،،،،،،،،،،،،،،،،،،
    Live Free ... Die Well
    The Scorpion King

  14. #14
    عضو
    تاريخ التسجيل
    Dec 2004
    المنطقة
    الأسكندريه - مصـــــــــــــر
    العمر
    30
    ردود
    50
    حياك الله أخى رامى ولقد قمت فعلاً بالأشتراك فى الموقع بأسم RingoJet ايضاً
    مشكووور على النصيحه

    سقوط الإنسان ليس فشلاً ولكن الفشل أن يبقى الإنسان حيث سقط
    العلم فى الصغر كالنقش على الحجر
    الغايه تبرر الوسيله

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل