Die folgenden Möglichkeiten zum Animieren von svg:
SVG-SMIL-ANIMATIONEN
Die SVG kann über die leistungsstarke native Markup-Sprache SMIL animiert werden, die direkt aus Animationstools wie dem Adobe Animate CC + flash2svg-Plugin exportiert wird.
Um eine SVG-Datei mit SMIL auch in Browsern zu animieren, die keine Unterstützung bieten, müssen Sie lediglich eine SMIL-Polyfüllung verwenden.
Eine Polyfüllung ist ein spezieller Javascript-Code, der Funktionen unterstützt, die in einem Browser fehlen, und die die ursprüngliche Codierung in eine für den Browser verständliche übersetzt.
Das SMIL-Polyfill von Eric Willigers macht genau das: Es übersetzt SMIL in eine Web-Animations-API, die sogar der Microsoft-Browser unterstützt. Es ist so effizient, dass Google Chrome-Entwickler beschlossen, die native SMIL-Unterstützung einzustellen und sich auf Webanimationen zu konzentrieren, und Eric Willigers die Aufgabe überlassen, SMIL-Dateien in Chrome abzuspielen.
Jemand hat dies fälschlicherweise als eine Ablehnung von SMIL durch Chrome interpretiert und die Entwickler für diese Wahl kritisiert. Es war jedoch keine echte Abwertung, sondern nur eine Verlagerung der Aufgabe, SMIL auf Polyfill-Ebene zu interpretieren.
Tatsächlich haben die Chrome-Entwickler selbst die Willigers-Polyfill in der sehr offiziellen Ankündigung über ihre Absicht, SMIL abzulehnen, zitiert.
Machen Sie sich also keine Sorgen, wenn Sie im Internet über den Niedergang von SMIL lesen. Der "Tod" von SMIL war zutiefst übertrieben. Es ist eher eine Wiedergeburt.
Um SMIL in allen Browsern, einschließlich IE und EDGE, zu verwenden, müssen Sie Ihrer Webseite nur diese Javascript-Polyfüllung hinzufügen:
https://github.com/ericwilligers/svg-animation
Hier ist eine Demoseite mit der Polyfill von Tom Byrne, dem Autor des beliebten flash2svg-Exporters:
Die Seite ohne Polyfill:
http://www.tbyrne.org/staging/smil-polyfill/tears.htm
und dieselbe Seite mit der Polyfüllung:
http://www.tbyrne.org/staging/smil-polyfill/tears_polyfill.htm
Wenn Sie sich die Quelle ansehen, ist dies ziemlich selbsterklärend.
Auch die Leistungen mit der Polyfill sind oft besser als mit der ursprünglichen SMIL, da bei vielen Browsern die Webanimation hardwarebeschleunigt ist, während dies bei SMIL normalerweise nicht der Fall ist.
EXPORTIEREN SIE ANIMATIONEN IN SVG SMIL
Die einfachere Möglichkeit, SVG-Animationen zu erstellen, besteht darin, Werkzeuge wie Adobe Animate CC zum Zeichnen und Plug-ins wie Flash2svg ( https://github.com/TomByrne/Flash2Svg ) zum Exportieren in SVG zu verwenden. Mit ihm können Sie fast alle Animationen + Sounds als einzelne SVG-Datei exportieren, wie diese Cartoon-Episode:
http://www.tbyrne.org/portfolio/smil/LoveDota.svg
SVG ANIMATION JS BIBLIOTHEKEN
Der Javascript-Weg ist komplizierter. Zunächst müssen Sie ein Javascript-Programmierer sein. Dann muss man zwischen vielen Bibliotheken wählen. Je beliebter sind:
SnapSVG
http://snapsvg.io
Diese Bibliothek ist der Nachfolger der alten und beliebten Raphael-Animationsbibliothek desselben Autors. Sehr stabil, konvertiert aber SVG zur Laufzeit in ein internes Format, um es zu animieren. Morphing-Optionen sind auch sehr einfach, nur lineare Interpolation. (HINWEIS: Es gibt auch ein snap.svg-Plugin für Adobe Animate CC, aber die exportierten Dateien sind aufgebläht. Der Exporter erstellt einen Befehl snap svg für jeden Frame der Animation, nicht für jeden Keyframe, und erstellt eine 18-KB-Svg-Datei mit über 1000 Zeilen Code, nur um ein einfaches Rechteck um 360 Grad zu drehen. Das Flash2svg-Plugin ist viel effizienter (nur ein Befehl und wenige Bytes, um die gleiche Aufgabe zu erledigen).
Greensock MorphSVG
http://greensock.com/morphSVG
Eine voll funktionsfähige Morphing-Bibliothek, mit der Sie SVG auf einfache Weise animieren können, ohne sie in ein internes Format konvertieren zu müssen. Erstellen Sie einfach 3-4 SVG-Keyframes in Inkscape und die Greenock SVGMorphing-Bibliothek interpoliert automatisch zwischen den Frames und erstellt alle dazwischen liegenden Frames für eine reibungslose Wiedergabe. Hier ist ein Beispiel:
http://codepen.io/Emasoft/pen/reOqYE
3D Seen.js
http://seenjs.io/demo-svg-canvas.html
Wenn Sie in 3D animieren möchten, ist diese Bibliothek sehr leistungsfähig.
Seen.js rendert 3D-OBJ-Dateien in SVG und animiert sie sehr einfach.
SVG IMAGES EDITORS
Bei den Tools können Sie die Animations-Keyframes hauptsächlich mit drei Programmen erstellen:
Inkscape: Open Source verfügt über eine Vielzahl von Funktionen und ist ein fortschrittliches Vektorbearbeitungspaket, das von Teilnehmern der SVG-Arbeitsgruppe erstellt wurde. Die Referenz für das SVG-Format. Nicht leicht zu lernen.
Adobe Illustrator: kommerzielle, sehr leistungsfähige Vektorzeichensoftware, die viele Funktionen bietet, die SVG noch nicht unterstützt, aber die schlechteste Kompatibilität mit dem Format aufweist. Sie müssen die exportierte SVG-Datei häufig manuell bearbeiten, um das Illustrator-Chaos zu beheben. Aber es ist sehr beliebt in der Kunstschule und alle Grafiker wissen, wie man es benutzt.
Affinity Designer: Hierbei handelt es sich um eine kommerzielle Software wie Illustrator, die jedoch eine hervorragende SVG-Kompatibilität aufweist, die fast der von Inkscape entspricht. Die Benutzeroberfläche ist viel benutzerfreundlicher und erfreut sich bei SVG-Künstlern großer Beliebtheit.
SVG ANIMATION EDITORS
Derzeit ist der einzige SVG-Animationseditor dieser:
- Adobe Animate CC: Das frühere Adobe Flash Pro wurde von Adobe vollständig umgeschrieben, um von den mittlerweile veralteten Flash-Animationen auf die modernen SVG-Animationen zu migrieren. Sie können die resultierenden SVG-Animationen zusammen mit einer benutzerdefinierten Javascript-Bibliothek exportieren oder mithilfe von Plugins wie "flash2svg" in SVG + SMIL speichern. Diese letzte Option ist sehr effizient, ich verwende sie immer anstelle des aufgeblähten nativen Exporteurs.
Sie können das kostenlose Plugin hier herunterladen:
https://github.com/TomByrne/Flash2Svg
Oder installieren Sie es über den Adobe Plugins-Bereich:
https://creative.adobe.com/addons/products/7232
Adobe Animate CC ist leider kommerziell. Es gibt kostenlose alternative Open-Source-Animationsanwendungen, aber ich habe sie alle ausprobiert und sie saugen immer noch IMHO. Hoffen wir auf die Zukunft.
Referenzen:
Mein ausführlicherer Blogbeitrag zum Thema: https://medium.com/@fmuaddib/die-folgenden-sind- die-Möglichkeiten- ,- professionelle- Animationen-in-SVG-9d4caca5f4ec zu erstellen
Der Fall, auf den über snap.svg verwiesen wird:
/programming/35727635/adobe-animate-snap-svg-plugin-huge-files