النتائج 1 إلى 13 من 13

الموضوع: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

  1. #1
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    السلام عليكم

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

    Newton Game Dynamics Wrapper


    يمكنك تحميله من هنا


    أحد محركات الفيزياء يوجد الكثير منها مثل Havok ,ODE

    الرابر Wrapper : برنامج أو سكربت يمهد الطريق ويجعل من الممكن تشغيله في برنامج آخر.

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

    أولاً :طريقة التركيب:
    عند فك الضغط افتح ملف
    1) Wrapper انسخ "NDB.dll" الى ملف الدارك بيسيك "compiler\plugins-user"
    2) انسخ "keywords_ndb.ini" داخل "Editor\Keywords"
    3) انسخ Newton.dll في نفس مكان التطبيق أو داخل ملف المشروع يعني بجانب تطبيق الـ exe


    ثانيا: دليل المبتدئين

    سأقوم بعون الله بترجمة مستند الورد beginner's guide
    مع الملاحظة توجد بعض التعديلات لان الشرح كان يخص النسخة السابقة

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

    حسناً .الاولوية : هل سبق وجربت ملفات الديمو أو الامثلة ؟ إذا لم تجربها الرجاء قم بتجربتها الآن في ملف "Demos" يوجد 15 أمثلة مختلفة
    جميعها تم ترجمتها مسبقاً قم بتجربتها حالاً وانظر ماذا يمكن للنيوتن فعله .

    حسناً أنت الآن تملك فكرة أو خلفية عن مايمكن للنيوتن فعله. الآن دعنا نتكلم عن كيفية عمل النيوتن. عندما تصنع تطبيق/ لعبة ثلاثية الابعاد فانت عموماً تملك "عالم"
    مع الكاميرا وباقة من المجسمات المحملة من الملفات ،وربما القليل من الإضاءة . في الدارك بيسيك كل ذلك يتم من خلال الاوامر مثل Load object او Position camera ..الخ
    يمكن التفكير في هذا الامر بإعتباره "عالم مرئي" “visual world” للبرنامجك . كل شيء ( المجسم ،الكاميرا ، الاضاءة) لها موقع ودوران في الفراغ ثلاثي الابعاد
    النيوتن نوع يمكن اعتباره العالم الثاني "2nd "world تلك مرآه لعالمنا المرئي الثلاثي الابعاد .عوضاً عن عقد المعلومات البصرية (لون المجسم ،نسيج "تيكستشر" المجسم..الخ)
    يمكن ربطها بالمعلومات الفيزيائية

    صورة للتوضيح


    يمكن رؤية كلا العالمين لهما مكعب ،نفس الموقع ونفس زاوية الدوران مع أن العالم الفيزيائي يتعامل مع الكتلة والسرعة والعالم المرئي يتعامل مع الالوان والانسجة

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

    الشيء الجيد في النيوتن أو الرابر انه يجعل عالمك المرئي مع عالمك الفيزيائي في نفس التزامن "in Sync" مع بعضها ، شيء جيد ويعني ان النيوتن سيغير مكان المجسم ودورانه لك

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

    لاتقلق ان لم تفهمها فلهذا السبب توجد الامثلة


    كما ترى فان الشكل المعقد للنجمة هو في الاصل كرة بالنسبة للنيوتن "أي أن النيوتن سيحاكي النجمة على انها مجرد كره" فعند الدوران مثلا ستدور على انها كرة" "

    الرابر ياتي معه اداة تسمة Rigid Body Designer مما يسمح لك باستخدام الاشكال البصرية او الاشكال المعقدة سواءاً كانت بامتداد x او dbo ليتعامل الشكل مع النيوتن بشكل صحيح ، ايضا قمت بوضع مثال بع شرح للـ .bod يمكنك وضع الاجسام المعقدة

    الان قمنا بشرح دمج العوالم الان ماذا عن الحركة ؟ من المحتمل ان هناك اجسام تريد تحريكها ؟ صحيح ؟؟
    حسناً في الماضي كنت تستخدم المتغيرات مثل PlayerX , PlayerY, x#, y# ...etc لتغيير مكان المجسم وكانت على النحو التالي

    كود:
    If upkey() then inc PlayerX, 1
          …
          position object PlayerObject, PlayerX, PlayerY, PlayerZ
    كود ممتاز لتحريك المجسم في الدارك بيسيك ، لكن في النيوتن أنت لن تستطيع التعامل مع هذه المهارة او هذا التكنيك تذكر النيوتن هو محاكاة فيزيائية يمثل الواقعية
    في الحقيقة أنت لاتستطيع تحريك المجسم الى موقع جديد ذلك يسمى تنقل teleportation عوضاً عن ذلك هو تحريك المجسم عن طريق اصبعك ! او قوة دفع او سيارة او بيس بول

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

    يكفي ... انظر الى المثال الاول Demo 01 الان هو بسيط وبداية ممتازة لاخذ فكرة عن الاوامر والمهارات التي ستسخدم في النيوتن

    حظاً سعيداً)


    الكاتب : Walaber

    المترجم : Evil Joker

    يتبع...
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

  2. #2
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    شرح الكلام السابق بإختصار هو

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

    سأشرح الاشكال اولا بعون الله

    لو كان لديك مجسم لكرة قدم وتحتاج وضعها في الدارك بيسيك وتعريف النظام الفيزيائي لها
    طبعا ستقوم بتحميل المجسم في الذاكرة مع النسيج Texture الخاص بكرة القدم هكذا انت عرفت العالم المرئي
    الشكل : كرة - النوع:كرة قدم - النسيج: نسيج كرة القدم "المخمسات"

    الان انت بحاجة الى تعريف النظام الفيزيائي لهذه الكرة
    ستقوم باعطاء امر - سيتم شرحه لاحقاً إن شاء الله - لتعريف او عمل ربط بين الشكل المرئي والشكل الخاص بالتصادم

    مثلا لو لديك كره عند انشائك لها في الدارك بيسيك فربما تستخدم الامر
    make object sphere

    او تقوم بتحميلها من جهازك

    وفي النيوتن ستستخدم الامر
    Col = NDB_NewtonCreateSphere( s# )

    الان انت عرفت العالم المرئي والعالم الفيزيائي
    ملاحظة : الحاسب لايعرف ماهي الاشكال التي تستخدمها فيمكنك مثلا ان تصنع مكعب في العالم المرئي وتطبق عليه سلوك او شكل الكرة
    فيهيئ لك ان المكعب كرة وسيدور مثل الكرة مع العلم ان المكعب به حواف ولكن لوطبقتها عليه ستجد حركة ناعمة كانها كرة تتحرك


    وهكذا مع باقي الاشكال والتي تم ذكرها سابقا

    يوجد شكل يسمى Convex Hull هذا الكونفكس يتعامل مع الاشكال المعقدة فمثلا لو لديك ابريق شاي او نجمة او كان هذا الشكل فانت لن تستخدم الاشكال السابقة (مكعب - كرة ..الخ)
    بل تحتاج الى تركيب معقد ..يتيح لك النيوتن امكانية عمل هذه الاشكال وتسمى convex hull
    ببساطة لو قلنا ان لديك ابريق شاي فالكونفكس هول سيقوم بتغليف هذا الابريق وليس حمل نفس الشكل بل كشكل التغليف الورقي او البلاستيكي .

    المصطلحات الاساسية

    هذه هي المصطلحات الاساسية والتي يجب معرفتها للتعامل مع المحرك

    Body
    المجسم وهو كتعريف او اي دي مستقل عن المجسم في العالم المرئي
    مثلا لو لديك مجسم كرة في العالم المرئي والاي دي الخاص به هو 1 فهذا لايعني بالضرورة ان المجسم في العالم فيزيائي يحمل نفس الرقم قد يكون 2 او ايا يكن
    ويسمى عادةً بـ Rigid body الاجسام الجامدة او الصلبة

    Object
    وهو الشكل المرئي عكس body الشكل الفيزيائي

    Vector
    المتجه ويحمل 3 قيم للمحاور الثلاثة XYZ

    Matrix
    المصفوفة : (في العادة تكون 16) وهي ارقام تحمل وصف للموقع والدوران والحجم في الفراغ الثلاثي الابعاد

    Mass
    كتلة المجسم "الحجم"

    MOMENT OF INERTIA
    عزم القصور الذاتي : رقم يصف مدى التناوب على محور محدد

    الاعدادات الاولية
    قبل البدئ في وضع الاوامر الخاصة بالمحرك فلابد من اعطاء الدارك بيسيك امر ببدئ عمل محرك النيوتن

    كود:
    NDB_NewtonCreate
    من خلال الامر السابق انت قد بدأت في الخطوة الاولى وسيبدأ المحرك في العمل

    الان يجب عليك تعريف مدى المحيط او مدى الاتساع او الفراغ الذي سيتم فيه محاكاة الفيزياء
    عند عدم وضعك للتعريف التالي فان النيوتن تلقائياً سيعرف نفسه بمساحة محددة من -100 الى +100 لكل المحاور

    كود:
    NDB_SetVector 1, -1000.0, -500.0, -1000.0
    كود:
    NDB_SetVector 2, 1000.0, 500.0, 1000.0
    NDB_NewtonSetWorldSize


    لاحظ انك لن تعطي القيم مباشرة للامر بل تحتاج الى وضع متجه مؤقت temp vector
    وكما ذكرت فانه سيحمل 3 قيم مع رقم او اي دي للمتجة المؤقت

    الان تعريف الجاذبية
    كود:
    NDB_SetVector 0.0, -50.0, 0.0
    NDB_SetStandardGravity
    لاحظ ان قيم الجاذبية للثلاثة محاور فيمكنك عمل جاذبية لمحرو x او محور y او محور z
    فبلا من الجذب للاسفل يمكن ان يكون للاعلى او اليمين او الامام ...الخ

    الان بعد التعريفات الاساسية السابقة يتطلب منك تعريف التوقيت

    كود:
    time# = NDB_GetElapsedTimeInSec()
    time# = NDB_GetElapsedTimeInSec()
    قمنا بوضع الامر السابق مرتين لنحصل على توقيت صغير مناسب

    كود:
    GO = 1
    كود:
    
    do
    
       time# = NDB_GetElapsedTimeInSec()
    
       if GO = 1 then NDB_NewtonUpdate time#


    الان فكرة الامر السابق هو التثبيت فمثلا لو كانت قيمة GO تساوي واحد فان المحرك سيعمل وان كانت تساوي صفر فان المحرك سيتوقف مؤقتاً مثلا


    يجب انهاء البرنامج بالامر التالي ووضعه في اخر سطر
    كود:
    function NeverCalled()
    كود:
       if memblock exist(1) then delete memblock 1
    endfunction




    عملية البناء


    لبناء مجسم في الدارك بيسيك فانت ستعطيه القيم الخاصة بالموقع والدوران والحجم

    مثال

    object position objID,x,y,z
    rotate object objID,x,y,z
    scale object objID,x,y,z

    اما في النيوتن يسمى Matrix اي مصفوفة

    لابد من كتابة الامر كالتالي

    كود:
    
    
    كود:
      NDB_BuildMatrix rx#, ry#, rz#, x#, y#, z#
       NDB_NewtonBodySetMatrix Body


    اولا تبني مصفوفة وبعدها تقوم بتطبيق قيمها على المجسم

    rx#, ry#, rz#
    خاصة بزوايا المجسم
    اختصار يعني rotationX ...etc

    x#, y#, z
    خاصة بموقع المجسم

    طبعا الاولوية للدوران وبعدها الموقع

    انشاء مجسم

    كود:
    Col = NDB_NewtonCreateBox(sx#, sy#, sz#)
    col اختصار لـ collision تعني تصادم
    الان انت انشأت صندوق او شكل تصادمي للصندوق الخاص بالعالم المرئي

    كود:
     Body = NDB_NewtonCreateBody(Col)
    قمنا بتعريف body لشكل الصندوق

    بناء المصفوفة
    كود:
       NDB_BuildMatrix rx#, ry#, rz#, x#, y#, z#
       NDB_NewtonBodySetMatrix Body
    بناء الكتلة
    كود:
       NDB_CalculateMIBoxSolid mass#, sx#, sy#, sz#
       NDB_NewtonBodySetMassMatrix Body, mass#
    الان انت قمت بتعريف حجم المجسم وكتلته

    sx,sy,sz هي للمحاور الثلاثة الخاصة بالحجم
    والـ mass# هي قيمة الكتلة التي تريدها

    كود:
     NDB_NewtonReleaseCollision Col
    كود:
    
    


    هذا الامر يمكن فهمه وكأننا قلنا انتهينا من تعريف التصادم

    يأتي الان دور الربط بين الشكل والتصادم

    كود:
    make object box obj,sx#,sy#,sz#
    كود:
       scale object obj, sx#*100.0, sy#*100.0, sz#*100.0
       position object obj, x#, y#, z#
       rotate object obj, rx#, ry#, rz#


    الان قمنا بانشاء مجسم لصندوق

    كود:
    NDB_BodySetDBProData Body, obj
    الكود السابق هو احد الخطوات المهمة وهو اخبار بالرابر بربط المجسم المرئي بالمجسم الفيزيائي
    وسيقوم النيوتن بتدوير وتدوير المجسم اوتوماتيكياً

    والان مع الربط النهائي
    كود:
    NDB_NewtonBodySetDestructorCallback Body
    الان مع الجاذبية للمجسم
    كود:
      NDB_BodySetGravity Body, 1
    flaq =1 يعني ان معيار الجاذبية الاساسية ستطبق عليه
    flaq =0 يعني لا

    ويمكن تغييرها في اي وقت

    القوى:
    كما ذكرنا سابقا عندما تريد تحريك او تدوير مجسم ما او التعامل معه او التحكم به بصفة عامة فانت ستطبق عليه القوى كما في الواقع لتحصل على واقعية فيزيائية
    وفي الفيزياء هناك عدة اشياء اطبق على المجسم الكتلة mass - السرعة velocity - الجاذبية Gravity

    طبعا سيتغير سلوك المجسم عند تغييرك للقيم السابقة

    لتطبيق القوى هناك خطويتين يمكن من خلال تصادم مجسم اخر يحمل قيم ومتجه معين ويصطدم بالمجسم الساكن
    او عن طريق الوضع بالاوامر

    يمكن استخدام امر السرعة مثلا:

    كود:
    NDB_NewtonBodySetVelocity body
    مع الملاحظة يجب وضع متجه مؤقت قبل وضع الامر

    وتكتب هكذا

    كود:
    NDB_SetVector 100.0, 0.0, 0.0
    NDB_NewtonBodySetVelocity Car
    نلاحظ الان ان المتجة المؤقت به ثلاث قيم قيمة تحمل الرقم 100 والقيمتين الاخرى تحمل 0
    هذا يعني ان الجسم سيتحرك او ستطبق عليه القوة من خلال المحور x وسيندفع نحوه وهذه القوة قيمتها 100


    يمكن استخدام الاوامر التالية ايضا للتحريك

    كود:
    NDB_BodyAddForceLocal
    كود:
    NDB_BodyAddForceGlobal
    NDB_BodySetForceLocal
    NDB_BodySetForceGlobal
    


    التدوير
    في التدوير فان الامر مختلف فمثلا لو اردت تدوير مجسم في الدارك بيسيك حتما ستسخدم الطريقة التقليدية

    turn object left, pitch object up, roll object left

    او
    xrotate object obj,object angle x(obj)+5

    لكن في الفيزياء يجب عليك استخدام خاصية مشابهة للعالم الواقعي مثل اللف

    وكتابة هذا الامر كالتالي
    كود:
    NDB_NewtonBodySetOmega
    كود:
    
    


    اوميغا هي اخر الحروف الابجدية اليونانية ايضا كرمز للتدوير او اللف

    الحقوق محفوظة عند نقلك للموضوع الرجاء ذكر المصدر والاسم

    مع فائق احترامي وتقديري
    التعديل الأخير تم بواسطة Evil Joker ; 27-02-2012 الساعة 11:38 AM
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

  3. #3
    التسجيل
    25-07-2006
    الدولة
    بغــداد
    المشاركات
    2,054

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    والله رووووووووووعه يابطل عاشت ايدك

  4. #4
    التسجيل
    22-07-2007
    الدولة
    Egypt
    المشاركات
    1,171

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    الدرس ده جميل ورائع .. والمحرك جميل كمان ومفيدانا طبقت الديمو الاول بنفسي بس مش بيحصل دوران زي الديمو .. وقارنت الاكواد اللي كتبتها باكواد الديمو ولقيتها زيها بالضبط بس مش بيحصل دوران برضوياترى ايه السبب ؟

  5. #5
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    ممكن تكتبلي الكود..
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

  6. #6
    التسجيل
    22-07-2007
    الدولة
    Egypt
    المشاركات
    1,171

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    اتفضل يا عزيزي
    كود:
    Ndb_Newtoncreate
    Ndb_Setvector 1,100.0,100.0,100.0
    Ndb_Setvector 2,-100.0,-100.0,-100.0
    Ndb_Newtonsetworldsize
    Make Object Cube 1,50
    col=Ndb_Newtoncreatebox(50.0,50.0,50.0)
    bod=Ndb_Newtoncreatebody(col)
    Ndb_Newtonbodysetmassmatrix bod,10.0,1.0,1.0,1.0
    
    Ndb_Bodysetdbprodata bod,1
    Ndb_Setvector 0.0,100,0.0
    Ndb_Newtonbodysetomega bod
    Do
    	t#=Ndb_Getelapsedtimeinsec()
    	Ndb_Newtonupdate t#
    Loop

  7. #7
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    المشكلة في تعيين المساحة
    كود:
    Ndb_Setvector 1,-100.0,-100.0,-100.0
    Ndb_Setvector 2,100.0,100.0,100.0
    يجب ان يكون المتجه الاول بالسالب
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

  8. #8
    التسجيل
    22-07-2007
    الدولة
    Egypt
    المشاركات
    1,171

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

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

  9. #9
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    في الدارك بيسيك لماتحب تكتب كود معين وتضع له القيم فانت تكتب القيم مباشرة امام الكود مثل
    move object Objnum,value

    لكن في النيوتن انت ستكتب القيم في متجه (يسمى متجه مؤقت) قد يحمل الكود متجه او اكثر
    فانت ستعتقد ان تكتب الكود كالتالي

    NDB_NewtonBodySetVelocity bodynumber,value

    هذا خطأ بل يجب عليك تعيين الاتجاه قبل كتابته (بمعنى اين تريد ان يندفع المجسم ؟؟) تضعه عن طريق القيم في المحاور

    NDB_SetVector 100.0, 0.0, 0.0
    NDB_NewtonBodySetVelocity Car

    الان الـ Body هو car
    والامر السابق هو امر دفع السيارة .. عن طريق تغيير قيم المحاور ستندفع السيارة مثلا لو وضعت x=100 كما في الكود السابق فان السيارة ستندفع الى اتجاه محور السينات بالقوة 100

    مثال آخر للتدوير

    في الدارك بيسيك لو كنت تريد تدوير اوبجكت فانت ستستخدم turn object,pitch object...
    لكن في النيوتن فانت ستستخدم امر اللف او التدوير اوميغا مع وضع القيم متجه مؤقت للتعيين


    NDB_SetVector 100.0,0.0,0.0
    NDB_NewtonBodySetOmega car




    ارجو ان اكون قد وضحت
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

  10. #10
    التسجيل
    22-07-2007
    الدولة
    Egypt
    المشاركات
    1,171

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    الله يفتح عليك واشكرك جدا
    انا كده فهمت الصورة تقريبا
    لكن لسه في سؤال
    ليه لما عملت الفيكتور الاول والتاني وحطيت الاول بقيم موجب والتاني بقيم سالب المجسم لم يدور
    في حين انت اعطيتني كود بالعكس المجسم كان بيدور

  11. #11
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    لا اعلم حقيقةً.. لكن ربما والله اعلم ان المتجه الاول يبدأ من الاصغر
    لكن هناك ملاحظة مهمه اذا خرج المجسم من المحيط المحدد فان القوانين في المجسم ستنهار فلن يدور او يتحرك المجسم ولن يقبل اي امر من النيوتن
    ربما في الكود الذي كتبته قد عينت المساحة بشكل خاطئ.. فكأنه أصبح برنامجك بدون محيط فيزيائي وطبعا لن تطبق قوانين النيوتن خارجه (اي المحيط او المساحة المحددة للـ newton size)
    كأنك اخرجت شخص من عالمنا الفيزيائي او ادخلته في ثقب اسود فلن يستطيع الحركة او الدوران او حتى الرؤية والادراك لانه خارج نطاق قوانين الفيزيكس ..
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

  12. #12
    التسجيل
    22-07-2007
    الدولة
    Egypt
    المشاركات
    1,171

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    اشكرك بشدة يا صديقي

  13. #13
    التسجيل
    04-05-2007
    الدولة
    K.S.A.
    المشاركات
    278

    رد: Newton Game Dynamics WRAPPER v1.53 - شرح + روابط

    العفو ياعزيزي..هناك توضيح

    NDB_SetVector 1,-100.0,-100.0,-100.0
    NDB_SetVector 2,100.0,100.0,100.0
    NDB_NewtonSetWorldSize

    توضيح الامر السابق هو تعيين المساحة
    الطول: من النقطة -100 الى النقطة 100
    العرض: من النقطة -100 الى النقطة 100
    العمق: من النقطة -100 الى النقطة 100

    فاصبح المحيط شكله مكعب.. خارج الـ 100 لن تطبق قوانين النيوتن
    اي ان الحيز الذي وضعته هو فقط الذي ستطبق فيه القوانين...
    صلوا على النبي صلـ اللهـ عليهـ وسلمــ
    سبحان الله وبحمده *** سبحان الله العظيم

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •