اسحب الكائن إلى المشهد. إضافة مكون إلى كائن. يجب أن يكون للكائن واحد المصادم و واحد جسم متماسك امتلاك. يجب ضبط الجسم الصلب على الحركية. وهذا يعني أن الكائن لا يتحرك في المحاكاة الفيزيائية إلا إذا تم نقله بواسطة برنامج نصي.
قم بتنشيط المحاكاة واستخدام جهات الاتصال الحركية الكاملة.
يتم تعريف الفئة الأساسية في البرنامج النصي وتضمن عمل الجاذبية. أضف PhysicsObject كمكون. اختر نصًا جديدًا وافتحه باستخدام إنشاء وإضافة. انقر نقرًا مزدوجًا وافتح البرنامج النصي في المحرر المرئي.
لأنها فيزياء ، أضف الدالة FixedUpdate:
تحديث باطل ()
ضمن وظيفة FixedUpdate ، يجب أن يتحرك الكائن لأسفل مع كل إطار لأنه يتم سحبه إلى أسفل بفعل الجاذبية.
لذلك نحتاج إلى متغير للسرعة:
سرعة Vector2 المحمية ؛
تستخدم الفئات الأخرى الكائن المادي. يجب أن تكون قادرًا على الوصول إليه ، ولكن ليس من خارج الفصل الدراسي المعين.
يمكن أن تتأثر الجاذبية: مطلوب قيمة الجاذبية لهذا:
معدل جاذبية العوامة العامة = 1f ؛
تُستخدم قيمة الجاذبية في نظام فيزياء الوحدة. كل شيء يتم مع Time.deltaTime ؛ يتضاعف وينتمي إلى FixedUpdate:
السرعة + = معدل الجاذبية * Physics2D.gravity * Time.deltaTime ؛
الآن يتم تحديد مكان وجود الجسم بعد تأثيرات الجاذبية:
vector2 deltaPosition = السرعة * Time.deltaTime ؛
الوضعية الجديدة تستخدم للحركة:
Vector2 move = Vector2.up * deltaPosition.y ؛
يتم تعريف وظيفة أخرى:
حركة باطلة (حركة Vector2)
الآن تم إجراء إضافة في FixedUpdate: يجب أن يتحرك الكائن بناءً على القيم المحسوبة:
حركة ()؛
يجب أن يحدث هذا على أساس Rigidbody2D:
Rigidbody2D rb2d المحمية ؛
يوجد أيضًا OnEnable () ؛
rb2d = GetComponent () ؛
في وظيفة الحركة ، تم تحديد أن الحركة تحدث في كل إطار:
rb2d.position) rb2d.position + حركة ؛
يبدو النص النهائي لجسم ذي جاذبية كما يلي:
إذا قمت بحفظ البرنامج النصي ورجعت إلى الوحدة ، فسوف يسقط الكائن عند الضغط على تشغيل.