loopOut ist eine After-Effects-Expression, die eine Keyframe-Animation nach dem letzten Keyframe automatisch wiederholt – in verschiedenen Schleifenmodi wie Cycle, Ping-Pong oder Offset.
Rubrik: Software & Tools · Unterrubrik: Adobe After Effects · Niveau: Einsteiger Synonyme / Auch bekannt als: loopOut(), Loop-Expression, Schleifen-Expression; Pendant: loopIn() für Eingangsschleifen; Menüpfad: Expressions-Feld (Alt + Klick auf Stoppuhr)
Was ist loopOut?
loopOut ist nach Wiggle die zweithäufigst verwendete Expression in After Effects. Sie ermöglicht es, eine kurze Keyframe-Sequenz unbegrenzt zu wiederholen, ohne Keyframes duplizieren zu müssen. Typische Einsatzgebiete sind Lade-Animationen, zyklische Icon-Bewegungen, Endlosschleifen für Social-Media-Content oder atmosphärische Hintergrundanimationen. Die Expression wertet die bereits gesetzten Keyframes der Eigenschaft aus und verlängert deren Verhalten entsprechend dem gewählten Modus.
Erklärung
Grundsyntax
``javascript loopOut(type, numKeyframes) ``
| Parameter | Typ | Bedeutung |
|---|---|---|
type | String | Schleifentyp: "cycle", "pingpong", "offset", "continue" |
numKeyframes | Zahl (optional) | Anzahl der Keyframes, die in die Schleife einbezogen werden (0 = alle) |
Schleifentypen im Detail
#### 1. "cycle" – Standard-Wiederholung
``javascript loopOut("cycle") ``
Wiederholt die Animation exakt von Anfang bis Ende und startet dann neu. Der letzte Keyframe muss mit dem ersten übereinstimmen, damit die Schleife nahtlos ist.
#### 2. "pingpong" – Vor- und Zurückschleife
``javascript loopOut("pingpong") ``
Spielt die Animation vorwärts, dann rückwärts – ideal für pendelnde oder atmende Bewegungen ohne doppelte Keyframes.
#### 3. "offset" – Akkumulierende Wiederholung
``javascript loopOut("offset") ``
Jede Wiederholung beginnt dort, wo die vorherige endete. Nützlich für kontinuierliche Fortbewegung (z. B. rotierende Zahnräder mit Gesamtdrehung über Zeit).
#### 4. "continue" – Weiterführende Bewegung
``javascript loopOut("continue") ``
Führt die Bewegungsrichtung des letzten Keyframes linear weiter, ohne zurückzuspringen. Gut für auslaufende Animationen.
loopIn – Schleife vor dem ersten Keyframe
``javascript loopIn("cycle") ``
Spiegelt das Prinzip von loopOut: Wiederholt Keyframes vor dem ersten gesetzten Keyframe.
Nur die letzten n Keyframes einbeziehen
``javascript loopOut("cycle", 2) // Nur die letzten 2 Keyframes werden in die Schleife einbezogen ``
Nützlich, wenn eine Animation einen Intro-Teil und einen Loop-Teil hat: Die ersten Keyframes definieren den Eingang, die letzten den Loop.
loopOut mit Expression-Bedingungen kombinieren
``javascript // Loop nur nach Sekunde 2 starten if (time < 2) { value; } else { loopOut("cycle"); } ``
Kombination mit Wiggle
``javascript // Wackelnde Schleife (selten, aber möglich über Null-Objekt-Workflow) // Besser: Wiggle auf separatem Null-Objekt, loopOut auf Haupt-Eigenschaft loopOut("cycle") ``
Expression anwenden (Schritt für Schritt)
- Mindestens 2 Keyframes auf der Zieleigenschaft setzen
- Alt + Klick auf das Stoppuhr-Symbol der Eigenschaft
- Eingabe:
loopOut("cycle") - Mit Enter bestätigen
- Die Ebene schleift nun automatisch bis zum Ende der Komposition
Beispiele
- Lade-Spinner: Rotation-Eigenschaft mit Keyframes von 0° bis 360° →
loopOut("cycle")– endloser Kreis - Atmende Schaltfläche: Skalierung von 100 % auf 105 % und zurück →
loopOut("pingpong")– sanftes Pulsieren - Laufendes Band: Position X von 0 auf -1920 →
loopOut("offset")– nahtloser horizontaler Scroll - Bouncing Ball: Position Y mit mehreren Bounce-Keyframes →
loopOut("cycle")– endloser Sprung - Waving Flag: Rotation mit 3–4 Keyframes →
loopOut("pingpong")– hin- und herschwingende Fahne
In der Praxis
Der häufigste Fehler bei loopOut("cycle") ist ein sichtbarer Sprung an der Schleifengrenze. Ursache: Der letzte Keyframe hat einen anderen Wert als der erste. Lösung: Den letzten Keyframe kopieren und auf den ersten Zeitpunkt setzen, oder loopOut("pingpong") verwenden.
Shortcut zum Kopieren von Keyframes: Keyframe auswählen → Ctrl+C / Cmd+C → Zeitmarke auf Anfang → Ctrl+V / Cmd+V
Performance-Tipp: loopOut erhöht die Render-Last nicht nennenswert, da es eine reine Wert-Berechnung ist. Es ersetzt keine Precompositions für komplexe Schleifen-Setups mit mehreren Layern.
Für Endlos-Loops in exportierten Videos (.mp4, .gif) muss die Kompositionsdauer exakt einer oder mehreren vollständigen Loop-Perioden entsprechen – sonst entsteht im Export ein harter Schnitt.
Vergleich & Abgrenzung
| Methode | Vorteil | Nachteil |
|---|---|---|
| loopOut Expression | Keine Keyframe-Duplizierung nötig | Erfordert korrekt gesetzten Anfangs-/End-Keyframe für nahtlose Loops |
| Keyframes manuell kopieren | Volle visuelle Kontrolle | Aufwändig, schwer nachträglich zu ändern |
| Precompose + loopOut auf Composition | Komplexe Loops möglich | Zusätzliche Kompositionen im Projekt |
| Wiggle | Zufällig und kontinuierlich | Nicht deterministisch, kein sauberer Loop |
Häufige Fragen (FAQ)
Muss ich die gesamte Kompositionsdauer verlängern, damit loopOut wirkt? Nein – loopOut berechnet die Werte für jeden Frame bis zum Ende der Komposition, egal wie lang sie ist. Es müssen nur die Keyframes existieren; die Expression erledigt den Rest. Die Dauer der Komposition bestimmt lediglich, wie viele Loops gerendert werden.
Was ist der Unterschied zwischen loopOut und dem GIF-Export-Loop? loopOut ist eine interne After-Effects-Expression, die Werte wiederholt. Der GIF- oder Video-Loop entsteht beim Export: Entweder durch nahtlose Komposition (Anfangs- und Endframe identisch) oder durch Schleifeneinstellungen im Exportformat (z. B. Gif Schleifen-Option in Adobe Media Encoder). Beide Konzepte sind unabhängig voneinander.
Verwandte Einträge
Weiterführend
- Adobe After Effects Benutzerhandbuch – helpx.adobe.com/de/after-effects
- Lester Banks: „Loop Expressions in After Effects" – lesterbanks.com
- Hasson, M.: After Effects Expressions. Focal Press, 2007
