Ergebnis 1 bis 5 von 5

Thema: Was braucht ein guter 2D Animationseditor

  1. #1

    Was braucht ein guter 2D Animationseditor

    Guten Tag.

    Ich arbeite im Moment an meinem eigenen kleinen Maker, falls jemand dies noch nicht mitbekommen hat und interessiert daran ist, kann sie / er sich hier erkunden:
    http://www.multimediaxis.de/threads/...rks-Game-Maker

    aber das einmal außen vor. Im Moment bin ich dabei einen Animationseditor für diesen Maker zu erstellen. In diesem Animationseditor soll der Entwickler in der Lage sein eigene 2D-Animationen mit einem handlichen GUI zusammen zu klicken.
    Nun stehe ich natürlich vor der sehr wichtigen Frage: Was soll dafür alles an Möglichkeiten vorhanden sein? Wie viel Funktionalität würde die Community gerne sehen?

    Daher dieser öffentliche Thread; ich würde gerne eure Meinungen dazu hören, was für 2D-Animationen wichtig ist.

    Zunächst aber meine eigene Idee soweit sie bisher fertig ist:
    • Eine 2D-Animation ist definiert als eine zeitliche Abfolge von Schritten.
    • Diese Schritte können in einer Liste nacheinander eingereiht werden.
    • Eine Animation kann aus beliebig vielen Einzelschritten bestehen.
    • Während das Spiel läuft kann man einen Sprite eine Animation abspielen lassen. In diesem Fall fängt er an die Schritte der Animation einen nach dem anderen durch zu führen.
    • Man kann auch Animationen für einen Sprite in eine Liste anreihen. Der Sprite spielt diese dann eine nach der anderen ab.
    • Außerdem kann man beim Abspielen einer Animation auswählen, ob immer von vorne begonnen werden soll, oder, falls zweimal die gleiche Animation abgespielt werden soll einfach fortgefahren von dem Schritt, an welchem der Sprite sich gerade befindet. Dies ist, zum Beispiel, für Laufanimationen nützlich.


    Hier wäre eine Auflistung von Animations-Schritten, welche ich bisher geplant habe:
    • Farbe setzen: Der Sprite wird gefärbt, die Farbe wird via Rot, Grün, Blau, Alpha-Werte definiert.
    • Spiegeln: entweder horizontal, vertikal, in beide Richtungen, oder in keine.
    • Rotieren: Es kann die Rotation des Sprites in Grad (0° - 360°) angegeben werden.
    • Bildausschnitt definieren: Es wird der rechteckige Bereich vom Bild ausgewählt, welcher von dem Sprite angezeigt werden soll.
    • Ankerpunkt setzen: Es kann ein Ankerpunkt für den Bildausschnitt definiert werden. Das ist eine Verschiebung auf der X- und Y-Achse.
    • Warten: Es kann eine gewisse Zeit (in frames) lang gewartet werden. Während dieser Zeit verändert sich die Grafik des Sprites nicht.


    Ein Beispiel für eine 2D-Animation Laufanimation könnte also sein:
    Code:
    1) Ausschnitt 0, 0, 32, 32   // setzt den Ausschnitt auf: x=0, y=0, breite=32, höhe=32
    2) Warte 3                   // Wartet 3 frames bevor fortgefahren wird
    3) Ausschnitt 32, 0, 32, 32  // setzt den Ausschnitt auf: x=32, y=0, breite=32, höhe=32
    4) Warte 3                   // Wartet 3 frames bevor fortgefahren wird
    5) Ausschnitt 0, 0, 32, 32   // setzt den Ausschnitt auf: x=0, y=0, breite=32, höhe=32
    6) Warte 3                   // Wartet 3 frames bevor fortgefahren wird
    7) Ausschnitt 0, 32, 32, 32  // setzt den Ausschnitt auf: x=0, y=32, breite=32, höhe=32
    8) Warte 3                   // Wartet 3 frames bevor fortgefahren wird
    Es wird also das erste Frame der Animation gezeigt; dann wird 3 Zeiteinheiten gewartet; dann wird das zweite Frame gezeigt; nocheinmal 3 Zeiteinheiten lang gewartet; im Anschluss wird wieder das erste Frame gezeigt; gewartet; danach ein drittes Frame angezeigt; und zu guter letzt nocheinmal gewartet falls die Animation in einer Schleife laufen sollte.

    Der Entwickler könnte dann alle möglichen Animationen als solche Schritt-Folgen definieren können. Für jeden Sprite kann man diese Animationen dann abspielen lassen.

    Hier meine Fragen dazu:
    1) Ist dies zu kompliziert, oder kann man das gut nachvollziehen?
    2) Glaubt ihr das System wäre so ausreichend, oder fehlt funktionalität?
    3) Hat jemand eine bessere Idee, wie man einen einfachen aber mächtigen Animationseditor entwerfen kann?

    Vielen Dank für die Aufmerksamkeit.

  2. #2
    Bezieht sich der Animationseditor nur auf Spielobjekte oder auch auf die Animationen im Kampfsystem? Bei letzteren wird ja nicht das Sprite selbst animiert, sondern eine Animation auf dem Sprite angezeigt. Von der Funktionalität her fehlt aber denke ich nichts.

    Wird nach der Animation wieder die ursprüngliche Grafik angezeigt oder muss das manuell getan werden? Beim Laufen wäre das sinnvoll, aber bei anderen Animationen nicht unbedingt. Mal angenommen, die Spielfigur ist während eines Dialogs überrascht und das soll mit einer Pose dargestellt werden. Danach folgt eine Textbox. Solange wie die Box nicht weggeklickt wurde, soll die Animation bestehen bleiben. Wie würde man das bei dir lösen? Solche Charakter-Animationen kommen auf dem Maker ja häufig zum Einsatz.

  3. #3

    Hier wird nicht geterrort
    stars5
    Am aller coolsten wäre es in dem Zusammenhang natürlich, wenn man bestimmte Animationsabläufe schon im vornherein Abspeichern und abrufen kann. Dann schaltet man einfach von Schwerthieb links/rechts zurück auf die Idleanimations Face Left/Right und die Sache ist gegessen.

  4. #4
    Den Code so einzutippen wie in deinem Beispiel dargestellt würde mir auf Dauer wohl keinen Spaß machen und ist mMn nicht sehr benutzerfreundlich.
    (Besonders die einzelnen Frames noch in Höhe,Breite und Position händisch definieren zu müssen.)

    Extrem wichtig wäre mir eine "Live"-Vorschau der Animation. Ein eingebauter Editor um die Grafiken selbst direkt zu bearbeiten, ohne ein externes Programm anwerfen und anschließend die Grafiken neu importieren zu müssen, wäre auch nicht schlecht.

    Wenn du "Inspiration" suchst dann kannst du dir ja mal ansehen, wie es z.B. im GameMaker gelöst ist (empfinde ich als sehr benutzerfreundlich und gleichzeitig flexibel) und einen Blick auf GraphicsGale werfen. GraphicsGale hat für mich alles was ein Grafikprogramm speziell für Pixelart braucht und keine unnötigen Features. Besonders angenehm ist die Pipette mit der rechten Maustaste und das Ausschneiden, wenn die rechte Maustaste gedrückt bleibt. Geht mir super von der Hand.

    Edit:
    Ach ja, Onion Skin (heißt das so? ) auf jeden Fall fürs Pixeln der Animationen! Bin mir aber nicht sicher, was du unter Animationseditor genau verstehst :/

    Geändert von Fuxfell (24.05.2014 um 13:22 Uhr)

  5. #5
    Vielen Dank ersteinmal für die Beteiligung.

    Zitat Zitat von Kelven Beitrag anzeigen
    Bezieht sich der Animationseditor nur auf Spielobjekte oder auch auf die Animationen im Kampfsystem? Bei letzteren wird ja nicht das Sprite selbst animiert, sondern eine Animation auf dem Sprite angezeigt. Von der Funktionalität her fehlt aber denke ich nichts.
    Der Animationseditor wird für alle Animation bis auf animierte Tiles verwendet werden. Das heist, Kampfanimationen, Charaktere auf der Karte, animierte Menücursor, Hintergründe, etc.

    Zitat Zitat von Kelven Beitrag anzeigen
    Wird nach der Animation wieder die ursprüngliche Grafik angezeigt oder muss das manuell getan werden? Beim Laufen wäre das sinnvoll, aber bei anderen Animationen nicht unbedingt. Mal angenommen, die Spielfigur ist während eines Dialogs überrascht und das soll mit einer Pose dargestellt werden. Danach folgt eine Textbox. Solange wie die Box nicht weggeklickt wurde, soll die Animation bestehen bleiben. Wie würde man das bei dir lösen? Solche Charakter-Animationen kommen auf dem Maker ja häufig zum Einsatz.
    Es gibt keine "ursprüngliche" Grafik. Man kann einem Sprite via Script eine Bilddatei und eine Animation zuordnen. Diese beiden werden dann verwendet um die Grafik des Sprites zu bestimmen. Die Animationen laufen immer in einer Schleife ab, außer wenn man mehrere Animationen hintereinander bei dem Sprite in eine Liste hängt. Dann geht der Sprite automatisch zur nächsten Animation in der Liste über.
    Als Pseudo-Code im Script könnte die von dir beschriebene Situation möglicherweise so aussehen:
    Code:
    setze $objSprite = Sprite von $derHeld
    setze animation von $objSprite auf "überrascht"
    zeige Nachricht "!!!" und warte
    setze animation von $objSprite auf "stehen"
    Natürlich ist die Syntax jetzt gerade frei erfunden, aber so ähnlich könnte es am Ende aussehen.

    Zitat Zitat von Sabaku Beitrag anzeigen
    Am aller coolsten wäre es in dem Zusammenhang natürlich, wenn man bestimmte Animationsabläufe schon im vornherein Abspeichern und abrufen kann. Dann schaltet man einfach von Schwerthieb links/rechts zurück auf die Idleanimations Face Left/Right und die Sache ist gegessen.
    Ich weis leider gerade nicht ganz was du meinst. Man wird aber auf jedenfall eine beliebige Menge von Animationen definieren können und diese dann jederzeit abspielen lassen können.

    Zitat Zitat von Fuxfell Beitrag anzeigen
    Den Code so einzutippen wie in deinem Beispiel dargestellt würde mir auf Dauer wohl keinen Spaß machen und ist mMn nicht sehr benutzerfreundlich.
    (Besonders die einzelnen Frames noch in Höhe,Breite und Position händisch definieren zu müssen.)
    Auf keinen Fall wird man den Code eintippen müssen! Natürlich gibt es dafür ein angenehmes GUI um alles per Mausklick zusammen zu schustern.
    Allerdings gibt es natürlich auch die Möglichkeit die Werte per Hand einzutragen falls einem das GUI zu umständlich ist.

    Zitat Zitat von Fuxfell Beitrag anzeigen
    Extrem wichtig wäre mir eine "Live"-Vorschau der Animation. Ein eingebauter Editor um die Grafiken selbst direkt zu bearbeiten, ohne ein externes Programm anwerfen und anschließend die Grafiken neu importieren zu müssen, wäre auch nicht schlecht.
    Eine Live-Vorschau der Animation gibt es.
    Ein eingebautes Bildbearbeitungsprogramm jedoch nicht. Das wäre zwar möglich, ist mir zu diesem Zeitpunkt jedoch unnötig viel Aufwand. Möglicherweise könnte ich eines Tages einmal ein paar simple Tools (Bleistift, Radiergummi, etc) einbauen.
    Grafiken muss man aber nicht neu "importieren". Falls man die Grafikdatei verändert hat braucht man einfach nur einmal "aktualisieren" im Kontextmenü auswählen und die Datei wird auf den neuesten Stand gebracht.

    Zitat Zitat von Fuxfell Beitrag anzeigen
    Wenn du "Inspiration" suchst dann kannst du dir ja mal ansehen, wie es z.B. im GameMaker gelöst ist (empfinde ich als sehr benutzerfreundlich und gleichzeitig flexibel) und einen Blick auf GraphicsGale werfen. GraphicsGale hat für mich alles was ein Grafikprogramm speziell für Pixelart braucht und keine unnötigen Features. Besonders angenehm ist die Pipette mit der rechten Maustaste und das Ausschneiden, wenn die rechte Maustaste gedrückt bleibt. Geht mir super von der Hand.

    Edit:
    Ach ja, Onion Skin (heißt das so? ) auf jeden Fall fürs Pixeln der Animationen! Bin mir aber nicht sicher, was du unter Animationseditor genau verstehst :/
    Ich werde es mir einmal anschauen.

    Danke nocheinmal für das Feedback soweit, ich will hier auch schoneinmal eine kleine Vorschau darauf geben, wie der Animations-Editor im Moment aussieht.
    Bitte beachtet, dass es sich noch um ein recht frühes Stadium der Entwicklung handelt.
    Klicke auf die Grafik für eine größere Ansicht 

Name:	image2.png 
Hits:	41 
Größe:	23,4 KB 
ID:	20375

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •