ExtendScript + Ausdruck

<= Vorheriger Artikel ExtendScript Arbeiten mit Kompositionen





Hallo.





Im vorherigen Artikel haben wir die Grundlage für das Modell zum Erstellen von Titeln in der After Effects-Szene erstellt. Wir fügen dem Projekt eine Szene oder mehrere Szenen hinzu. Jetzt müssen wir die Credits zur Szene hinzufügen. Um Titel hinzuzufügen, müssen Sie Modelle im AE-Layout erstellen, die uns zum Kopieren dienen.





Wir gehen in das Projekt, in dem die Komposition ModelScene_1x1 bereits erstellt wurde . Erstellen Sie im selben 1x1- Ordner zwei Kompositionen. Wir werden einen von ihnen ModelTitre_simple_1x1 nennen , den anderen ModelTitre_double_1x1 .





Beginnen wir mit der Komposition ModelTitre_simple_1x1 . Fügen wir es der ModelScene_1x1- Komposition hinzu .





Im ModelTitre_simple_1x1 selbst erstellen wir ein Textfeld. Nennen wir es reference_text .





. , -. After Effects, . , . . Expression, Javascript, , . . reference_text, Transform, Position.





Animation > Add Expression. Position Expression , .





:





var width = Math.round(thisLayer.sourceRectAtTime().width);
var padding = 20;
var hideX = -width - padding;
var showX = padding;
var posY = transform.position[1];
var animationTime = 0.5;

var timeIn = comp("ModelScene_1x1")
   .layer(thisComp.name)
   .inPoint;

var timeOut = comp("ModelScene_1x1")
   .layer(thisComp.name)
   .outPoint;

if (time <= animationTime) {
   easeOut(
       time,
       0,
       animationTime,
       [hideX, posY],
       [showX, posY]
   );
} else {
   easeOut(
       time,
       timeOut - timeIn - animationTime,
       timeOut - timeIn,
       [showX, posY],
       [hideX, posY]
   );
}
      
      



, . . . thisLayer, , sourceRectAtTime, .





thisLayer.sourceRectAtTime().width
      
      



. . , , .





var hideX = -width - padding;
var showX = padding;
      
      



Y ,





var posY = transform.position[1];
      
      



, . , .





var animationTime = 0.5;

var timeIn = comp("ModelScene_1x1")
   .layer(thisComp.name)
   .inPoint;

var timeOut = comp("ModelScene_1x1")
   .layer(thisComp.name)
   .outPoint;
      
      



, ModelScene_1x1, . , , thisComp.name. inPoint outPoint   .





, . , 0. animationTime, , .





if (time <= animationTime) {
   easeOut(
       time,
       0,
       animationTime,
       [hideX, posY],
       [showX, posY]
   );
}
      
      



easeOut, , 5 . 





  • time -





  • startTime - , time >= startTime





  • endTime -





  • startPosition -





  • endPosition -





position , X Y. , , X, - Y.





, ,





easeOut(
       time,
       timeOut - timeIn - animationTime,
       timeOut - timeIn,
       [showX, posY],
       [hideX, posY]
   );
      
      



-





timeOut - timeIn
      
      



animationTime





timeOut - timeIn - animationTime
      
      



, , ModelScene_1x1. , , .





, ModelTiter_double_1x1. . , . , , . reference_text, strin_1 string_2





reference_text Guide Layer.





, . , string_1 string_2. ? . , reference_text. , .





, Expression. sourceText string_1 Animation > Add Expression









var refText = thisComp.layer("reference_text")
    .text.sourceText.split("\r");

var stringID = parseInt(thisLayer.name.split("_")[1]);

refText[stringID - 1]
      
      



reference_text . , \r. refText[0], , id, refText id. sourceText string_2. string_1 reference_text, string_2 - .





. simple, , . , .





Position string_1Expression ModelTitre_simple_1x1. delay.





var delay = 0.3;
      
      



( 0.3 ):





easeOut(time,
   timeOut - timeIn - animationTime - delay,
   timeOut - timeIn - delay,
   [showX, posY],
   [hideX, posY]
);
      
      



, delay , .





Jetzt haben wir Layouts von zwei Arten von Titeln und alles ist bereit, sie auf die Bühne zu bringen. Aber wir werden das nächste Mal darüber sprechen, wie das geht. 





Sie können alle Ausdrücke aus diesem Artikel hier herunterladen





Expression Dokumentation hier





Das ist alles für heute.





<= Vorheriger Artikel ExtendScript Arbeiten mit Kompositionen








All Articles