[Extension][1.0.1] Objet squelette animable

On va dire que ce n’est pas une priorité, ça viendra bien après.

WxWidget ne permet pas de dessiner des bitmap avec une rotation, seul SFML le permet.

Concernant ce dernier point, il y a la possibilité d’utiliser la méthode Rotate de wxImage, mais ça implique une conversion wxBitmap → wxImage → wxBitmap et ce genre de modification en mémoire pour être vite couteuse si il y a pas mal d’image. Enfin, en “temps réel”, ça serait surement pas terrible niveau performance, mais en pour un simple aperçu, ça pourrait peut être passer même si il y a pas mal d’os au squelette.

Je pourrai essayer de m’occuper de ça quand l’extension atteindra un niveau de maturité où elle sera prête à être utilisée.

Sinon comme d’hab bon boulot, et bon courage pour la suite :slight_smile:

Bonjour tous le monde !

Tu ne t’attaque pas a du facile facile là Victor :astonished:
Se sera certainement une superbe extension avec pleins de possibilités :smiley:

Je passais par là comme ça alors j’en profite pour te féliciter et te souhaiter un bon courage, merci à toi :wink:
A plus ! :slight_smile:

Merci pour votre soutien. :slight_smile:

L’extension avance, je viens de rendre le système de frames clés modulaire : avant, on pouvait seulement faire des frames clés pour les angles des os, maintenant, il sera possible de le faire la taille des os, pour leur décalage, pour leur images (encore à implémenter, mais le système permet déjà de le faire).

On peut imaginer conserver les Bitmaps tournés (après les deux conversions) jusqu’à que l’angle de l’os soit modifié.

L’extension avance bien, je viens de finir la gestion de différentes méthodes d’interpolation entre chaque frame clée.
Voici à quoi ressemble l’éditeur de squelette, de nombreux boutons sont apparus (et apparaîtront bientôt) à côté de chaque champ de saisie.
[attachment=0]lastUI.png[/attachment]
Les boutons placés à côté des champs concernent le champ auxquels ils sont adjacents.
Ainsi, le bouton “clé” permet de créer une frame clée pour la valeur adjacente (qu’il faut déjà appliquer grâce au bouton “Appliquer”) à l’endroit sélectionné sur la timeline (en haut de la fenêtre).
Le 2nd bouton permet de supprimer la frame clée sélectionnée correspondant à la valeur adjacente (soit la frame clée de l’angle, ou de la longueur).
Le 3ème bouton ne sert pas à l’animation. Quant au dernier bouton, il permet de changer la méthode d’interpolation entre la frame clée sélectionnée et la suivante.
Pour le moment, les méthodes d’interpolation sont : Linéaire (par défaut), Sinusoidale, Exponentielle, et l’Exponentielle inverse.

Je ferais peut-être bientôt une vidéo afin de montrer le comportement des différentes interpolations.

Vraiment une extension très prometteuse, qui me servira énormément !
Je ne peux que t’encourager à continuer. :wink:

Je me posais la question, est ce qu’il existe des logiciels pour generer de telles animations en 2D? Si oui, ils serait intersessant de connaitre leur format pour eventuellement permettre une importation. L’auteur du logiciel “Spriter” etait venu en parler sur le forum anglais par exemple.

Ça peut être intéressant. Il reste à savoir si les formats de fichiers sont assez simples à décoder et si ces logiciels fonctionnent de la même façon.
Sinon, je prévois un système de modèle d’animations personnalisables similaires aux modèles d’évènements.
En tout, je verrais cela et la maj de mes autres extensions quand je rentrerai de vacances (demain soir).

L’extension se rapproche à grand pas d’une première version beta.
Voici quelques screens de l’éditeur de squelette avec son interface améliorée.

Éditeur d’os
[attachment=1]bonesEditor.png[/attachment]
La grille de propriété permet de modifier facilement et en direct les propriétés de l’os sélectionné (plus pratique et moins encombrant que les zones de texte avec le bouton “Appliquer”).

Éditeur d’animation
[attachment=0]bonesAnimationEditor.png[/attachment]
Les champs “Frame clée” et “Type d’interpolation” permet de configurer les animations des os. Le type d’interpolation d’une frame clé est utilisé à partir de la frame clef jusqu’à la suivante.

Voici une démo de l’extension sous forme d’un jeu compilé.
Je vous laisse découvrir et utilisez la glissière du jeu pour régler la vitesse de l’animation.
http://www.levasseursoftware.net/down/Skeleton/DemoSkeleton.zip

cool la démo :slight_smile: !

ça sera disponible en animations automatique ? (lorsque l’on fait bouger un perso par exemple !)

C’est-à-dire ? (J’ai pas compris.)

Genre on appuye sur la touche ‘right’ pour faire bouger un perso, est-ce que en appuyant sur cette touche on pourrai activer l’animation ?

C’est le but, ce sera comme pour les sprites à ce niveau là.

ce genre de projet est la meilleur façon de faire un jeu rayman :smiley: (ce qui n’est pas mon but)
Je trouve que ce que tu fait est énorme, continu comme ça :slight_smile:

Super extension, la démo est vraiment chouette c’est beau et fluide tout ce que j’aime et merci car je compte bien m’en servir un de c’est quatre :smiley:

Si certains ont le logiciel FRAPS, peuvent-ils me dire à combien de FPS tourne la démo. C’est juste un sondage pour voir si je dois optimiser le moteur d’animation.
Personnellement, j’ai environ :

  • Démo dans GD : 500/600 fps
  • Démo compilée (comme dispo sur le lien) : 1700/1800 fps

(C’est fou la différence…)

Chez moi la version compilée tourne à environ 1700/1800 et descend à 150 en enregistrement.

Ok.
En mode enregistrement, ce n’est pas interressant, c’est juste FRAPS qui ralentit le jeu.