
הטקסט המלא של הדקות הראשונות בהרצאה «פיתוח דמות האויב - חלק 5» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו ממשיכים לעבוד על האנמי שלנו, היום אני אעשה שני דברים. אחד מהם זה מנגנון שאני אוכל לבחור בהתחלה אם זה האנמי שלי הוא מפטרל או שהוא עומד במקום.
הדבר השני שאני אעשה זה אני אוסיף את הדיטקשן לפלייר כשהוא נכנס לשדה הראייה שלי. אז בשביל להוסיף את המנגנון של האם הוא פטרולינג או לא, אני יכול פשוט באמצעות הבוליאן הזה, אם אני הופך אותו לפאבליק, אני יכול לראות אותו כאן באדיטור ואז כשאני בונה את ה-level ושם את האויבים שלי,
אני יכול להחליט איזה מהם יעמוד ואיזה לא. אז יש לי, שימו לב לא להתבלבל, יש לי בוליאן שנקרא פטרולינג שהוא שייך לסקריפט ויש לי גם בתוך האנימטור פרמטר שנקרא פטרולינג וצריך להבדיל בין מתי הערך של זה משתנה לבין מתי אני משנה את הערך של האנימטור באמצעות סט בול.
אז בואו נעשה את זה. אוקיי, אז עכשיו מחקתי את הסטארט אבל אני אוסיף אותה מחדש כי פה אני אעשה את זה הסוג של האויב בין אם הוא עומד או בין אם הוא רץ זה משהו שאני קובע בהתחלה אז זה יהיה בסטארט void start ועכשיו if patrolling אז אני צריך גישה לאנימטור ולפני זה אני רק רוצה בשביל למנוע
בלבול מכיוון שאני שולט בפטרולינג מהאדיטור אני מוחק מפה את ההתחול שלו אני צריך גישה לאנימטור אז אני גם אגדיר פה public אנימטור אנים וכאשר הוא יופיע לי פה אני גורר את האנימי שלי עכשיו איף פטרולינג אז אני רוצה לעשות לאנימטור להגיד לו הוא מפטרל אז אנים נקודה סט בול פטרולינג כאשר הפטרולינג הזה שהוא בסטרינג זה בעצם הפרמטר של האנימטור
ואם הוא פטרולינג אז true else false וזהו עכשיו בואו נלך לסצנה שימו לב יש לנו פה גם באפדייט איף פטרולינג וגם בסטארט. אני לוחץ פה על פליי, כרגע הוא מסומן כפטרולינג, אז הוא ירוץ לי.
אם אני עוצר, אני מבטל את הפטרולינג, אני לוחץ פליי, אז הוא עומד. אם אני אשנה פה את זה, הוא יתחיל לזוז, אבל האנימטור לא ישתנה.
למה? כי את הפטרולינג הזה באפדייט אני משנה את התנועה שלו ואני לא משנה את האנימציה. אז אם עכשיו אני לוחץ פה על פטרולינג, הוא זז אבל הוא לא משנה את האנימציה.
אז אנחנו לא עושים את זה בזמן ריצה זה רק בהתחלה כשאני בונה את הלבל ואני מחליט איפה יהיה אויב מאיזה סוג אז אני יכול לסמן אותו אם הוא למשל עומד על פלטפורמה קטנה אני יכול לסמן שהוא לא פטרולינג ואם הוא עומד על פלטפורמה גדולה אני יכול לסמן שהוא כן פטרולינג וברגע שעשיתי את זה ברגע שאני מריץ זה כבר לא ישתנה זה בעצם הסוג של האויב שלי.
הלאה השלב הבא שאמרתי מה שאני אעשה עוד היום זה להוסיף את הזיהוי של השחקן. אז עכשיו אם אני הולך לאנמי שלי כמו שהיה לנו וולד דטקטור וגראונד דטקטור יהיה לי גם פלייר דטקטור אז הוולד דטקטור שלי והגראונד דטקטור משתמשים בבוקס קוליידר וגם הפלייר דטקטור שלי משתמש בבוקס קוליידר אני יוצר אמפטי גיים אובייקט פלייר דטקטור ובוקס קוליידר 2D רק שאני רוצה שהוא יהיה די גדול אני רוצה
שהוא יזהה את כל האזור הזה אז נניח הסייז שלו יהיה 7 והאופסט יהיה 3, 3.5, לא, אני אעשה אותו 6, אוקיי. אז בניתי לי את הפלייר דיטקטור ועכשיו אני גם כמובן אוסיף לו סקריפט, פלייר דיטקטור ויצרתי את הסקריפט שלי.
אני כמובן שאני אגרור אותו לתקייה של הסקריפט. ל-enemy שלי פה אני לוחץ apply כדי שהוא יופיע לי גם כאן בפריפאב.
ובואו נערוך את הפלייר דיטקטור שלנו. פה לא מעניין אותי הסטארט והאפדייט. אני רק רוצה לזהות קוליז'נים שבעצם הם טריגרים אז void onTriggerEnter2d עכשיו אני רוצה