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.
Supercool, danke!
Ne etwas detailliertere “Anleitung” (für 0815 Menschen wie mich) und es wäre ein tolles Tutorial!
Hallo Heiko,
wenn Du eine konkrete Frage hast, dann kann ich Dir gerne weiterhelfen. Ansonsten empfehle ich Dir das Expression Tutorial von video2brain: https://www.video2brain.com/de/videotraining/after-effects-expressions
Viele Grüße
Sven
ich möchte eigentlich nur diese auslesemöglichkeit des textfeldes auf ein anderes textobjekt legen. ich finde zwar die verweise für skalieren und farbe (doppel “E” – http://i.imgur.com/ZugIlpo.jpg) und habe es auch durch copypaste “irgendwie” geschafft, dass es geht, aber wie ich das jetzt genau machen kann, verstehe ich nicht.
Hallo Heiko,
soweit ich es sehe, scheint alles zu stimmen. Gibt es in Deiner Komposition denn eine Textebene Namens “Farbe”? Ansonsten klick mal auf das gelbe Warndreieck und schick mir noch mal die Fehlermeldung, die dann kommt.
Viele Grüße
Sven
habs mir jetzt nochmal angesehen. war gestern abend wohl zu spät, bzw es zu einfach.
ich muss ja nur ne neue textebene machen und dem quelltext die expression “text.sourceText” geben. schon gehts. wie megacool
und nochmal ich…
leider kann man auf diesem weg die blende nicht mehrfach verwenden. ändert man eine eigenschaft, ändert er das für alle instanzen. hast du ne idee dazu? irgendwie müsste das feld nen dynamischen namen bekommen…
Hallo Heiko,
da kann ich Dir nicht genau folgen, was Du damit erreichen möchtest. Kannst Du das noch mal näher beschreiben.
Normalerweise musst Du nachher in Premiere Pro den Dynamic Link im Projektfenster duplizieren bzw. im Schnittfenster mit Alt-Drag woanders hinschieben. Dann hast Du unabhängige Instanzen und kannst auch andere Werte eingeben.
Viele Grüße,
Sven
Du hast völlig recht. Hatte das Objekt auf der Zeitlinie dupliziert.
Einfach die aep im Projekt duplizieren und so gehts wunderbar! Danke