
Time.deltaTime, שהוא הזמן שעבר מאז הפריים הקודם.Time.deltaTime גורמת לאויב לנוע יחידה אחת בשנייה בלי קשר למספר הפריימים במחשב. התנועה נעשית על ידי שינוי הטרנספורם ולא דרך מנוע הפיזיקה.הטקסט המלא של הדקות הראשונות בהרצאה «פיתוח דמות האויב - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה שאנחנו הולכים לעשות בשיעור הזה ובשניים-שלושה שיעורים הקרובים זה לבנות את האויב שלנו. כמובן שלא מדובר על אויב אחד, זה יהיה פריפאפ שאנחנו נשכפל וכשנבנה את הלבל, אבל בשביל זה צריך קודם כל לבנות אותו.
אז יהיה לי בעצם שני סוגים של אויבים, אחד מהם יעמוד במקום והשני יפטרל מצד לצד, אני אשים אותו על פלטפורמה, אם הוא ייתקל בקיר או אם הפלטפורמה שלו תיגמר אז הוא ידע לזהות את זה והוא יסתובב לצד שני וכמובן ברגע שאחד מהם יראה את הפלייר אז הוא יעצור וייראה אז בוא נתחיל מזה שאני אעצור לו רגע פלטפורמה זמנית ואני אשים פה נשנה
את הסקייל של ה-X ל-2 והנה יש לי פלטפורמה שתשמש אותי כרגע לאויב. שלב הבא יש לנו פה בתוך הג'וג'ו ג'אנגל פק יש לנו את הספרייט שיטס ובתוך הספרייט שיטס יש לי את האנמי ואני אגרור אותו לתיקייה של הספרייטס את כל התיקייה ועכשיו אני אבחר פה את כל הגרפיקות האלה את כל הטקסטורות אני אשנה את הפיקסל ספר יוניט ל-16 כמו שעשינו עם הפלייר ואת הפילטר מוד אני משנה לפוינט אני לוחץ על הפליי עכשיו אנחנו נתחיל מהאויב
שמפטרל אז האנימציה שרלוונטית לזה היא גראנט ראן ובשביל שיהיה לי פה את האנימציה אני כאמור משנה את הספרייט מוד למולטיפל, לוחץ על הפלאי ובספרייט אדיטור אני מחלק אותו לפי כמות הפריימים שלי לעשרה פריימים ואני לוחץ על הפלאי.
עכשיו מה שנוצר לי פה לא חדש לנו זה כל הפריימים של האנימציה. אני אבחר את כולם עם שיפט ואני אגרור את זה לסצנה ומיד הוא ישאל אותי איזה אנימציה לשמור.
אז בתוך התקייה של האנימציות אני אקרא לזה אנימי ראן כמו שיש לנו פלייר ראן יש לנו גם יהיה לנו אנימי ראן ומכיוון שקוראים לגיים אובייקט בינתיים גרנט ראן אז נוצר לי גם גרנט ראן שהוא אנימטור קונטרולר אז גם לו אני אשנה את השם כמו שיש לנו פלייר אנימטור קונטרולר, יהיה לנו אנמי אנימייטר קונטרולר וגם את הגיים אובייקט הזה עצמו אני משנה לו
את השם לאנמי ובשביל שנראה אותו אנחנו נצטרך לשים אותו בסורטינג לייר של גיים והנה הוא והנה האנימציה שלו אוקיי שלב הבא זה להוסיף לו ריג'יט באדי 2D ובוקס קוליידר גם 2D אני רואה שהקוליידר שלו קצת גדול מדי אז אני אשנה לו את הגודל של הקוליידר לאחד וזהו אז עכשיו אם אני לוחץ על פליי הוא גם ייפול לי לפלטפורמה
רק שאני רוצה שהוא יופיע יותר נמוך אני רוצה שהוא יופיע בערך באמצע של הדשא בשביל זה אני צריך לשנות את הקוליידר של הגראונד אז בסייז של ה-y של הקוליידר של הפלטפורמה אני אשנה נניח ל-2 וזה קצת פחות מדי אז 1.8 וזה נראה לי די מתאים אם אני לוחץ עכשיו על פליי אז הוא מופיע במקום הנכון אבל לא בסדר הנכון מה שאני הולך לעשות עכשיו אני לא הולך לשנות לו את הסורטינג לייר אבל יש לנו פה גם כאן גם את אורדר אין לייר באיזה סדר לצייר בעצם
את הדברים שבאותה שכבה אז אני פשוט אשנה לו את האורדר אין לייר מ-0 ל-1 ואני שומר אני לוחץ על פליי ואנחנו נראה אותו עכשיו במיקום הנכון אוקיי אז יצרנו את האנמי שלנו כרגע אני בשלב הזה כבר אגרור אותו לתוך התקייה של הפריפאבס ויצרתי לי פריפאבס של אנמי וגם האובייקט הזה משוייך לפריפאבס מעכשיו ולכן הוא גם צבוע בכחול.
אוקיי בשלב הבא זה לטפל בתנועה של האובייקט וזה נעשה באמצעות סקריפט כמובן. אז אני לוחץ פה בסקריפט על קריאיט סי שרף סקריפט אנמי קונטרולר ואני כמובן צריך גם לגרור אותו לתוך הגיים אובייקט של האנמי.
אז אם עכשיו אני אגרור אותו לפה הוא שייך לפה אבל אם אני הולך פה לפריפאב הוא לא שייך לפה. אז מה שאני עושה פה בגיים אובייקט עצמו אני לוחץ על אפליי ואז בפריפאב כן יהיה לי את האנמי קונטרולר.
אוקיי עכשיו בוא נפתח את הסקריפט ואני רוצה לדבר קצת על כל הנושא של ה-update ואיך אני בעצם הולך להזיז אותו ביחידות לשנייה כאשר יש לי פונקציה שנקראת כל פריים ולא כל שנייה.
והסיבה שאני עושה את זה היא שאני רוצה לשלוט בתנועה של השחקן לא באמצעות המנוע של הפיזיקה אלא באמצעות פשוט להזיז אותו להזיז לו את הטרנספורם.
אוקיי אז קודם כל אני יוצר משתנה של מהירות שהוא יהיה float x speed ונניח שהוא יהיה 3. עכשיו אמרנו שהפונקציה update נקראת call frame למזלנו יש בunity class שנקרא time ויש לו משתנה שמכיל את הזמן שעבר מאז הפריים הקודם אז אותו משתנה נקרא time.delta time וdelta time the time in seconds it took to complete the last frame אוקיי אז יש לי פה את הזמן מאז הפריים הקודם וזה אומר שאם אני
מזיז אותו כל פעם ב-time.delta time בכל update הוא יזוז לי יחידה בשנייה אני מקווה שזה ברור