Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Game Maker Domäne. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

1

Dienstag, 20. März 2012, 21:21

2D Bone Animation Tool - Bonim8or



Guten Abend meine Freude!
Nach vielen Wochen des Rumgammelns und der Tatenlosen Momente, habe ich mich endlich wieder an mein Projekt ("Fatman") gesetzt und es komplett neu umgerüstet. Dabei ist mir die Idee gekommen ein Animationseditor zu schreiben, der es ermöglicht erstellte Skelette zu animieren - kurzgesagt ein Bone Tool (für den Zweidimensionalen Raum).

Wozu habe ich das gemacht?
Nun ja, es ist so, da mein Projekt ziemlich viel Festplattenspeicher sowie RAM braucht, habe ich mich dazu entschlossen eine Lösung für das Dilemma zu finden und hab mich dazu entschlossen das Ding hier zu programmieren. Der Vorteil von skeletal animations, ist der, dass man, zum einen ein Skelett hat und darauf beliebige Animationen (falls diese für das Skelett gedacht sind) anwenden kann. Man braucht, wenn man zum Beispiel zwei Charakter hat (mit den selben Knochen), die im Prinzip die selben Animationen haben, nur einmal eine Animation zu erstellen und kann diese dann auf beide anwenden. Ein anderer Vorteil ist, dass man ein Haufen Speicher sparen kann, da man, wie schon gesagt nur eine Animation laden muss und diese dann auf ein Skelett anwendet. Und genau darum ging es mir letztendlich. Bone Animationen bringen noch andere Vorteile mit sich, wie:

  • Körperteile unabhängig voneinander drehen, strecken und zerren
  • Aufgrund von linearer Interpolation, braucht man nicht Frame für Frame zu animieren
  • Dies hat zur Folge, dass man flüssige Animationen bekommt

Das einzige Problem könnte evtl. die Geschwindigkeit sein. Aber dazu später mehr, wenn das Tool hier hochgeladen wurde.
Ok, genug gelabert. Ich kann euch im Moment nur mit einem Video beeindrucken, da ich noch einige kleine Bugs entfernen will. Aber ich denke, dass ich bis zum Wochenende eine Beta des Programms hier hochladen kann. Scripts um die Skelette und Animationen in ein Spiel zu importieren habe ich auch schon fertig, aber ich muss noch ein wenig mit den Spiegelungen an der X- und Y-Achse kämpfen.

Video über den Editor

Edit:
Video über das Einbinden in Projekte.

Download:
  • Editor
  • Example. Hier sind alle Dateien enthalten, die ihr braucht. Angaben zum Aufbau sind da und jede Funktion der Extension ist erläutert. Schaut euch einfach die PDF-Datei an. Im Example ist alles ausführlich Kommentiert.

Ich hoffe doch, dass irgendjemand hier sowas gebrauchen kann.

MfG
»Trixt0r« hat folgende Datei angehängt:
  • Bon-Example.rar (645,12 kB - 43 mal heruntergeladen - zuletzt: 20. Mai 2013, 21:39)

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von »Trixt0r« (19. Mai 2012, 22:47)


Es haben sich bereits 7 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Clark, domis4, Funcestor, Joex3, levarris07, mar96k, Rhedox

Tice

Neujahrs-Contest-Teilnehmer 2012

Beiträge: 1 635

Selbsteinschätzung: Drag & Drop Einsteiger

Danksagungen: 4

  • Private Nachricht senden

2

Dienstag, 20. März 2012, 21:38

Wow! Sehr nice!
Wird es noch eine Funktion geben, um die gesamte Animation als *.png zu exportieren?
Da ich im video schlecht entziffern konnte, was da eigentlich steht.. (etwas schlechte Qualität)

Beiträge: 477

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Experte

Aktuelles Projekt: Ich dachte mir, dass ich mal schauen könnte, wieviel Text in dieses Feld hier reinpasst. Meine Posts sind dann größer und heben sich hervor, was mir mir den Vorteil gibt, sie selbst besser wiederzufinden. Und siehe da, ich kann ja noch mehr eingeben.

  • Private Nachricht senden

3

Dienstag, 20. März 2012, 21:39

Genial. Einfach nur Genial.
Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (5. Dezember 2012, 11:33)

Unistyle

Waldnymphe

Beiträge: 140

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Unimate

  • Private Nachricht senden

4

Dienstag, 20. März 2012, 21:46

Sieht sehr gut aus :o
Hab auch schon nen Kommentar in Youtube geschrieben :p
Vielleicht werd ichs brauchen, aber ich weiß nicht ob das für mich sinnvoller wäre, als jeden
Frame zu pixeln, da ich 32px, 64px und bei bossen evt. größere Sprites benutze. Eig. recht kleine.


mfg

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

5

Mittwoch, 21. März 2012, 09:13


Wird es noch eine Funktion geben, um die gesamte Animation als *.png zu exportieren?

Jo, die Funktion gibt es schon. Man kann die Animationen als Strip oder als Bildsequenz (als eine Bilddatei pro Bild) exportieren.
Sorry fuer die Quali. Ich werde noch in einem anderen Video zeigen, wie man das Zeug in ein Projekt einbinden kann. Dann auch mit besserer Bildqualitaet. ^^

Danke fuers Feedback!
MfG

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

domis4

***Gold***

Beiträge: 1 636

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Danksagungen: 15

  • Private Nachricht senden

6

Mittwoch, 21. März 2012, 16:34

sehr schön! und wirklich nützlich, besonders für die, ohne Geld für Adobe Flash :)

Gibt es nur die Möglichkeit Bilder zu importieren, oder auch im Programm zu Zeichnen?
- Sagen wir mal: eine Zeichnung in Gruppen unterteilen und diese dann Bones zuweisen.
als ähnlich wie die "Vertex Group" Funktion in Blender.
"Only a mind free of impediments is capable of grasping the chaotic beauty of the world. This is our greatest asset."

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »domis4« (21. März 2012, 16:43)


Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

7

Mittwoch, 21. März 2012, 19:40

Gibt es nur die Möglichkeit Bilder zu importieren, oder auch im Programm zu Zeichnen?
- Sagen wir mal: eine Zeichnung in Gruppen unterteilen und diese dann Bones zuweisen.
als ähnlich wie die "Vertex Group" Funktion in Blender.
Nee, sorry. Man kann nur Bilder importieren. Ich hab erstmal überlegt, so ein Feature einzubauen, aber das war mir dann doch zu stressig. Vielleicht werde ich mal irgendwann, wenn Zeit da ist, sowas einzubauen.
Man kann aber nicht nur einzelne PNG's (Bitmaps, whatever) importieren, sondern auch gespeicherte Game Maker Sprites (also .gmspr). Das hat dann den Vorteil, dass man den image_index ändern kann, z.B. für eine Drehung eines Körperteils.

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

Beiträge: 804

Game Maker Version: Studio

Selbsteinschätzung: GML Experte

Aktuelles Projekt: Weltherrschaft

Danksagungen: 43

  • Private Nachricht senden

8

Donnerstag, 22. März 2012, 21:25

Macht schonmal einen guten Eindruck. Allerdings wirken die Mannschgerl dann bei einfachen Sprites sehr zusammengesetzt wenn sie nicht nur eintönig wären. Da wäre es dann in Verbindung mit einer Physik Engine sinnvoller.

Ansonsten könntest du auch die Schnitzstellen verschmelzen lassen.

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

9

Sonntag, 25. März 2012, 14:06

Neuigkeiten

So!
Wie versprochen gibt es eine Beta von meinem Tool. Seid auf der Hut, da ist noch ein Haufen an Bugs, die dem eigentlich Erstellen eines Skeletts und dem Animieren nicht im Weg stehen.
Bitte sagt mit bescheid, wenn ihr einen Bug findet und sagt mit wie ihr den hervorgerufen habt.
Für die Leute, die sich interessieren, wie die Dateien aussehen, müssen sich nur die Scripts skeleton_load und animation_load anschauen. Um die Dateien zu laden, bruacht ihr auf jeden Fall die Arch.dll.

So, bin dann mal wieder weg ;)

MfG

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

Tice

Neujahrs-Contest-Teilnehmer 2012

Beiträge: 1 635

Selbsteinschätzung: Drag & Drop Einsteiger

Danksagungen: 4

  • Private Nachricht senden

10

Sonntag, 25. März 2012, 14:18

Ehrlich gesagt, seh ich kein downloadlink ^^"

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

11

Sonntag, 25. März 2012, 17:29

Im ersten Post natürlich. Habs vergessen zu erwähnen. >.<

Edit:

Zitat von »famous«

Macht schonmal einen guten Eindruck. Allerdings wirken die Mannschgerl dann bei einfachen Sprites sehr zusammengesetzt wenn sie nicht nur eintönig wären. Da wäre es dann in Verbindung mit einer Physik Engine sinnvoller.

Ansonsten könntest du auch die Schnitzstellen verschmelzen lassen.
Ich hab es bewusst nicht implementiert, weil wenn ich die Schnittstellen verschmelzen lassen wuerde, wurde das ganz schoen an der Performance ruettelen (besonders beim GM). Ausserdem waere das dann alles unnoetig kompliziert. Ich hab extra die Moeglichkeit eigebaut, fuer jedes Gelenk einen Sprite zu laden (was in Form eines Kreises am besten passt). Das sollte helfen, die unnschoenen Stellen zu verschoenern. Ansonsten kann man auch, wenn man die Koerperteile anfertigt, sie so zeichnen/pixeln, dass bei einer Drehung kein Uebergang zu sehen ist. Muss man halt ausprobieren. Ich sehe in dem Punkt eigentlich nicht so ein grosses Problem.
Zu der Physik-Engine: Ja, ich hab auch schon ueberlegt, das ganze mit der ExtremePhysics-Engine zu kombinieren, wird aber wohl noch etwas dauern. Wer will, kann es ja fuer mich uebernehmen. :P Solle eigentlich nicht allzu schwer sein.

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Trixt0r« (27. März 2012, 10:26)


ghost

Lobbyist

Beiträge: 1 049

  • Private Nachricht senden

12

Sonntag, 22. April 2012, 11:34

Naja, erstmal: extrem coole Sache. Hätte es gerne verwendet, doch ist es irgendwie unmöglich das Programm zu verwenden: es stürzt sehr oft und völlig unerwartet und ohne Fehlermeldung ab, wobei sich dabei nichtmal ein Muster feststellen lässt warum oder bei welcher Aktion.

"Nee, ich trinke keinen Tee, ich bin Atheist." - Helge Schneider

Beiträge: 804

Game Maker Version: Studio

Selbsteinschätzung: GML Experte

Aktuelles Projekt: Weltherrschaft

Danksagungen: 43

  • Private Nachricht senden

13

Sonntag, 22. April 2012, 12:34

Die Performance des GM sollte dir dabei keine Grenze setzen. ^^ Du kannst das auch mit Polygonen lösen. Dabei wird die Textur des Polygon sanft durch Alphablending verschmolzen und bei hoher Anzahl sieht eine Verbiegung auch relativ schick aus.

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

14

Sonntag, 22. April 2012, 14:39

@ghost: Das Problem kenn ich, aber ich weiß nicht woran es liegt. Ich nehme an, dass es an der MaxWinAPI 2 liegt. Jedenfalls hab ich eine aktuellere Version im ersten Post verlinkt. Bei der hatte ich bis jetzt noch keinen Absturz (hab schon mehr als 30 Animationen für mein aktuelles Projekt erstellt). Versuch mal die.

Die Performance des GM sollte dir dabei keine Grenze setzen.
Witzig.

Btw arbeite ich gerade daran das ganze Zeug in eine DLL zu packen, da es mit normalen GML Code ziemlich an der Performance nagt.

MfG Trixt0r

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

ghost

Lobbyist

Beiträge: 1 049

  • Private Nachricht senden

15

Sonntag, 22. April 2012, 15:19

Habe weiter dran rumgebastelt und noch mehr seltsame Fehler gefunden. Als Grundlage verwende ich deinen Dummy.
1. Wenn ich nun den Upper-Left oder Right Arm ersetze ist er praktisch "falschrum" gedreht. Wenn ich jetzt den Dummy speicher und neu lad, ist er wieder richtig.
2. Die Funktion um einen bestimmten bone zu finden funktioniert nicht richtig. Wenn ich den Lower Right Arm will, spuckt er mir den linken Fuß aus.
3. Manchmal erhalte ich beim umherlaufen "negative array index". Habe das Problem aber selber gelöst indem ich im Bone Update-Skript "frame" jeweils mit "max(frame, 0)" ersetzt habe.

"Nee, ich trinke keinen Tee, ich bin Atheist." - Helge Schneider

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ghost« (22. April 2012, 17:14)


Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

16

Sonntag, 22. April 2012, 16:29

3. Manchmal erhalte ich beim umherlaufen "negative array index". Habe das Problem aber selber gelöst indeme ich im Bone Update-Skript "frame" jeweils mit "max(frame, 0)" ersetzt habe.
Oh, dann hatte ich noch die alten Scripts drin.
1. Wenn ich nun den Upper-Left oder Right Arm ersetze ist er praktisch "falschrum" gedreht. Wenn ich jetzt den Dummy speicher und neu lad, ist er wieder richtig.
Komisch. Schau mal unter dem Tab "Sprites" nach, dort kann man den Winkel des Sprites abändern. Oder man umgeht es, indem man von Anfang an die Sprites richtig rum dreht und dann in den Editor lädt.
2. Die Funktion um einen bestimmten bone zu finden funktioniert nicht richtig. Wenn ich den Lower Right Arm will, spuckt er mir den linken Fuß aus.
Dazu kann ich dir nix sagen. Ich weiß nicht genau was du meinst. Ich tippe mal auf den Overview der Bones? Da kann ich aber nix für, da macht die MaxWinAPI Stress.

So, wie der Editor jetzt ist, reicht es für mich zum Arbeiten, aber anscheinend nicht für andere Benutzer. xD
Ich werde auf jeden Fall noch weiter an dem Editor basteln oder vllt. in C++ oder C# umschreiben, da mir nicht ganz geheuer ist, was die MaxWinAPI da genau macht und wie manche Bugs (hier nicht erwähnt) Zustande kommen.
Danke für die Rückmeldung, ghost. Werde mich demnächst dran setzen und die Bugs beheben.

MfG

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

Beiträge: 804

Game Maker Version: Studio

Selbsteinschätzung: GML Experte

Aktuelles Projekt: Weltherrschaft

Danksagungen: 43

  • Private Nachricht senden

17

Sonntag, 22. April 2012, 18:32


Witzig.

Btw arbeite ich gerade daran das ganze Zeug in eine DLL zu packen, da es mit normalen GML Code ziemlich an der Performance nagt.

MfG Trixt0r
Welches Zeug? Solche "Melt"-Objekte? Mit z.B 12 mit hoher Qualität ist das kein Problem. Je nachdem wie du das ganze programmierst, bzw wenn die bisherige IDE uneffizient/überladen aufgebaut sein sollte sieht es natürlich anders aus.

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

18

Sonntag, 22. April 2012, 19:13

Ich hab z.B. die Animationen als einzelnes GM Objekt definiert, was die ganzen Daten für eine Animation beinhaltet. Das ist nicht sehr schön, da der GM, glaube ich, (ich weiß es nicht) durch diese Objekte iterieren muss. Dann hab ich noch die Bones, die in jedem Step aktualisiert werden müssen, die mit lengthdir_x und lengthdir_y arbeiten. Und wenn ich da jetzt haufenweise Skelette und Animationen in einem Raum laufen habe, wird das ein großartiges Rumgelagge. Von daher macht es ziemlich viel Sinn eine DLL dafür zu schreiben, wo ein kompilierter Code viel schneller ausgeführt werden kann, als GML. Ansonsten macht die ganze Bone-Animation hier keinen Sinn.

Schnittstellen werde ich nicht verschmelzen lassen, da es für meine aktuellen Zwecke nichts bringt. Später werde ich mich vllt. daran setzen.
Edit: Wie ich die Verschmelzungen technisch anstelle weiß ich, aber im Moment macht es für mich keinen Sinn. Es würde nur den Release meines aktuellen Games verzögern.
MfG

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

mar96k

Vergoldete D-Mark

Beiträge: 356

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

  • Private Nachricht senden

19

Dienstag, 1. Mai 2012, 17:00

Es wäre sinnvoll animationen als .gif datei abzuspeichern und einzelbilder als .png oder ein Tutorial wie es mit dem Game Maker und der DLL genau funktioniert weil wenn ich
die .gmk öffne verstehe ich nur bahnhof vorallem weil ich nicht weis was ich mit den ganzen funktionen anfangen soll. Ein Tutorial wäre dafür schon sehr hilfreich aber würde
nicht reichen alles einfach in den game maker als sprite zuladen etc.?? Für meine Zwecke würde dies bereits ausreichen. Ich könnte mir vorstellen mit dem Programm in Zukunft
nämlich zuarbeiten weil es sehr einfach ist und vorallem kostenlos.. Fehlt nur noch das Exportieren bzw. ein Tutorial für das einbinden in game maker.

MFG: Mar96K

Trixt0r

Silber

  • »Trixt0r« ist der Autor dieses Themas

Beiträge: 520

Game Maker Version: 8 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Fatman

Danksagungen: 26

  • Private Nachricht senden

20

Dienstag, 1. Mai 2012, 19:26

@mar96k:
Man kann die Animationen als .png exportieren. Schau mal unter "File". Da kannst du jedes Bild als einzelne Datei speichern oder als Strip, aber nur dann, wenn die Animation mindestens zwei Frames hat.
Ich dachte, mit dem Example wäre klar, wie man die Animationen einbindet. Fürs Tutorial fehlt mir im Moment Zeit. Sorry. Bei Gelegenheit werde ich eins machen, oder jemand anderes, der mein Werk versteht, kann ein Tutorial erstellen .:P

MfG

Zitat von »Albert Einstein«

Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

Ähnliche Themen

Verwendete Tags

2D, Animation, bone, skelett, Tool