معلومه:.الموضوع الشامل عن المحرك الفيزيائي PhysX
الموضوع يعرّف محرك PhysX بشكل عام وتقني بشكل جزئي حتى يسهل للكل فهم المحرك وفائدته وفعاليته في كروت الشاشة
تاريخ:
عام 2008 شهر فبراير.. استحوذت شركة nvidia على شركة Aegia بهدف
تضمين محرك PhysX في كروت انفيديا.
طرحت انفيديا المحرك لاحقًا على شكل برنامج تثبيت وذلك بعد نزول كروت فئة G80 في الاسواق.
لاحقا.. تم تضمين المحرك مع التعاريف الخاصة بكروت Nvidia.
ما هو محرك Physx؟
هو برنامج توجد به برمجيات وأكواد مسبقة البرمجة, كل برمجية تمثل محاكاة للظواهر الفيزيائية
او الاشياء وعلاقتها بالفيزياء ومصنوعة بطريقة أقرب للواقعية.
-أمثلة:
*انظمة الحركة الواقعية:
https://developer.download.nvidia.co...x/dev_char.jpg
يتيح لك تطبيق حركة معينة على شخصية معينة.. مثلا, تقوم برسم قطّة بواسطة برنامج
ثلاثي الابعاد, ثم باستخدام اضافات Physx لهذه البرامج تقوم فقط بتطبيق نظام
حركة الحيوان على الشخصية ثم تتحكم بالمسار الذي تريده ان تمشي اليه.
طبعا مثل هذه الاضافة توجد لها انظمة عدة تقوم بتصدير الحركات إلى البرامج ثلاثية
الابعاد وسبق لي ان عملت على احدها.
*تصميم الاقمشة وتأثرها بالاشياء المحيطية,
https://developer.download.nvidia.co.../dev_cloth.jpg
حيث نلاحظ عند تطبيق تأثير معيّن على نفس القماش, يقوم بالتمزق او التقلص او الترهل بطريقة
اشبه للواقعية.
* نظام السوائل,
https://developer.download.nvidia.co.../dev_fluid.jpg
يقوم بمحاكات السوائل بشكل تام اثناء اسنكابها او تدفقها او غيره من العوامل الاخرى الخاصة
بالسوائل,,
*تفاعل الاجسام مع الحوادث,
https://developer.download.nvidia.co...rim_height.jpg
نرى هذه الخاصية في مشاهد الاصدام او التفاعل, على سبيل المثال لعبة Battlefield:bad
company2, عند ضرب بيت او جدار يقوم بالتفتت والانهدام, او تكسر الزجاج او تطاير
فتات البارود من الاسلحة.
*العوامل البيئية:
https://developer.download.nvidia.co...ysx/dev_ff.jpg
الرياح, الغبار, يقوم بمحاكات التأثير على الاجسام, يعني لو عندك خامة قماش وقمت
بتوجيه الرياح لها سوف تتحرك وفق اتجاه الرياح, او جعل الاشجار تتأثر بالرياح من حيث
تمايلها او تكسّر اغصانها.
بالطبع توجد العديد من التطبيقات للظواهر الفيزيائية كالجاذبية, والذوبان, والانصهار, الزلازل... الخ
لكن لا يسعُني ذكرها في الموضوع.. لاحقا في الموضوع سوف أًدرج رابط للمصدر وبعض
التطبيقات التي تعمل بواسطة محرك PhysX حيث يمكنك تجربتها والاستمتاع بالواقعية التي
يحاكيها المحرك.
كيف يعمل محرك PhysX وما علاقته بكروت الشاشة والألعاب؟
مصممي الالعاب, عند صناعتهم او تطويرهم للعبة ما, يواجهون بعض الصعوبات التي تؤخر من
مشاريعهم خصوصا عند انشاء مشاهد معقدة يتطاير فيها الزجاج وجزيئات البارود بشكل
واقعي مجنون...
الان كل ما عليهم سوى تنزيل الحزم الخاصة بالمطورين وإنشاء ما يريدون بواقعية اكثر.
سوعال,ما هو GPU-accelerated PhysX?
هو خاصية تسمح للعبة أن تستفيد من أنوية cuda في كروت Nvidia في تسريع
عملية المعالجة الفيزيائية اي تحويل نواة Cuda الى PPU.. وتعني "Physics
Processing Unit"بدلا من استخدام الطريقة العادية وهي
المعالجة عن طريق GPU او CPU وهي اسرع من المعالجة على CPU -بسبب
تعدد الـ threads في انوية Cuda وعددها الكبير إجمالا لكثرة الانوية خصوصا
في فئة 4XX-وهذا هو سبب جعل الكثيرين ممن يملكون كروت ATI يقومون
بشراء كروت تحتوي على انوية Cuda من أجل تسريع العملية الفيزيائية.
هل محرك PhysX هو المحرك الفيزيائي الوحيد؟
طبعا لا, يوجد العديد من محركات الفيزياء المشهورة والمعروفة.. لكن اشهرها هي ثلاثة:
PhysX.. (يوجد في كروت شركة Nvidia وهو مملوك للشركة منذ عام 2008)
Havok.. (يوجد في كروت شركة ATI وهو مملوك لشركة Intel منذ عام 2008)
Bullet.. (تم تطويره على كروت Geforce حيث يقول مصمم المحرك انه ايضا استفاد من
الكروت واستخدم بعض طرق عمل برنامج Physx).
بسبب المنافسة .. مالفرق بين أشهر اثنين؟
Havok .. يقسم المعالجة الفيزيائية إلى قسمين.. قسم Gameplay وتتم معالجته
في الـ GPU.. والقسم الاخر وهو الـ Effects وتتم معالجته في الـ CPU بحيث
لا تؤثر الـ Effects على الـ Gameplay
Physx .. يقوم بإرسال المعالجة الفيزيائية إلى انوية Cuda حيث تعمل كـ PPU بدلا من
استخدام بطاقة مستقلة.
مالذي يميز محرك PhysX عن غيره؟
شهر مارس عام 2008 اعلنت Nvidia عن مفاجأة طرحها للمحرك بمصدره المفتوح
ومجانا. مما جعل العديد من المطوير والشركات واستديوهات الالعاب يقومون باعتماده
وتطويره وتضمينه في محركات العابهم, بسبب قوته ومرونته وتطويره المستمر
من قبل الشركة والمطورين.
معلومات عن الشركات والمطورين والاستديوهات:
*اشهر الشركات التي تستخدم محرك Physx:
https://developer.download.nvidia.co...s_autodesk.gif
طبعا يمكن استخدام المحرك لبرنامج 3d Studio Max وبرنامج Maya الشهيرين حيث توجد
اضافة يتم تثبيتها داخل البرنامج.
https://developer.download.nvidia.co..._softimage.jpg
يمكن استخدام المحرك لبرنامج XSI الشهير حيث توجد اضافة يتم تثبيتها داخل البرنامج.
https://developer.download.nvidia.co...ols_unreal.jpg
يتم استخدام محرك PhysX في المحرك الشهير Unreal Engine المستخدم في بعض
الالعاب المشهورة كلعبة: Unreal Tournament 3 , Meadal of Honor: AirBorn
وغيرها من الالعاب التي لا تحضرني حاليًا.
المزيد من الشركات:
https://developer.nvidia.com/object/physx_partners.html
اشهر استديوهات الالعاب التي تستخدم محرك PhysX:
EA, THQ, 2K Games, Sega
عدد المطورين المسجلين لدى Nvidia:
اكثر من 10,000 مطور.
عدد الالعاب التي تستخدم محرك Physx:
العاب PC وعددها 152 لعبة من اصل 200 لعبة لمختلف الاجهزة.
أخيرا.. ادوات ومصادر للتنزيل والاطلاع: اضغط على الاسم
برنامج محرك PhysX (يجب تنزيله قبل استخدام اي أداة للمطورين)
PhysX Visual Debugger 1.1.9 Installer (يستخدم لصنع المحاكاة الفيزيائية والتعديل عليها)
AgPerfMon/AgPerfHUD (برنامج تفصيلي لكيفية عمل المحرك . "للمحترفين")
الموقع الرسمي للمطورين (يحوي جميع الادوات والدروس الخاصة بالمحرك, مفيد للمحترفين والمبتدئين)
ادوات خاصة بمستخدمي برنامجي 3d Studio Max وبرنامج Maya الغنيين عن التعريف
..................................................
اتمنى ان الموضوع حاز على اعجابكم واستفدتم منه.
- استغرقني 3 ايام للكتابة والتدقيق والتمحيص من العديد من المصادر.
أخوكم ALTayer
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
ما شاء الله شرح تفصيلي و بسيط محرك Physx
مجهود تشكر عليه ... تم التقييم
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
جزاك الله خيرا اخي ... لكن !
اقتباس:
المشاركة الأصلية كتبت بواسطة Tempset
- استغرقني 3 ايام للكتابة والتدقيق والتمحيص من العديد من المصادر.
أخوكم ALTayer
[/B]
:confused:
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
اقتباس:
المشاركة الأصلية كتبت بواسطة MiXhaRdwArE
ما شاء الله شرح تفصيلي و بسيط محرك Physx
مجهود تشكر عليه ... تم التقييم
شكرا اخي على المرور.
اقتباس:
المشاركة الأصلية كتبت بواسطة omar999
جزاك الله خيرا اخي ... لكن !
:confused:
اي... ALTayer اللي بمنتديات نسما.. ;)
كيف الحال يا عمر... الله على ايام cod4 في سيرفر نسما
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
شكراً على الموضوع الجميل
لكن المشكلة لم يتسنى لي ان اقرائه كله
انشاء الله في المرة المقبلة
وشكراً على توضيحك لهذه التقنية
تقبل مروري
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
شكراً لك على المعلومات القيمة ونتمنى تكملة المقال قريباً
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
مشكور أخوي على الموضوع بس عندي كم نقطه يجب تصحيحها بالموضوع كي لا يكون فيه لبس للشباب.
اقتباس:
على سبيل المثال لعبة Battlefield:bad
company2
اللعبه لا تستخدم PhysX ولكن برنامج متخصص من الشركه الأم اسمه Frostbite 2.0 و ليس لها اي صله بنيفيديا.
اقتباس:
كيف يعمل محرك PhysX وما علاقته بكروت الشاشة والألعاب؟
انت ذكرت ان الPhysX يستخدم فقط المعالج الرسومي بحساباته كامله و تفاديت ذكر ان الواجهه تقسم المعمليات الفيزيائيه الى قسمين.
قسم يقوم المعالج المركزي بعملياته.
قسم متخصص فقط يستخدم المعالج الرسومي.
للتوضيح عشان ما يكون فيه لبس للشباب بالموضوع.
اقتباس:
Bullet.. (تم تطويره على كروت Geforce حيث يقول مصمم المحرك انه ايضا استفاد من
الكروت واستخدم بعض طرق عمل برنامج Physx).
لغه Bullet تم تطويرها حقيقه على كروت الرسوميه Geforce و لكن تم دمجها و اعاده تهيئتها لتكون متوافقه كامله مع أي كرت يدعم Directx11.
اقتباس:
Physx .. يقوم بإرسال المعالجة الفيزيائية إلى انوية Cuda حيث تعمل كـ PPU بدلا من
استخدام بطاقة مستقلة.
اذا كان البرنامج يدعم الأوامر المتخصصه فقط بالكرت الرسومي.
اقتباس:
العاب PC وعددها 152 لعبة
و زي ما ذكرت من قبل تنقسم الى قسمين.
ألعاب تستخدم المعالج المركزي للحساب و هذي الغالبيه.
و ألعاب تستخدم المعالج الرسومي و أكثرها مذكوره بالصوره التاليه:
https://img.techpowerup.org/100324/physx.jpg
أضف اليها لعبه Metro 2033.
فالألعاب اللي تستخدم المعالج المركزي عند حساب الفيزياء ما تفرق لو كان كرتك من نيفيديا أو من منافس.
أما اللي تستخدم المعالج الرسومي فهي المستفيد الرئيسي من التقنيه.
مشكور أخوي مره أخرى و لكن بين أكثر لو سمحت كي لا يكون هناك لبس.
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
شكرآ جزيلآ أخي الكريم على هذا الموضوع الرائع للصراحة مجهود رائع وكبير وبحاجة لهذا الوقت الطويل لإعداده لما فيه من معلومات قيمة عن هذه التقنية التي لم أفهمها بالسابق كما فهمتها الآن بعد قرائة موضوعك أتمنا لك التوفيق الدائم أخي الكريم وشكرآ مجددآ
على هذا المجهود الكبير
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
شكرا يا عزيزى على الشر ح الجيد والمبسط ....:)
وتم تقييم الموضوع ...:)
رد: الموضوع الشامل عن محرك PhysX الموجود في كروت NVIDIA
اقتباس:
مشكور أخوي على الموضوع بس عندي كم نقطه يجب تصحيحها بالموضوع كي لا يكون فيه لبس للشباب.
اهلا اخي كينج.
اقتباس:
اللعبه لا تستخدم PhysX ولكن برنامج متخصص من الشركه الأم اسمه Frostbite 2.0 و ليس لها اي صله بنيفيديا.
شكرا على المعلومة.. سوف اصححها بالموضوع.
اقتباس:
انت ذكرت ان الPhysX يستخدم فقط المعالج الرسومي بحساباته كامله و تفاديت ذكر ان الواجهه تقسم المعمليات الفيزيائيه الى قسمين.
قسم يقوم المعالج المركزي بعملياته.
قسم متخصص فقط يستخدم المعالج الرسومي.
للتوضيح عشان ما يكون فيه لبس للشباب بالموضوع.
ذكرت هذه النقطة مسبقا في الموضوع:
اقتباس:
المعالجة عن طريق GPU او CPU
اقتباس:
لغه Bullet تم تطويرها حقيقه على كروت الرسوميه Geforce و لكن تم دمجها و اعاده تهيئتها لتكون متوافقه كامله مع أي كرت يدعم Directx11.
بالفعل هذا ما حدث.. حيث يستخدم هذا المحرك العديد من الألعاب ويأتي في ترتيب ممتاز ورائع..
أهم شي انه مجاني ومفتوح:
https://www.bulletphysics.com/
اقتباس:
اذا كان البرنامج يدعم الأوامر المتخصصه فقط بالكرت الرسومي.
اكيد.. اما انوية Cuda او بطاقة رسومية مستقلة من Aegia او Asus حتى
يعمل التسريع العتادي..
اقتباس:
و زي ما ذكرت من قبل تنقسم الى قسمين.
ألعاب تستخدم المعالج المركزي للحساب و هذي الغالبيه.
و ألعاب تستخدم المعالج الرسومي و أكثرها مذكوره بالصوره التاليه:
https://img.techpowerup.org/100324/physx.jpg
أضف اليها لعبه Metro 2033.
فالألعاب اللي تستخدم المعالج المركزي عند حساب الفيزياء ما تفرق لو كان كرتك من نيفيديا أو من منافس.
أما اللي تستخدم المعالج الرسومي فهي المستفيد الرئيسي من التقنيه.
مشكور أخوي مره أخرى و لكن بين أكثر لو سمحت كي لا يكون هناك لبس.
الألعاب اللي بالصورة هي اللي راح تصدر قريبا او صدرت مؤخرا..
افتح اللستة كاملة راح تلقى بقية الألعاب اللي فيها الـ PhysX عتادي..
ما حبيت اتطرق للفرق بين PhysX سوفتوير او PhysX هاردوير.. لأن المجال
فيه راح يطول بشكل كبير.. فهو اوسع بشكل كبير مما توقعت... قريت مقالات له وبصراحة
لازم شوي تغوص في التركيب الالكتروني للبطاقة وكيف تعمل وحدة PPU,
شكرا عزيزي
رد: الموضوع الشامل عن المحرك الفيزيائي PhysX
بارك الله فيك عزيزي
تم تعديل العنوان لتصحيح بعض النقاط وتوضيح أخرى
1- نظراً لاسم المحرك، فإن الكثيرين يعتقدون ان اسمه هو Physics وليس PhysX وبالتالي يعتقد آخرون أن كل لعبة لا تستخدم محرك PhysX هي لا تدعم الفيزيائية نظراً لكلمة Physics... وهذا أمر غير صحيح... ولهذا تم إضافة ( المحرك الفيزيائي PhysX ) لتوضيح الأمر
2- محرّك PhysX ليس موجود في بطاقات NVIDIA وإنما يمكن تسريعه بواسطة بطاقات NVIDIA ( وبعضها وليس كلها )، وبالتالي استوجب تعديل العنوان أيضاً بإزالة ( الموجود بكروت NVIDIA )، ناهيك عن مسألة استخدام لفظة ( كروت ) بدل ( بطاقات )
3- بما أن الموضوع يختص بجزئية برمجية فمحرك PhysX هو برنامج ( وإن كان يستخدم المعالج الرسومي ولكنه يبقى برنامج ) فسيتم نقله لقسم الألعاب لكون ذلك القسم هو الأنسب له... ستتم عملية النقل لاحقاً بإذن الله :)
رد: الموضوع الشامل عن المحرك الفيزيائي PhysX
مشكور اخي و اطلب من الخوة الاعضاء تثبيت هذا الموضع رجاءا لاهميته وشكرا مرة اخرى:ah4:
رد: الموضوع الشامل عن المحرك الفيزيائي PhysX
مشكور اخي على الموضوع الرائع .... تم تقييم الموضوع
رد: الموضوع الشامل عن المحرك الفيزيائي PhysX
شكرا اخي الخلف على رؤيتك الرائعة..
بارك الله فيك