After Effects Texttemplates

Mein persönliches Highlight von After Effects und Premiere Pro in der CC Version 2014 sind die Textvorlagen. Via Dynamic Link lassen sich After Effects Kompositionen schon seit einiger Zeit direkt in Premiere Pro abspielen, aber jetzt kann man in den Effekteinstellungen von Premiere Pro noch ganz einfach die Texte ändern. Eine große Hilfe für Bauchbinden und Titel.

Anmerkung: es gibt mit Motion Graphic Templates in der After Effects CC 2018 Version eine verbesserte Funktion und einen Blog-Artikel dazu habe ich hier geschrieben. 

Nach der ersten Begeisterung kam gleich der Gedanke, warum man das nur auf Text begrenzen sollte. Es müsste doch möglich sein, den Inhalt von Textfeldern via Expressions auszulesen und das ganze dann auf andere Eigenschaften zu übernehmen. Geht tatsächlich – mit den praktischen Javascript Funktion namens parseInt(…) und parseFloat(…).

Also einfach eine Textebene außerhalb der Komposition anlegen und eine beliebige Eigenschaft einer anderen Ebene mit der Quelltext-Eigenschaft verbinden. Natürlich muss man darauf achten, dass in die Textebene nur Zahlen eingetragen werden. Leider wird die Zahl erstmal nur als Text übergeben, aber parseInt(…) wandelt diesen Text zurück in eine Ganzzahl. ParseFloat(…) dementsprechend in eine Zahl mit Nachkommastellen.

So sieht das ganze für einfache Zahlenwerte aus:

parseInt(thisComp.layer("TEXT").text.sourceText);

Gehen auch komplexere Werte, wie Höhen/Breitenangaben oder sogar Farben?

Die Lösung wäre es in Premiere Pro in die Effekteinstellungen zwei Werte durch Komma getrennte einzugeben und diese mit folgender Expression über die split(…)-Methode wieder herauszufiltern:

temp = thisComp.layer("TEXT").text.sourceText; 
array = temp.split(","); 
[parseInt(array[0]), parseInt(array[1])];

Das geht dann natürlich auch mit Farbwerten. Diese werden in After Effects Expressions als  [R,G,B,A]-Array mit Werten zwischen 0 und 1 angegeben. Rot wäre demnach [1,0,0,1], wobei der letzte Wert (A) für die Deckkraft steht. Normalerweise ist man es gewohnt RGB Farben in Werten zwischen 0 und 255 anzugeben. Insofern ist es praktisch, dass sich ein ganzes Array einfach durch 255 teilen lässt, um auf Werte zwischen 0 und 1 zu kommen. So sähe es im Ergebnis dann aus, wobei in diesem Beispiel die Transparenz (also der Alpha Wert) nicht von Premiere Pro übergeben wird:

temp = thisComp.layer("Farbe").text.sourceText;
color = temp.split(","); 
[parseInt(color[0]),parseInt(color[1]),parseInt(color[2]),255]/255;

Das After Effects CC 2014 Projekt mit den Expression-Beispielen kann hier heruntergeladen werden. Und falls das ganze noch ein wenig zu abstrakt ist, finden Sie alle Neuerungen von After Effects CC Version 2014 auch im Videotutorial von LinkedInLearning.