Menu
CoddyTech

الجاذبية والكتلة

جزء من قسم الفيزياء وأسلوب اللعب في رحلة Unity على Coddy. الدرس 1 من 71.

يسلّم المكوّن Rigidbody جسمه إلى نظام الفيزياء في Unity، كما حدث عندما أضفت واحدًا في «إضافة مكوّن». ومنذ ذلك الحين، تزيد الجاذبية سرعة الجسم بمقدار 9.81 m/s كل ثانية، ويحتوي Rigidbody على إعدادات تحدد كيفية ذلك. اثنان منها هما mass، بوحدة الكيلوغرام (1 في Rigidbody جديد)، وuseGravity (مفعّل في Rigidbody جديد).

لا تغيّر الكتلة سرعة سقوط الأجسام. تسحب الجاذبية الجسم الثقيل بقوة أكبر، ويصعب تسريع الجسم الثقيل بالمقدار نفسه تمامًا، لذا تهبط حاوية كتلتها 1 kg وسندان كتلته 50 kg، أُسقطا من الارتفاع نفسه، في الإطار نفسه. تكتسب الكتلة أهميتها عندما تدفع الأجسام بعضها بعضًا: إذ يزيح السندان الحاوية، بينما بالكاد تحرّك الحاوية السندان. لهذا البالون الاحتفالي كتلة خفيفة، وتتركه الجاذبية وشأنه، لذا يظل معلقًا في المكان الذي وضعه فيه المشهد:

void Start()
{
    Rigidbody rb = GetComponent<Rigidbody>();
    rb.mass = 0.2f;
    rb.useGravity = false;
}

عند إيقاف useGravity، يظل للبالون كتلته، ويظل يتحرك عندما يصطدم به شيء: ما يتوقف فقط هو سحب الجاذبية له. أعد تعيينه إلى true فتعود الجاذبية إلى سحبه من مكان وجود الجسم. لا يوجد هواء في نظام الفيزياء في Unity أيضًا، لذا تسقط الريشة مثل الطوبة ما لم تضف إلى Rigidbody بعض التخميد الخطي.

challenge icon

التحدي

سهل

علّق الصندوقين، ثم أسقطهما معًا بالضغط على Space.

  1. في Start()، أسفل سطر GetComponent، عيّن rb.mass = weight; وrb.useGravity = false;.
  2. في Update()، عند Input.GetKeyDown(KeyCode.Space)، عيّن rb.useGravity = true;.

اضغط «العب» ثم اضغط Space: يهبط كلٌّ من الخزنة الثقيلة والصندوق الخفيف معًا. ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

public class CraneLoad : MonoBehaviour
{
    public float weight = 1f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        // اضبط الكتلة على قيمة weight وأوقف تأثير الجاذبية
    }

    void Update()
    {
        // Space: اسمح للجاذبية بالتأثير مجددًا
    }
}

جميع دروس الفيزياء وأسلوب اللعب

تدرّب بنفسك: Playground لـ Unity