Keyframe Editor
Erstellen Sie komplexe, zeitgenaue Animationen mit Keyframes.
Was sind Keyframes?
Keyframes definieren spezifische Eigenschaftswerte zu bestimmten Zeitpunkten. PinePaper animiert (interpoliert) automatisch zwischen Keyframes, um reibungslose Übergänge zu erzeugen.
Öffnen der Timeline
Das Timeline-Panel befindet sich am unteren Rand des Bildschirms. Falls versteckt:
- Klicken Sie View im Menü
- Wählen Sie Zeitleiste anzeigen
Erstellen von Keyframes
Methode 1: Properties Panel
- Wählen Sie einen Artikel
- Setzen Sie den Playhead auf die gewünschte Zeit
- Ändern einer Eigenschaft (Position, Maßstab, Deckkraft, Farbe)
- Ein Keyframe wird automatisch erstellt
Methode 2: Timeline Panel
- Wählen Sie einen Artikel
- Klicken Sie auf die Timeline zur gewünschten Zeit
- Klicken Sie auf Hinzufügen Keyframe oder drücken Sie K
Keyframeable Eigenschaften
| Eigentum | Beschreibung |
|---|---|
| Position | X, Y Koordinaten |
| Waage | Größe (einheitlich oder X/Y) |
| Rotation | Winkel in Grad |
| Trübung | Transparenz (0-1) |
| Füllfarbe | Artikelfarbe |
| Schriftgröße | Textgröße (nur Textelemente) |
Bearbeiten von Keyframes
Bewegliche Keyframes
Ziehen Sie einen Keyframe nach links oder rechts auf der Timeline, um seine Zeit zu ändern.
Bearbeiten von Werten
- Klicken Sie auf einen Keyframe, um ihn auszuwählen
- Werte im Properties Panel ändern
- Änderungen gelten für diesen Keyframe
Löschen von Keyframes
- Wählen Sie den Keyframe
- Delete oder Rechtsklick → Keyframe löschen
Lockerungsfunktionen
Steuere die Beschleunigung von Animationen zwischen Keyframes:
| Lockerung | Beschreibung |
|---|---|
| Linear | Konstante Drehzahl |
| Leichtigkeit | Langsamer Start, schnelles Ende |
| Leichtigkeit raus | Schneller Start, langsames Ende |
| Leichtigkeit In-Out | Langsamer Start und Ende |
| Hüllen | Bouncy Finish |
Wiedergabesteuerung
| Kontrolle | Abkürzung | Aktion |
|---|---|---|
| Spiel/Pause | Space | Toggle-Wiedergabe |
| Go to Start | Home | Sprung zum Anfang |
| Gehe zum Ende | End | Sprung zum Ende |
| Split-Clip | S | Teilen Sie den Keyframe-Clip unter dem Playhead |
Trim und Split
Jedes Keyframe-animierte Element erscheint auf der Timeline als Draggable Clip Block (der Indigo-Balken hinter den Keyframe-Diamanten). Mit dem Clipblock können Sie:
- Drag the body — Verschieben Sie die gesamte Animation in der Canvas-Zeit (
timeOffset). - Drag den linken Rand — trimmen Sie den Anfang des gespielten Unterbereichs. Der rechte Rand der Bar bleibt verankert und entspricht der Premiere / Canva-Konvention.
- Ziehen Sie die rechte Kante - schneiden Sie das Ende des gespielten Unterbereichs, geklemmt auf die Zeit des letzten Keyframes.
- Drücken Sie S mit dem Abspielkopf im Clip - am Abspielkopf aufgeteilt. Das neue Stück wird zu einem eigenen Registry-Eintrag; Chaining Splits produziert N+1 unabhängige Stücke.
Datenfelder
Die Clip-Block-Benutzeroberfläche bildet diese Felder auf dem Element ab:
| Feld | Bedeutung |
|---|---|
timeOffset |
Canvas-Zeit, zu der der Clip beginnt |
clipInPoint |
Erste Keyframe-Datenzeit des Clips (Standards auf 0) |
clipOutPoint |
Letzte Keyframe-Datenzeit, die der Clip abspielt (Standards zur letzten Keyframe-Zeit) |
Außerhalb des Canvas-Fensters des Clips wird das Element über visible=false verborgen - die Opazität bleibt in Ruhe, so dass opazitätsanimierende Keyframes immer noch im Fenster funktionieren.
// Programmatic equivalent of right-edge trim.
const item = app.create('text', {
content: 'Reveal', x: 400, y: 300,
animationType: 'keyframe',
timeOffset: 2, // clip starts at canvas time 2s
clipInPoint: 1, // skip the first 1s of keyframe data
clipOutPoint: 4, // stop at 4s of keyframe data → 3s clip window
keyframes: [
{ time: 0, properties: { opacity: 0 } },
{ time: 1, properties: { opacity: 1 } },
{ time: 4, properties: { opacity: 0.3 } },
],
});
Was Split gibt Ihnen
Der Split ist eine tiefe Kopie. Das Paper.js-Element wird über Item.clone() geklont (Konserven transformieren + style); die Keyframe-Arrays (keyframes, contentKeyframes, propertyEasings) sind JSON Round-Triped, so dass jedes Stück seine Daten besitzt. Chaining teilt sich linear auf: N teilt sich auf ⇒ N+1 unabhängige Stücke, jeder seinen eigenen Registereintrag. Praktische Konsequenzen:
- Per-Piece-Leasing - Ändern Sie das
easingeines einzelnen Keyframes auf einem Stück; die anderen sind unberührt. - Pro Stück Farb- oder Werteinterpolation - Bearbeiten Sie die
fillColor,strokeColoroder eine animierte Eigenschaft eines Keyframes auf einem Stück, um eine andere Transformation über das Fenster anzuwenden. Die vorhandenen Farb- und Gradienteninterpolatoren behandeln den HSL/RGB-Lerp unverändert. - Räumlicher Pfad pro Stück -
spatialHandleslebt in einzelnen Keyframes, so dass das Kurven des Pfades der Animation eines Stücks die anderen nicht beeinflusst.
Stücke überlappen sich visuell nicht, solange sich ihre Leinwandfenster nicht überlappen. Ziehen Sie ein Stück in eine neue Canvas-Time-Position, schneiden Sie es erneut oder teilen Sie es weiter.
Beispiel: Fade In Animation
- Wählen Sie ein Textelement
- Zum Zeitpunkt 0s: Opacity auf 0 setzen
- Zum Zeitpunkt 1s: Opacity auf 1 setzen
- Stellen Sie Lockerung auf Ease Out
- Drücken Sie Play zur Vorschau
Beispiel: Farbübergang
- Wählen Sie einen Artikel
- Zum Zeitpunkt 0s: Setzen Sie Füllfarbe auf #FF0000 (rot)
- Zum Zeitpunkt 2s: Setzen Sie Füllfarbe auf #0000FF (blau)
- Die Farbe geht glatt durch das Spektrum
Beispiel: Kamera Pan Effekt
Erstellen Sie filmische Pan-Animationen über große Bilder mit der Leinwand als Viewport.
Wie es funktioniert
Wenn Sie ein Bild haben, das größer ist als Ihre Leinwand:
- Die Canvas-Grenzen fungieren als Kamera-Viewport
- Verschieben des Bildes links = Kameraschwenks rechts
- Verschieben des Bildes nach oben = Kameraschwenks nach unten
Erstellen einer Pan Animation
- Legen Sie die Canvas-Größe auf Ihren gewünschten Ausgang (z. B. 1920 × 1080 für HD-Video)
- Importieren Sie ein großes Bild (größer als Canvas)
- Positionieren Sie das Bild so, dass die Startansicht sichtbar ist
- Keyframes erstellen, um die Bildposition zu verschieben
Row-by-Row Abtastmuster
Um ein Bild in einem Serpentinenmuster zu scannen:
| Uhrzeit | Bild X | Bild Y | Kameraeffekt |
|---|---|---|---|
| 0s | 0 | 0 | Links oben |
| 2s | -1920 | 0 | Pan quer durch Reihe 1 |
| 2.5s | -1920 | -200 | Nach unten bewegen |
| 4.5s | 0 | -200 | Pan links über Reihe 2 |
| 5s | 0 | -400 | Nach unten bewegen |
| 7s | -1920 | -400 | Pan quer durch Reihe 3 |
Alternative: Kamera folgt
Für eine dynamische Kamerabewegung, die einem Objekt folgt:
- Erstellen Sie einen kleinen Marker oder Pfad
- Hinzufügen einer
camera_follows-Relation zum Marker - Animieren der Markierungsposition
- Der Viewport folgt automatisch
Kamera Pan Tipps:
- Verwenden Sie Ease In-Out für glatte, filmische Bewegung
- Halten Sie die Pan-Geschwindigkeit konsistent für professionelle Ergebnisse
- Exportieren Sie als MP4 oder WebM für beste Qualität
Tipps
Keyframe Tipps:
- Verwenden Sie weniger Keyframes für glattere Animationen
- Ease In-Out schafft natürlich aussehende Bewegung
- Vorschau oft, um das Timing zu überprüfen
Leistung: Sehr komplexe Keyframe-Animationen (viele Elemente, viele Keyframes) können die Exportleistung beeinflussen.