Wie kann man in After Effects den Stil der äußeren Glühebene loopen?

Ich habe eine Ebene in After Effects, auf die ich einen äußeren Schein als Ebenenstil angewendet habe. Idealerweise möchte ich, dass das Leuchten in einer Schleife aus- und eingeschaltet wird, beginnend zu einem bestimmten Zeitpunkt und dann stoppt. Geht das – vielleicht mit einem Skript?

Antworten (1)

Ich würde vorschlagen, die Eigenschaft "Deckkraft" des äußeren Scheins zu animieren :

Geben Sie hier die Bildbeschreibung ein klicken um zu vergrößern

  1. Erstellen Sie einen Keyframe, indem Sie auf die Stoppuhr für die Deckkraft des äußeren Scheins klicken und seinen Wert auf einstellen0%
  2. Erstellen Sie einen zweiten Keyframe und setzen Sie seinen Wert auf100%
  3. Alt-Klicken Sie auf die Stoppuhr, um einen Ausdruck zu erstellen, und fügen Sie ihn loopOut(type = "pingpong")ein, um eine Endlosschleife beider Werte zu erhalten

Geben Sie hier die Bildbeschreibung ein
Kompositionslänge: 49 Frames,
2 Keyframes: Frame 0> Deckkraft 0%, Frame 25> Deckkraft100%

Hinweis: Um eine weniger generische Animation zu erstellen, können Sie auch 3 oder mehr Keyframes erstellen, indem Sie loopOut(type="cycle")stattdessen Expression verwenden.


Um die Animation zu einem vordefinierten Zeitpunkt zu starten und die Animation beliebig zu stoppen, können Sie entweder die Ebene zweimal duplizieren und die Ebenenstile beider Duplikate entfernen , um alle 3 Ebenen von Hand zu verketten, oder eine einfache Bedingung wie diese schreiben:

// get the current frame of the composition
currentFrame = timeToFrames(time, 1 / thisComp.frameDuration, false);

// check if the current frame is in the predetermined range
if (currentFrame >= 20 && currentFrame <= 60) {
  // loop all keyframes
  loopOut(type = "cycle");
}
else{
  // if the current frame is not in predetermined range set glow opacity to 0
  thisLayer.layerStyle.outerGlow.opacity = 0;
}

Geben Sie hier die Bildbeschreibung ein

Kompositionslänge: 80 Frames,
Schleifenanimationsbereich: Frame 20–60,
3 Keyframes: Frame 0> Deckkraft 0%, Frame 10> Deckkraft 100%, Frame 20> Deckkraft0%

Offizielle Referenz zur Ausdruckssprache

timeToFrames(time, 1 / thisComp.frameDuration, false)ist dasselbe wie time / thisComp.frameDurationnicht? Einfacher und ein Funktionsaufruf weniger.
Ja, gute Idee @stib. Fühlen Sie sich frei, meine Antwort zu bearbeiten.