מבט קדימה
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 47 מתוך 63.
מצלמה שמכוונת אל מטרה נעה מציגה במידה שווה את המקום שממנו היא באה ואת המקום שאליו היא הולכת. במקום זאת, כוונו לנקודה שלפניה: מיקום המטרה ועוד המהירות שלה כפול זמן ההובלה בשניות. המצלמה הזו, שמוצבת על חצובה לצד מסלול מרוצים, מסתובבת כדי לעקוב אחר המכונית ומכוונת לנקודה שנמצאת חצי שנייה לפניה:
public Rigidbody car;
public float lead = 0.5f;
void LateUpdate()
{
Vector3 aim = car.position + car.linearVelocity * lead;
transform.LookAt(aim);
}במהירות של 20 יחידות לשנייה, נקודת הכיוון נמצאת 10 יחידות לפני המכונית; במהירות של 4 יחידות לשנייה, היא נמצאת 2 יחידות לפניה; ואם המכונית עומדת במקום, המצלמה מכוונת ישירות אליה. המהירות היא התנועה האמיתית של המכונית, ולכן הנקודה נמצאת במקום הנכון גם בהחלקה או בנסיעה לאחור. transform.forward לא יתאים לכך: הכיוון הקדמי של מכונית שנוסעת לאחור מצביע הרחק מהמקום שאליו היא נוסעת, והכיוון הקדמי של כדור מתגלגל מסתובב יחד איתו.
גם מצלמת מעקב יכולה לכוון קדימה: היא ממסגרת נקודה שנמצאת לפני המטרה שלה, במקום את המטרה עצמה. כשהנקודה יכולה להתהפך לצד השני, למשל כשהשחקן מסתובב, שנו את ההובלה מעט בכל פריים, אחרת כל התצוגה תקפוץ בבת אחת.
אתגר
בינוניתצוגת הצד הזו עוקבת אחרי הדמות הרצה לאורך ציר x (החצים מזיזים אותה שמאלה וימינה). גרמו למצלמה להציג יותר מהכיוון שאליו הדמות רצה:
- המצלמה נמצאת במרחק של
ahead(3) יחידות לפני הדמות הרצה לאורך ציר x, בצד שאליו היא נעה בפעם האחרונה. לפני שהדמות הרצה זזה בפעם הראשונה, המצלמה ממורכזת עליה. - כשהדמות הרצה מסתובבת לכיוון ההפוך, המצלמה עוברת לצד השני במהירות של
shiftSpeed(4) יחידות לשנייה במקום לקפוץ. - כשהדמות הרצה נעצרת, המצלמה שומרת על המרחק שלה לפניה.
- הערכים של y ו-z במצלמה נשארים כפי שהם.
לחצו על Play, רוצו בשני הכיוונים ואז לחצו על Check.
נסו בעצמכם
using UnityEngine;
public class LookAheadCamera : MonoBehaviour
{
public Transform player;
public float ahead = 3f;
public float shiftSpeed = 4f;
void LateUpdate()
{
// מקם את המצלמה לפני השחקן במרחק ahead יחידות בכיוון שאליו נע לאחרונה, תוך תנועה חלקה במהירות shiftSpeed.
transform.position = new Vector3(player.position.x, transform.position.y, transform.position.z);
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוף