Wenn es darum geht, Spiele für mobile Geräte zu entwicklen, sind Grafik-APIs wie OpenGL und Apples Metal zum Gold-Standard geworden. Diese APIs verbinden die Hardware mobiler Geräte wie GPUs mit der Software und ermöglichen eine ressourcenintensive Grafikwiedergabe, um komplexe Spiele und Animationen zum Leben zu erwecken.
Es bietet jedoch weit mehr als lediglich ein vollständiges Grafiksoftware-Paket. Um die Leistungsfähigkeit einer API voll auszuschöpfen, benötigen Entwickler eine Grafik-Rendering–Engine, die zwischen ihr und dem Anwendungs-Framework liegt.
Apple wollte den Entwicklern integrierte, proprietäre Grafik-Rendering-Infrastrukturen für eine noch bessere Integration mit ihrer eigenen Hardware bieten und genau hier kommen SpriteKit und SceneKit ins Spiel. Beide Frameworks werden zusammen mit dem Core Animation Framework, QuartzCore und GLKit, einem Vorläufer von SceneKit und SpriteKit, zum Hinzufügen von Animationen zu iOS Apps und Spielen verwendet.
Beide sind für unterschiedliche Komplexitätsgrade geeignet, wenn es darum geht, einer Anwendung Animationen hinzuzufügen. In diesem Artikel werfen wir einen kurzen Blick auf SpriteKit und SceneKit, wofür sie am besten geeignet sind und welches das beste für ihr Projekt ist.
SceneKit: 3D Szenen & Spielanimation.
SceneKit ist die leistungsstärkere Option der beiden, basierend auf dem Core Animation-Framework und erfordert ein gutes Stück Mathematik und Geometrie. Denken Sie: 3D-Spiele, die mehrere Kameraperspektiven haben, wie Fruit Ninja. Es ist ein High-Level-3D-Grafik-Framework zu Erstellung animierter Szenen mit einer Rendering-Engine und einer beschreibenden API, die ein wenig mehr Beinarbeit für Sie leistet als untergeordnete APIs wie Metal.
SceneKit wurde mit Lion OS veröffentlicht und aus dem Grund entwickelt, um es Entwicklern zu erleichtern, komplexe 3D-Szenen zu erstellen, da es „nur Beschreibungen des Inhalts ihrer Szene und der Aktionen oder Animationen benötigt, die Sie ausführen möchten“. Die hierarchische „Szenengrafik“ erlaubt es, Animationen auszuführen, bevor sie vom Grafikprozessor eines Geräts gerendert werden, was die Effizienz erhöht.
SpriteKit: Ideal für einfache 2D-Animationen.
SpriteKit ist ein Framework für 2D-Animationen auf einer einfacheren Ebene – denken Sie an untergeordnete 2D-Animationen in effizienteren Anwendungen, die nicht viel Batteriestrom benötigen, wie Candy Crush oder Angry Birds. SpriteKit kam nach SceneKit (veröffentlicht mit iOS 7) und gab Entwicklern alle Werkzeuge in die Hand, die Sie brauchten, um 2D animierte, sprite-basierte Spiele von Grund auf neu zu erstellen, ohne die OpenGL-Grafik-API zu benötigen.
Für den Nicht-Entwickler sind Sprites eine einzige Datei, die alle Grafiken für eine ganze Webseite oder ein Spiel enthält, aus denen dann einzelne Grafiken gezogen werden. Ein Sprite wird einmal heruntergeladen und kleinere Grafiken werden auf dem Bildschirm basierend auf Koordinaten platziert. Dies bedeutet im Wesentlichen, dass eine Anwendung keine zahlreichen, zeit- und ressourcenaufwändigen Aufrufe zu einem Server für Bilder und Animationen machen muss, die greift einfach auf das Sprite zu. SpriteKit verarbeitet wiederum jedes Rendering mit einer traditionellen Rendering-Schleife.
Einige Grundlagen, die sie kennen sollten.
Schlüsselmerkmal: SpriteKit ermöglicht es Entwicklern, sich auf wichtigere und anspruchvollere Design- und Gameplay-Aspekte zu konzentrieren, nicht auf untergeordnete Arbeiten wie das Übermitteln von Zeichenbefehlen an die API.
SpriteKit & SceneKit zusammen.
Es ist wichtig zu beachten, dass die beiden Frameworks auch zusammen verwendet werden können. Eine 2D-SpriteKit-Szene kann über eine 3D-Szene gelegt oder als Hintergrund, Vordergrund-Overlay oder Objekttextur hinzugefügt werden. Unabhängig davon, welches Framework Sie für die Animation verwenden, stellen Sie sicher, dass Sie mit den Visual Design Animationsstandards von Apple vertraut sind.