הטקסט המלא של הדקות הראשונות בהרצאה «Sprite» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
היום אנחנו נדבר על ספרייטס וספרייטשיטס. אם אתם זוכרים, אז יש לנו למשל את הפלייר, ולפלייר יש ספרייט רנדרר, ובתוך הספרייט רנדרר יש לי פה את הספרייט שהוא מציג.
אני מחקתי מפה את הסקריפט וניקיתי קצת, מחקתי גם את הקיוב ואת שאר הפליירים, וגם יצרתי פה תיקייה של פריפאבס לפלייר, במידה ואני אצטרך להשתמש בו בעתיד. מה שכן בתוך הפריפאב היה קישור לקובץ סקריפט שמחקתי אז כרגע מופיע לי פה nothing selected בעצם הסקריפט לא מופיע יותר אז הוא לא מופיע גם בפריפאב אז אם אני אלך פה לפריפאב אעשה remove component אלך לפלייר ואני אעשה
ריוורט ולא משנה לא מעניין כל כך הוא מחק לי מפה את הסקריפט אז התחלנו לדבר על ספרייט ספרייט זה בעצם גרפיקה דו-מימדית שבעיקר מה שנשתמש בו במשחקי דו-מימד. ביוניטי אפשר לשלב מודלים תלת-מימדיים בתוך משחק דו-מימד וזה לא רלוונטי לנו כרגע אבל רק שתדעו שקיימת האופציה.
אז יש לנו בעצם את הספרייט וכל גרפיקה שאנחנו נגרור לתוך הפרויקט תופיע לנו כספרייט. עכשיו, מה שחשוב לדעת קודם כל יש לי פה דוגמה לספרייט שיט יש לי פה בעצם ספרייט שיט שהוא מחולק לפריימים מה שנקרא אני אצור פה תיקייה לספרייט ואני אגור את ההירו לתוכה ובעצם יש לי פה
את ההירו ואם אני הולך לאינספקטור אז אנחנו נראה פה זה יכול להיות שיופיע כאן אתם יכולים להגדיל אותו מפה כרגע זה מופיע לי כגרפיקה אחת.
תכף נטפל בזה. וברגע שגררנו את הקובץ לתוך הפרויקט, אז הוא גרר אותו כ-Sprite 2D End UI, כאשר אם אתם זוכרים בהתחלה כשיצרנו פרויקט דו-מימד, זה אומר שבדיפולט כשאני אגרור גרפיקות לתוך הפרויקט הוא, זה בעצם יבחר לנו את האופציה הזאת, יגרור אותם כספרייטים.
יש לנו פה את הדיפולט שזה במידה ואנחנו נעבוד בפרויקט תלת מימד, אז יש לנו את הדיפולט שזה טקסטורות שאפשר להלביש על מודלים ויש לנו כל מיני סוגים שונים של טקסטורות אבל אנחנו נעבוד בעיקר עם ספרייטים.
עכשיו עוד משהו שחשוב זה הספרייט מוד סינגל במקרה שלנו אנחנו נעבוד עם פה אנחנו נעבוד עם בעצם אנחנו נצטרך לחלק את הגרפיקה לתמונות נפרדות אנחנו נעביר פה למולטיפל ואז אנחנו לוחצים על אפלי ואנחנו אנחנו יכולים לפתוח את הספרייט אדיטור כרגע זה עוד חלון שעוד לא הכרנו פה אנחנו יכולים בעצם לחלק את הגרפיקות אנחנו נעשה את זה באמצעות סלייס.
אני יכול גם כן יש שיטות שונות לעשות את זה יש לנו אוטומטי כי אם אני אעשה סלייס הוא בוחר לבד את ה.. הוא מזהה לבד איפה יש גרפיקות והוא בוחר אותם זה פחות טוב במקרה הזה אני פשוט אראה למה אני אכניס פה אפליי ובעצם אני אצור את האנימציה, אחרי זה נראה איך אנחנו משנים אותה.
אז בחרתי לי פה, עשיתי פה שינוי של ה... עשיתי אפליי, וכרגע מופיעות לי פה המון המון ספרייטים, כאשר כמו שאנחנו רואים, בעצם מה הבעיה פה?
שהספרייט עצמו, מכיוון שהספרייט שיט היה מחולק בצורה שהגודל קבוע, פה אנחנו רואים שהגודל משתנה, וגם כשנריץ את האנימציה, הדמות עצמה תזוז.
אז זה מה שלא בסדר בחלוקה הזאת שוב ספציפית במקרה הזה יכול להיות שיהיו מקרים שבהם אנחנו כן נבחר באוטומטיק אבל פה אני אעשה את זה פשוט לפי סל קאונט עכשיו אני מסתכל לראות שיש פה 8 ברוחב 3 שורות אז קולומס 8 רואוס 3 אני אעשה סלייס והוא חילק לי את הגרפיקות כאשר הוא זיהה לבד שפה אין לי ואז הוא לא סימן לי אותם אני עושה אפליי
וכרגע אם אנחנו נריץ, לא נריץ, אנחנו נבדוק גרפיקה גרפיקה אנחנו נראה בעצם את האנימציה רצה. אז עכשיו נמחק את הפלייר ומה שאני יכול לעשות כרגע זה, לא אני אחזור רגע לקובץ הזה ואני אסביר עוד משהו, יש לנו פה pixels per unit.
unit זה בעצם היחידות שבהן unity עובד כאשר בגדול לא נגיד שזה מוסכמה גורפת אבל די סטנדרט שיחידה היא מטר. אנחנו יכולים לראות במצלמה שהסייז שלה הוא 5. אם אני אגדיל אותו לפני זה אני אראה פה שיש פה בעצם סוג של גריד כאשר כל יחידה בגריד היא חצי על חצי אז יש לנו פה 5 לגובה ו5 מעל קו האפס ו5 מתחת.
זה בעצם 10 ריבועים שזה 5 יחידות אם נשנה את זה ל-6 זה גדל לי בעוד ריבוע לכל כיוון אבל נחזיר את זה ל-5. אז מה עוד שיש לי פה יש לי pixels per unit עכשיו אני מסתכל פה על הגודל של הגרפיקה ואני רואה 640 על 282 מה שאומר שהגובה של הדמות אם אני אפתח את את הקלקולטור 282 נחלק לשלוש יש לנו 94 94 פיקסלים זה הגובה של הדמות אני רוצה ש-94
אני רואה שגם יש לי פה רווח אז נניח נניח שאני רוצה שבמקרה שלנו אני רוצה שהדמות תהיה פחות או יותר יחידה אחת אולי קצת יותר אז אני אסמן פה 64 ושוב אני אלחץ supply ועכשיו אני יכול פשוט לגרור אחת מהגרפיקות למשחק פה לסצנה שלי ויש לי פה את הדמות.
עכשיו אני אשנה לה רק את השם לפלייר ומה שאנחנו נעשה עכשיו זה נתחיל להוסיף לאנימציות. אז לצורך העניין הזה אני הולך ל-window, animation, שימו לב יש אנימטור, לא את זה, אנימשן ואני אגרור אותו, אני אוהב לעבוד איתו כאן.
אני שם לב שהפלייר שלי, בחרתי אותו ואני לוחץ פה על create. הוא שואל אותי שם של קובץ שימו לב אנחנו הוא פותח את התיקיית אסד של הפרויקט אני אצור תיקייה חדשה animations אני אפתח אותה ואני אקרא לזה איידל.
מה שעכשיו אני הולך לעשות זה אני הולך לבדוק פה איזה פריימים הם של האנימציית איידל עד לכאן מ-0 עד 7 אתם הולכים ללמוד גם תכנות בקרוב אז תתרגלו להתחיל לספור מ-0 ואני אני גורר את הפריימים האלה לתוך החלון של האנימשן לדופ שיט יש לי פה גם curves לא מעניין אותנו כרגע ומה שאנחנו רואים שבאנימשן יש לנו למה הוא עושה בעצם אנימציה הוא עושה אנימציה
לספרייט. אני קצת יותר אתמקד שנוכל לראות עכשיו יש לנו פה גם עוד דבר חשוב שזה ה samples שזה בעצם כמה פריימים בשנייה אם נריץ את זה על 60 זה יהיה קצת מטורף.
אנחנו נשנה את זה ל-12 והנה יש לנו איידל אנימיישן כאשר גם פה הכפתורים חשובים בעצם לפני אני אסביר שיש לנו באנימיישן מה שנקרא keyframes שבעצם אני יכול להגדיר ערכים מסוימים בתוך ה-keyframes ואז יוניטי או כל תוכנת אנימציה אחרת שלא נשתמש בה היא תחשב לנו מה קורה, היא תחשב לנו לבד מה קורה בין ה-keyframes.
אנחנו גם יכולים לעשות אנימציה לעוד הרבה דברים בעצם ברגע שפה אנחנו נראה אם נפתח פה על אל פרופרטי יש לנו פה כרגע את הדברים שאנחנו יכולים לעשות להם אנימציה אנחנו יכולים לעשות אנימציה לטרנספורם לפוזישן לרוטיישן וכן הלאה לספרייט רנדרר אני יכול לעשות אנימציה לקולור
וכן הלאה לא רלוונטי כל כך כרגע כרגע אנחנו נישאר עם הספרייט ובעצם עשיתי סייב קונטרול אז התחלתי בעצם דיברתי פה על הכפתורים אז בעצם הכפתורים האלה מנווטים לי בין הכי פריימס אם סתם נבחר פה למשל וננסה לשנות ערך אז זה לא כל כך יעבוד צריך להתרגל לעבוד עם החלון של האנימיישן כדאי מאוד להתרגל לנווט פה עם הכי פריימס וזה כמובן להגיע לסוף או להתחלה