מרחב מקומי ומרחב עולמי
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 26 מתוך 85.
לאובייקט יש כיוונים משלו, נוסף על כיווני העולם. transform.forward מציין לאן חרטום האובייקט פונה (החץ הכחול בחלון Scene של Unity), ומיוצג כווקטור בעולם שאורכו יחידה אחת; transform.right ו-transform.up הם הכיוונים ימינה ולמעלה שלו. כשמסובבים את האובייקט, הם מסתובבים איתו. מטוס הנייר הזה מסובב ב-90 מעלות סביב y בסצנה, ולכן הוא טס לאורך ציר x של העולם, בכיוון שאליו הוא פונה:
public float speed = 4f;
void Update()
{
transform.position += transform.forward * speed * Time.deltaTime;
}transform.Translate(Vector3.forward * speed * Time.deltaTime) עושה את אותו הדבר, מכיוון ש-Translate מפרשת את הווקטור במרחב המקומי של האובייקט: שם, Vector3.forward מציין את הכיוון הקדמי של האובייקט. העבירו את Space.World כארגומנט שני, ואז היא משתמשת בצירי העולם במקום זאת, כך ש-transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World) מזיזה את האובייקט לאורך ציר z של העולם, בלי קשר לכיוון שאליו המטוס פונה.
transform.Rotate גם מסובבת סביב הצירים המקומיים של האובייקט. במבט מלמעלה, זווית חיובית סביב y מסובבת אובייקט זקוף ימינה שלו, וזווית שלילית מסובבת אותו שמאלה; גם transform.forward שלו מסתובב יחד איתו.
אתגר
קלתנו לטנק בקרות טנק: סובבו במקום, סעו בכיוון שאליו הוא פונה.
- בתוך
Update(), כל עוד מקש החץ ימינה מוחזק, הפעילוtransform.Rotate(0, turn * Time.deltaTime, 0);, ועם-turnעבור מקש החץ שמאלה. - כל עוד מקש החץ למעלה מוחזק, הפעילו
transform.Translate(Vector3.forward * speed * Time.deltaTime);.
לחצו על "שחק", סובבו וסעו: הטנק נוסע לכיוון שאליו חזיתו פונה. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Tank : MonoBehaviour
{
public float speed = 3f;
public float turn = 90f;
void Update()
{
// חצי ימינה/שמאלה: סיבוב סביב ציר y. חץ למעלה: נסיעה בכיוון שאליו פונה הטנק.
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין