שתפו

Master Properties Tricks Featured 2

5 טריקים שלא חשבתם עליהם לשימוש ב-Master Properties

אם התחלתם עם After Effects רק בשנה האחרונה אז כנראה ש-Master Properties הוא פיצ'ר מוכר וידוע לכם, אבל הוא לא תמיד היה כאן ובעבר נדרשנו לעבוד הרבה יותר בשביל להשיג תוצאות שקל יותר להשיג היום. המטרה העיקרית של הפיצ'ר הזה הוא לאפשר לנו לשנות פרמטרים ספציפיים שבחרנו של שכבות ואפקטים בתוך קומפוזיציה ללא הצורך לשכפל וליצור קומפוזיציות חדשות.

אתם יכולים לקרוא קצת יותר על Master Properties בפוסט של אדובי, אבל אני לא בטוח שזה ייתן לכם את כל האפשרויות הטמונות בפיצ'ר המעולה הזה.

במקור הפיצ'ר הזה נועד בכדי לאפשר יצירת תבניות מונפשות לשימוש ב-Premiere עם אפשרות לשנות ערכים מסוימים אך עם הזמן הפיצ'ר קיבל עדכונים ואיפשר לנו בין היתר להשתמש ב-Master Properties גם בתוך אפטר אפקטס.

בפוסט הזה לא אכנס להסברים מפורטים על הפיצ'ר , אלא אתן טיפים שאולי לא חשבתם עליהם, לשימוש בפיצ'ר הזה לטובתכם בתוך אפטר אפקטס. בעתיד יעלה למגזין מדריך מפורט יותר. רוצים להתעדכן כשהוא עולה? הירשמו לרשימת התפוצה בטופס ההרשמה שבשמאל המסך והשארו מעודכנים.

ועכשיו לטיפים:

1. מערכת חלקיקים משתנה

לפעמים עולה הצורך ליצור מערכת חלקיקים שתופיע במספר מקומות בסרטון שלנו. אנו מטפלים נקודתית במערכת החלקיקים, בין אם יצרנו אותה ב-Trapcode, בין אם ב-Stardust או כל תוסף אחר. אנו בונים את מערכת החלקיקים בצורה שתתאים לנו תוך שינוי המון פרמטרים שיגרמו למערכת החלקיקים לעבוד כמו שאנחנו רוצים. העניין הוא שכשאנחנו רוצים להשתמש בה שוב במקום אחר בפרויקט אנחנו משכפלים את השכבה שעליה הכלנו את מערכת החלקיקים.
אבל מה קורה אם הלקוח (או אפילו אנחנו) רוצים לשנות את מערכת החלקיקים? מה קורה אם רוצים שכל מערכות החלקיקים שעבדנו עליהן יראו קצת אחרת? אנחנו נאלצים לשנות את כל השכבות שעליהן עבדנו.

רובנו בטח יודעים שקיים בהמון אפקטים משתנה שנקרא Seed. תפקידו לשנות את חישוב הפונקציה שפועלת מאחורי הכללים ובכך לשנות את המופעים של החלקיקים שלנו. במילים פשוטות – כשמשנים את הSeed משנים את סדר החלקיקים.

מה שיפה פה זה שאנחנו יכולים לייצר תת קומפוזיציה למערכת החלקיקים שלנו ולהגדיר את ערך ה-Seed כמשתנה אפשרי ב-Essential Graphics. באופן הזה אנחנו מאפשרים לעצמנו לשנות את סדר החלקיקים בכל מקום שבו נניח את קומפוזציית החלקיקים.

מגדירים את ערך ה-Random Seed כמשתנה ב-Essential Graphics של הקומפוזיציה

אחרי שעשינו את זה נוכל למקם את תת הקומפוזיציה שלנו בתוך הקומפוזיציה הראשית ולשנות דרך ה-Master Properties את הרנדומליות של האפקט. בתמונה הבאה אפשר לראות בקוביות המסומנות איך ערכי ה-Random Seed שונים ומציגים רנדומליות שונה לאותה קומפוזיציה.

רנדומליות חלקיקים שונה מתוך אותה תת קומפוזיציה. (צילום המסך מתוך פרויקט למופע של להקת דמנטה)

אקסטרה טיפ – אפשר לייצר את הרנדומליות בצורה אוטומטית ע"י אקספרשן פשוט על ה-Random Seed. יש כל מיני גרסאות ליצירת ערך אקראי, אבל מה שעובד פה מספיק טוב זה לכתוב מספיק טוב זה לכתוב index בתיבת האקספרשן. כך הערך של ה-Random Seed יהיה שווה למספר השכבה ויהיה שונה בכל פעם שנשכפל את השכבה. נוכל לשכפל אותה כמה שנרצה ובכל פעם נקבל מערכת חלקיקים בפיזור שונה.

כן, גם הבדל של מספר אחד ב-Random Seed ייצור לנו פיזור שונה לגמרי שאינו קרוב לפיזור של השכבה הקודמת.

אם נרצה לשלוט גם בצורה אקראית וגם בצורה עצמאית על הפיזור של החלקיקים נוכל לכתוב את האקספרשן value+index.

אקספרשן index משנה את ערך ה-Random Seed בהתאם למספר השכבה

2. החלפת תמונות או סרטונים

הרבה פעמים יש לנו תמונות או סרטונים (לצורך העניין – פוטג'ים) שחוזרים עם אותו האפקט או העיצוב. במקום ליצור מספר קומפוזיציות שונות, אחת לכל פוטג', אנחנו יכולים ליצור קומפוזיציה אחת לכל הפוטג'ים ולעצב אותה כרצוננו. כדי לאפשר תצוגה של כל הפוטג'ים דרך קומפוזיציה אחת אנחנו צריכים להגדיר את הדרך שבה נגיד לאפטר אפקטס מתי מופיע כל פוטג'. את זה אנחנו יכולים לעשות בקלות עם אקספרשן פשוט.

ניצור את הקומפוזיציה שלנו עם העיצוב/צבעוניות/אנימציה הנדרשים ונכניס לתוכה את כל הפוט'גים שלנו שכבה מתחת לשכבה. עכשיו ניצור שכבת NULL שנקרא לה Controller לשם הנוחות והסדר, ועליה נשים אפקט Slider Control. תפקיד הקונטרולר הזה הוא לקבוע איזו שכבה תוצג. אחרי שעשינו את זה נשאר לנו לגשת לפוטג' הראשון, לפתוח את ה-Opacity שלו ללחוץ Alt+Click כדי שנוכל לכתוב בו אקספרשן. וזה האקספרן שנכתוב:

s=thisComp.layer("Controller").effect("Slider Control")("Slider");
if (s==index) {100} else {0};

מה שאנחנו עושים זה בעצם ליצור משתנה בשם s עבור הערך של ה-Slider ואז אנחנו בודקים אם ערך המשתנה שווה למספר השכבה. (שימו לב שהאקספרשן עלול להיות מעט שונה בהתאם לשם של שכבת ה-Null שלנו). index הוא קוד קבוע שמייצג את מספר השכבה. ברקע שערך ה-Slider שווה למספר השכבה אז האטימות תהיה 100 (מה שיגרום לשכבה להופיע) אחרת האטימות תהיה 0 (מה שיגרום לשכבה לא להיראות).

את האקספרשן הזה נכתוב על ה-Opacity של כל אחד מהפוטג'ים. בגלל שכל פוטג' נמצא על שכבה שונה תמיד יופיע רק פוטג' אחד שמספרו יהיה זה שמופיע בסליידר. לדוגמא – כשהסליידר יציג את המספר 2 תופיע רק שכבה 2 והשאר יהיו על 0% אטימות. כשהסליידר יציג את המספר 5 תופיע רק שכבה 5 וכן הלאה. (שימו לב: מגרסה 17.0. נכנס אפקט של Dropdown Menu Control שמפשט את עניין הבחירה של השכבה במקום להשתמש בסליידר של מספרים. ניתן לקרוא על זה כאן)

את הערך של הסליידר נכניס לתוך התבנית ב-Essential Graphics וכעת כשנכניס את הקומפוזיציה שלנו לתוך קומפוזיציה אחרת נוכל למצוא תחת ה-Master Properties אפשרות לשנות את ערך הסליידר וכך בעצם לשנות את איזה פוטג' אנחנו מציגים.

קראו כאן על דרכים נוספות לשלוט באטימות השכבה.

קומפוזיציה אחת שמציגה בכל פעם תמונה אחרת

3. תבנית טקסט לעברית ולאנגלית

הרבה פעמים נרצה ליצור תבנית אנימציה שכוללת בתוכה טקסט, בין אם לסופר (Lower Third), למעברונים או לכותרות.

העניין הוא שאנחנו נמצאים במדינת ישראל ופה, מה לעשות, כותרות בעברית הן מימין לשמאל,  וכולנו יודעים שאפטר אפקטס עדיין לא יודעת להתמודד עם זה כמו שצריך.

הדבר הנכון לעשות הוא להכין מראש את האפשרות להחליף בקלות בין תבנית בעברית לתבנית באנגלית, ללא הצורך להכין תבנית נוספת. את זה ניתן לעשות בקלות בעזרת Checkbox Control שעוזר לנו לסמן אם הטקסט באנגלית או בעברית. את ה-Checkbox הזה נכניס לתוך חלונית ה-Essential Graphics של התבנית שלנו וכך היא תופיע לנו ב-Master Properties של הקומפוזיציה בכל מקום שנשים אותה. בנוסף לצ'ק בוקס נכניס ל-Essential Graphics גם את ערך ה-Source Text כדי שנוכל לשלוט על הטקסט שמופיע בתבנית וכך נוכל בקלות לכתוב לתבנית טקסט חדש ובעזרת צ'קבוקס להחליף בקלות בין טקסט בעברית לטקסט באנגלית.

הפריסט שיצרנו בשבילכם יכול להקל לכם על התהליך. הוא מייצר מראש צ'קבוקס להחלפה בין עברית לאנגלית שתוכלו להכניס לתבנית.

תבנית כותרת שמתאימה גם לעברית וגם לאנגלית

4. בחירת שורת טקסט מתוך תיבת טקסט

הטריק הבא הוא טריק מדהים שיכול לחסוך לכם כל כך הרבה זמן במקרים מסוימים. אני מדבר על המוווווון זמן.

אני אתן דוגמא קונקרטית לפני שאני אסביר את הטריק עצמו: עלה אצלי הצורך להכין סרטון "שומר מסך" לכנס חברה. הלקוח ביקש להציג בסרטון את שמות האורחים בכנס. עד כאן סבבה, רק שהלקוח העביר אקסל עם 300 שמות של אורחים. מה עושים עכשיו? מתחילים להנפיש כל שם ושם?

אז קודם כל נתחיל מהדבר היותר ברור – מתחילים מהכנת תבנית שמנפישה את כניסת השם עם כל האפקטים הנלווים (בלארים למיניהם, אופטיקל פליירס ועוד) ואת ה-source text של השם מכניסים ל-Essential Graphics כדי שנוכל לערוך בקומפוזיציה הראשית שלתוכה אנחנו מכניסים את התבנית. אז עכשיו יש לנו קומפוזיציה ראשית ויש לנו תבנית טקסט שאנחנו יכולים לשכפל כמה פעמים שאנחנו רוצים ובכל פעם לשנות את השם שיופיע בתבנית הטקטס, אבל עדיין נדרש מאיתנו להזין בתבנית 300 שמות.

פה מגיע הטריק היפה: נתחיל מלהעתיק את כל השמות שהלקוח שלח לנו ונדביק אותם כטקסט בתוך אפטר אפקטס (לא בתוך תיבת טקסט, אלא פשוט טקסט בקליק). עכשיו נכבה את השכבה שלא יראו אותה. למה עשינו את זה? כי אנחנו לא צריכים להציג אותה, אלא רק רוצים למשוך ממנה שם אחרי שם לתוך התבנית שלנו.

עכשיו שימו לב! זה עלול להשמע מורכב אבל זה לא באמת כזה מורכב.

על שכבת התבנית הראשונה נשים Slider Control ונקרא לו Counter. תפקידו לספור לנו את שורות הטקסט.
במאפיין ה-source text שנמצא בMaster Properties שלנו שאמור לשנות את השם נפתח את תיבת האקספשן ונכתוב את הקוד:

s=Math.round(effect("Counter")("Slider"));

txt = thisComp.layer("names list").text.sourceText;

txt.split("\r")[s]

הסבר זריז – יצרנו משתנה בשם s שלוקח את הערך שלו מתוך ה-Slider ששמנו על השכבה. ערך ברירת המחדל של Slider חדש הוא 0 וכך גם נשאיר אותו. מה שאומר שמשתנה s מקבל את הערך 0. לאחר מכן יצרנו משתנה txt שמקבל את ערך טקסט המקור משכבת הטקסט של השמות (לצורך העניין קראתי לה names list), ואחר כך אנחנו מבקשים מהאקספרשן להציג את מה שיש בתוך משתנה txt, אבל רק בשורה שמספרה כמספר שנמצא במשתנה s. בתכנות הספירה מתחילה ממספר 0 ולכן האקספרשן יציג את השורה הראשונה שברשימת השמות, לפי האנימציות שהגדרנו בתבנית.

עכשיו נשכפל את השכבה ונכתוב אקספרשן נוסף, הפעם על הערך של הסליידר שלנו. אנחנו רוצים "לקרוא" לשורה הבאה שברשימה ולכן אנחנו צריכים שהערך של s יהיה גבוה ב-1 מהערך של s בשכבה הקודמת. הערך של s נלקח מתוך הסליידר Counter שלנו ולכן נכתוב אקספרשן על הערך של ה-Counter:

thisComp.layer(index+1).effect("Counter")("Slider")+1

אנחנו בעצם אומרים ל-Counter להסתכל על הערך של ה-Counter בשכבה שלפניו, השכבה שמספרה גבוה ב-1 מהשכבה הנוכחית (index+1), ולהוסיף על הערך שלו מספר אחד (זה החיבור של 1+ בסוף האקספרשן). עכשיו ה-Counter שלנו מונה 1 וכך משתנה s מקבל ערך 1 והאקספשן מציג את שורה מספר 2. קולטים כמה שזה מדהים?

עכשיו, מה שעוד יותר מדהים בזה זה שנותר לנו רק לשכפל את הקומפוזיציה של התבנית כמספר השמות שיש לנו להציג וה-rig שבנינו כבר יעשה הכל אוטומטית בשבילנו. כל שכבה שנשכפל תציג את השם הבא ברשימה. חסכנו פה המון זמן של עבודה סיזיפית בעזרת ריג פשוט, ומה שעוד יותר נחמד פה הוא שאין סיכוי שנדלג בטעות על שורה. אם העתקנו נכון את מה הלקוח שלח לנו, זה מה שיוצג בפרויקט.

עכשיו נשאר לנו רק למקם את התבניות על גבי הטיימליין, כל אחת בזמן ההופעה שלה, ולרנדר. (שימו לב שזמן הרנדר עלול להיות ארוך יותר בגלל חישובי האקספרשן, אבל כל עוד המחשב עושה את העבודה הקשה במקומנו זה שווה את זמן הרינדור).

5. תבנית עם כיבוי אלמנטים

ולסיום, טיפ קטן, פשוט, וכל כך יעיל לבניה של תבנית דינמית שתעבוד לפי הצרכים שלנו.

לפעמים אנחנו עובדים על פרויקטים שמצריכים מאיתנו לבנות תבניות, אבל כאלה שלא תמיד נצטרך שיופיעו בהם כל האלמנטים שבתבנית. דוגמא למתי יכול לעלות צורך כזה? תבנית שבה אנחנו מציגים מחיר של מוצר ולעיתים אנחנו צריכים להציג איתו גם תגית SALE.

לצורך העניין, ייצרנו תבנית סופר שמראה שם של מוצר ואת המחיר שלו. ליד הסופר הנפשנו תגית SALE מהבהבת.

על התגית אנחנו יכולים לשים את הפריסט לכיבוי והדלקה של שכבות שהכנו בשבילכם ולהוסיף את ערך הצ'קבוקס שמגיע עם הפריסט ל-Essential Graphics של התבנית. בצורה הזאת בכל מקום שנשים את תבנית המחיר נוכל להכנס ל-Master Properties ולהדליק או לכבות את התגית בהתאם לצרכים שלנו ושל הלקוח.

אפשר בקלות גם לחבר מאפיינים נוספים לאותו צ'קבוקס, כאלו שיופיעו רק אם המוצר הנבחר הוא במבצע, כמו צבע כותרת שונה, אלמנטים מהבהבים וכו' ולהגדיר שיופיעו רק כשהצ'קבוקס מסומן ומציג את ה-SALE.

אפשרות להציג ולהעלים אלמנטים מסוימים לפי הצורך

Master Properties - לסיכום:

הפיצ'ר הזה באפטר אפקטס שינה את כללי המשחק. הוא הוסיף כל כך הרבה יותר אפשרות לניהול עבודה דינמית לעומת מה שהיה בעבר. אם פעם היינו צריכים להשתמש ב-True Comp Duplicator כדי לשכפל תבניות שיצרנו עם תתי קומפוזיציות, היום אנחנו יכולים להשתמש בפיצ'ר הזה ולהרחיב את האפשרויות שלנו אף יותר עם הטיפים שנמצאים בפוסט הזה.

הטיפים האלה הם רק חלק מהמון דברים נוספים שאפשר לעשות דרך ה-Master Properties כדי להקל על העבודה ולהפוך אותה לדינמית יותר. אני מקווה שהצלחתי לפתוח לכם קצת את המחשבה ולהעלות רעיונות נוספים לשימוש בפיצ'ר המעולה הזה.

אם יש לכם רעיונות נוספים אשמח לשמוע עליהם. מוזמנים להצטרף לדף הפייסבוק שלנו ולרשום לנו עליהם.

תהיו חברים ושתפו עם החברים

קצת על הכותב

אולי יעניין אותך...

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

ממש עוד רגע הפריסט אצלכם

הצטרפו לרשימה הניוזלטר שלנו ומיד לאחר מכן הפריסט ירד אליכם למחשב, ובנוסף כך גם תוכלו להתעדכן על פוסטים חדשים, חדשות מהתחום ועוד…

אל דאגה, אנחנו לא נספים אתכם,
ובכל מקרה – לא תרצו עוד? תוכלו לבטל את ההרשמה.

אם הגעתם עד לכאן כנראה שהתוכן שלנו מעניין אתכם וזה משמח אותנו

היפכו את המגזין לבית עבור אפטריסטים, אנימטורים, מעצבי מסך ועורכי וידאו בכמה שלבים פשוטים:
1. הרשמו לרשימת התפוצה שלנו
2. רשמו לנו למטה על מה הייתם רוצים לקרוא
3. עשו לנו לייק ומעקב בדף הפייסבוק שלנו