קנה מידה
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 33 מתוך 85.
transform.localScale מכפיל את גודלו של אובייקט לאורך כל אחד מהצירים שלו. אורך כל אחת מצלעותיו של קובייה כברירת מחדל הוא יחידה אחת, לכן קובייה עם localScale (4, 1, 0.5) תהיה ברוחב 4 יחידות, בגובה יחידה אחת ובעומק חצי יחידה. כדי לשנות את הגודל באופן אחיד, מכפילים את Vector3.one, שהוא (1, 1, 1). בועת הסבון הזאת גדלה ב־0.3 יחידות לשנייה עד שרוחבה מגיע ל־3 יחידות:
public float size = 1f;
void Update()
{
size = Mathf.Min(size + 0.3f * Time.deltaTime, 3f);
transform.localScale = Vector3.one * size;
}Mathf.Min(a, b) מחזירה את המספר הקטן מבין השניים, לכן size גדל עד שהוא מגיע ל־3, ואז נשאר 3.
קנה המידה משתנה סביב נקודת הציר של האובייקט, שנמצאת במרכז בצורות המובנות של Unity. מרכז של קובייה שצלעה באורך יחידה אחת ומונחת על הקרקע נמצא בגובה y = 0.5. אם משנים את גובהה ל־3 יחידות, היא מגיעה לגובה 1.5 ול־1.5 מתחת למרכז, כך שחצי ממנה שוקע בקרקע. כדי שהיא תעמוד על הקרקע, המרכז שלה חייב להיות במחצית גובהה: y = 1.5.
גודל של אובייקט-בן מוכפל בגודל של ההורה שלו: אובייקט-בן עם localScale (1, 1, 1) תחת הורה שקנה המידה שלו 2, יוצג בגודל כפול. transform.lossyScale מחזיר את הגודל הסופי שלו בעולם, והוא לקריאה בלבד; את localScale מגדירים.
אתגר
בינוניהמיסו את קוביית הקרח עד לגודל 0.4, תוך שמירה על כך שתישאר על הקרקע.
- הוסיפו שדה
float size = 1f;. בתוךUpdate(), הגדירוsize = Mathf.Max(size - melt * Time.deltaTime, 0.4f);. - הגדירו
transform.localScale = Vector3.one * size;. - שמרו על תחתיתה בגובה y = 0: הגדירו את ערך ה-y של המיקום ל-
size / 2, תוך שמירה על x ו-z.
לחצו על "שחק": הקובייה מתכווצת ונשארת על הקרקע. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Melt : MonoBehaviour
{
public float melt = 0.2f;
void Update()
{
// להקטין ב-melt בכל שנייה, עד ל-0.4, כשהחלק התחתון נשאר על הקרקע
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין