חיבור וקטורים
חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 17 מתוך 67.
אפשר לשמור Vector3 במשתנה, ושני וקטורים כאלה מתחברים באמצעות +: רכיב x מתחבר לרכיב x, רכיב y לרכיב y ורכיב z לרכיב z. כך שתי דחיפות משתלבות לתנועה אחת. כדור החוף הזה מתגלגל קדימה במהירות של 2 יחידות לשנייה, בעוד הרוח דוחפת אותו ימינה במהירות של יחידה אחת לשנייה:
Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);
void Update()
{
Vector3 move = roll + wind; // (1, 0, 2)
transform.position += move * Time.deltaTime;
}כפל של וקטור במספר מכפיל כל אחד מהרכיבים שלו: wind * 3 הוא (3, 0, 0), כלומר סערה, ו-move * Time.deltaTime ממיר תנועה לשנייה לתנועה של הפריים הנוכחי. גם חיסור פועל רכיב אחר רכיב, ו-a - b הוא הצעד שמוביל מנקודה b לנקודה a. אין * בין שני וקטורים: הביטוי roll * wind לא מתקמפל.
אתגר
קלהזרם של הנהר תמיד סוחף את הסירה. כל עוד מקש החץ למעלה לחוץ, גם motor של הסירה דוחף אותה, בנוסף לזרם. שניהם מתארים תנועה ביחידות לשנייה, המוגדרות ב-Inspector: הזרם הוא (1, 0, 0) והמנוע (0, 0, 3).
לחצו על Play וחצו את הנהר באמצעות החץ למעלה, ואז לחצו על Check.
נסו בעצמכם
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// הזרם תמיד סוחף את הסירה.
// כל עוד מקש החץ למעלה לחוץ, גם המנוע דוחף.
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות התכנות ב-Unity
1הסקריפט הראשון שלך
שלום, Unityהצב את הקובייהזוז בכל פרייםהסתובב בכל שנייהנווט בעזרת המקשיםסיכום: נהג בקובייה4וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן10מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: מתעד מחזור החיים