מהירות
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 5 מתוך 71.
rb.linearVelocity מתאר איך הגוף נע כרגע: Vector3 במטרים לשנייה לאורך צירי x, y ו-z. קריאת הערך מגלה לאן הגוף נע, ו-rb.linearVelocity.magnitude היא המהירות שלו. הגדרת הערך משנה מיד את התנועה, בלי האצה הדרגתית ובלי קשר למסה: קופסה במשקל 1 kg וכספת במשקל 50 kg, שתיהן מוגדרות למהירות של 2 m/s, ינועו בדיוק במהירות של 2 m/s החל מצעד הפיזיקה הבא. כוח הכבידה, החיכוך והפגיעות ימשיכו לפעול עליהן לאחר מכן.
הקארט הזה נוסע קדימה במהירות של cruise m/s בדיוק. הוא מעתיק את המהירות, משנה רק את z ומשייך אותה בחזרה, כך שערך ה-y שכוח הכבידה הקנה לו נשמר, והקארט עדיין נופל מקצה הרמפה:
void FixedUpdate()
{
Vector3 vel = rb.linearVelocity;
vel.z = cruise; // קדימה במהירות של cruise m/s בדיוק
rb.linearVelocity = vel; // y שומר על הערך שהכבידה העניקה לו
}הגדרת y ל-0 גם כן תבטל בכל צעד את המהירות שכוח הכבידה הקנה לו, והקארט יגלוש מטה מהרמפה במקום ליפול. לפני Unity 6 המאפיין הזה נקרא velocity. במדריכים ישנים עדיין כותבים rb.velocity: ב-Unity 6 הקוד מתקמפל, אך מוצגת אזהרה שלפיה velocity מיושן ושמו שונה ל-linearVelocity. כך גם drag הפך ל-linearDamping. השתמשו בשמות החדשים.
אתגר
קלהוליכו את הרובוט במהירות של speed מ׳/ש׳ בדיוק, ואפשרו לו ליפול מהקצה.
- ב־
FixedUpdate(), קראו אתfloat h = Input.GetAxisRaw("Horizontal");ואתfloat vמתוך"Vertical". - הגדירו את
rb.linearVelocity = new Vector3(h * speed, rb.linearVelocity.y, v * speed);, תוך שמירה על ערך ה־y של כוח הכבידה.
לחצו על "שחק" והוליכו את הרובוט אל מעבר לקצה: הרובוט נעצר כשמשחררים, ונופל. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class RobotWalk : MonoBehaviour
{
public float speed = 3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// הזז את הרובוט באמצעות מקשי החצים במהירות speed בדיוק, תוך שמירה על רכיב ה־y של כוח הכבידה
}
}
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוףתרגלו בעצמכם: Unity אונליין