Menu
CoddyTech

כוח הכבידה והמסה

חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 1 מתוך 63.

רכיב 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 שלה Linear Damping.

challenge icon

אתגר

קל

המנוף מחזיק שני ארגזים מעל המזח: כספת כבדה וקופסה קלה. לשניהם יש Rigidbody וסקריפט CraneLoad, שהמפקח מגדיר בו את weight (80 עבור הכספת, 2 עבור הקופסה).

  • כשהמשחק מתחיל, הגדירו את המסה של ה-Rigidbody ל-weight ועצרו את כוח הכבידה, כך שהארגז יישאר תלוי במקומו.
  • כשלוחצים על Space, אפשרו שוב לכוח הכבידה לפעול, כך שהארגז ייפול.

לחצו על Play, לחצו על Space וצפו באיזה ארגז נוחת ראשון, ואז לחצו על Check.

נסו בעצמכם

using UnityEngine;

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

    void Start()
    {
        // הגדר את המסה לערך של weight ועצור את כוח המשיכה
    }

    void Update()
    {
        // Space: אפשר לכוח המשיכה לפעול שוב
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה פיזיקה ומשחקיות