Menu
CoddyTech

מהירות

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

rb.linearVelocity מתארת את האופן שבו הגוף נע כרגע: Vector3 במטרים לשנייה לאורך צירי x, y ו-z. קריאת הערך הזה מראה לך לאן הגוף נע, ו-rb.linearVelocity.magnitude היא המהירות שלו. הגדרת הערך משנה מיד את התנועה, בלי עלייה הדרגתית במהירות ובלי תלות במסה: קופסה במשקל 1 ק״ג וכספת במשקל 50 ק״ג שיוגדרו ל-2 מ׳/שנייה, שתיהן ינועו בדיוק במהירות 2 מ׳/שנייה החל מצעד הפיזיקה הבא. כוח הכבידה, החיכוך והפגיעות ממשיכים להשפיע עליה לאחר מכן.

הקארט הזה נוסע קדימה במהירות קבועה של cruise מ׳/שנייה. הוא מעתיק את המהירות, משנה רק את z ומשייך אותה בחזרה, כך שערך ה-y שכוח הכבידה העניק לו נשמר והקארט עדיין נופל מקצה רמפה:

void FixedUpdate()
{
    Vector3 vel = rb.linearVelocity;
    vel.z = cruise;            // קדימה במהירות של בדיוק cruise מטר לשנייה
    rb.linearVelocity = vel;   // y שומר על הערך שהכבידה קבעה לו
}

הגדרת y ל-0 גם כן הייתה משליכה את המהירות שכוח הכבידה העניק לו בכל צעד, והקארט היה גולש מטה מקצה הרמפה במקום ליפול. לפני Unity 6, המאפיין הזה נקרא velocity. במדריכים ישנים עדיין כותבים rb.velocity: ב-Unity 6 הקוד מתקמפל, אך מופיעה אזהרה ש-velocity מיושן וששמו שונה ל-linearVelocity. גם drag שונה ל-linearDamping באותו אופן. כתבו את השמות החדשים.

challenge icon

אתגר

קל

הרובוט הולך על משטח מוגבה. גרמו לו ללכת באמצעות החצים במהירות של בדיוק speed מטר לשנייה (3 ב־Inspector): ימינה ושמאלה לאורך ציר x, ולמעלה ולמטה לאורך ציר z, תוך שימוש בצירים הגולמיים כדי שלא תהיה הדרגתיות.

  • כשאף חץ לא לחוץ, הוא נעצר מיד.
  • כוח הכבידה עדיין פועל: אם הרובוט יורד מקצה המשטח, הוא נופל לקרקע שמתחתיו.

לחצו על Play והוליכו אותו מעבר לקצה, ואז לחצו על Check.

נסו בעצמכם

using UnityEngine;

public class RobotWalk : MonoBehaviour
{
    public float speed = 3f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        // נוע בדיוק במהירות speed באמצעות מקשי החצים, תוך שמירה על ערך ה-y של כוח הכבידה
    }
}
quiz iconבחנו את עצמכם

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

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