שתפו

On Off Featured

למה לשכפל כשאפשר לכבות?

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

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

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

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

על Checkbox Control ואקספרשן if/else

ברשימת האפקטים של אפטר אפקטס אפשר למצוא ספריה שלמה שמוקדשת ל-Contollers.

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

במקרה שלנו אנחנו נשתמש בקונטרולר Checkbox Control. זהו קונטרולר שמחזיר שני ערכים – אמת או שקר, או בשפת תכנות – 1 או 0. זה קונטרולר שכשמו כן הוא – תיבת סימון. הוא מתווסף לחלונית האפקטים שלנו ואנחנו יכולים להחליט מה יוצג בתיבת הסימון שלו. כשהתיבה מסומנת הערך שמוחזר ממנה הוא 1 וכשהיא ריקה הערך הוא 0. אל תדאגו אם זה לא ממש אומר לכם משהו. תיכף זה יהיה ברור יותר.

אז איפה זה יכול לעזור לנו? מי שלא מכיר את אקספרשן if/else זה בדיוק הזמן להכיר אותו, כי אי אפשר בלעדיו. זהו ביטוי מאוד פשוט שאומר "אם ככה (תנאי מסויים) אז ככה (תוצאה מסויימת)". אם נחבר את הביטוי לקונטרולר שלנו אז מה שהוא אומר זה הדבר הפשוט הבא – " אם הקונטרולר מחזיר לנו תוצאה של 1 אז תעשה דבר מסוים, אחרת תעשה אחר". עכשיו אנחנו מבינים שבעזרת ביטוי אנחנו יכולים להגיד לשכבה מסוימת שאם תיבת הסימון מסומנת אז שתתנהג בצורה מסוימת ואם היא לא מסומנת אז שתתנהג בצורה אחרת.

אז איך כל זה מתחבר לשכפול ולכיבוי?

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

ואיך אנחנו מכבים שכבה? אנחנו פשוט מגדירים לה Opacity של 0 והיא נעלמת לנו מהטיימליין.

אז עכשיו אנחנו ננסה לפשט את הביטוח שאנחנו הולכים לכתוב – "אם תיבת הסימון מסומנת על שקיפות השכבה היא 100%, אחרת שקיפות השכבה היא 0%". הבנתם? זה אומר שאנחנו יכולים להגדיר בקלות אם רואים שכבה או אם היא שקופה לגמרי. ואיך עושים את זה?

 דבר ראשון אנחנו צריכים לבחור בחלונית האפקטים את האפקט Checkbox Controller ולשים אותו על השכבה שאותה אנחנו רוצים לכבות. אחרי שעשינו את זה אנחנו פותחים את ה-Opacity של אותה שכבה, לוחצים על alt ותוך כדי מקליקים על ה-Stop Watch של ה-Opacity כדי לפתוח את חלונית כתיבת הקוד. בפנים אנחנו כותבים קוד שיודע למשוך את הערך שהתיבה מחזירה ואז להתייחס אליו. למען הסדר הטוב אנחנו נכניס את הערך לתוך משתנה לפני שנכתוב את התנאי.

לצורך העניין נכתוב משתנה s ונגדיר שהוא מקבל את הערך של הקונטרולר. זה כתוב כך: 

s=effect("Checkbox Control")("Checkbox");

וככה עושים את זה:

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

מה שנשאר לנו זה להגדיר עכשיו שה-Opacity צריך להיות 100 (ולא 1) כשהתוצאה שאנחנו מקבלים מתיבת הסימון היא 1, ואת זה נעשה בעזרת התנאי שדיברנו עליו קודם – if/else. בעצם נגיד לתוכנה שאם s שווה ל-1 תן ל-Opacity ערך של 100 ואם s שווה ל-0 תן ל-Opacity ערך של 0. נכתוב את הקוד כך:

s=effect("Checkbox Control")("Checkbox");

if (s==1) 100 else 0;

איזה יופי! אז סיימנו?

חכו.. יש עם זה בעיה...

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

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

עכשיו אנחנו יכולים להתחיל לשחק עם זה איך שאנחנו רוצים בעזרת קיפריימים לתיבת הסימון. מכיוון שתיבת הסימון יודעת להחזיר רק "אמת" או "שקר" הקיפריים שיהיה לה הוא אך ורק Freeze (קיפריים מרובע). נתחיל מלתת לתיבה קיפריים בתחילת הקומפוזיציה עם הערך אנחנו רוצים (on או off) ובהמשך, בכל פעם שנרצה להדליק או לכבות את השכבה נשנה את הסימון שלה ויתווסף לנו קיפריים לשכבה.

בואו נרחיב את זה עוד קצת

אפשר לקחת את זה שלב נוסף קדימה ולהחליף בין שתי שכבות. זאת אומרת שבזמן ששכבה אחת תהיה דולקת השניה תהיה כבויה ולהיפך.

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

אנחנו נעתיק את הקוד מהשכבה הראשונה והפעם נגדיר ל-s בעזרה ה-Pick Whip לקחת את הערך מתיבת הסימון מהשכבה הראשונה. בשורה ה-if/else נשנה רק את ההתייחסות לערך של s ונחליף אותה מ-s שווה 1 ל-s שווה 0 כדי שהתנהגות השכבה תהיה שונה. זה נראה כך:

s=thisComp.layer("Text 1").effect("Checkbox Control")("Checkbox");

if (s==0) 100 else 0;

זה הכל. עכשיו השכבות יחליפו אחת את השניה.

עשינו בשבילכם את העבודה

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

יש שתי תיקיות אפשריות לשמירה של הפריסט.

  1. תיקיית הפריסטים של התוכנה
    C:\Program Files\Adobe\Adobe After Effects CC 2018\Support Files\Presets
    (במקרה שלי מדובר על גרסה 2018 אך כמובן שאתם צריכים להתקין בתיקייה הרלוונטית לכם)
  2. האופציה המועדפת עלי – תיקיית הפריסטים האישית
    C:\Users\{User}\Documents\Adobe\After Effects CC 2018\User Presets
    (את המילה {User} תחליפו בשם המשתמש שלכם במחשב).

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

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

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

קצת על הכותב

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

כתיבת תגובה

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

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

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

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

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

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