Se connecter

Informatique

Création de Jeux

Sujet : Animation 2D calques
1
Aleksandre37
Niveau 6
05 mars 2021 à 21:54:46

Salut, je suis actuellement en plein création d'un jeu en 2D et je rencontre un problème.

J'ai un personnage en 2D que je souhaiterai être capable de réaliser plusieurs actions : marcher, interagir, attaquer, ne rien faire. Chacune de ces actions correspond à une animation différente. Dans une première version de mon jeu, j'avais simplement créé ces animations et exporté 4 spritesheets différents, 1 par action.

Cependant, le problème est le suivant: maintenant je souhaiterais que le personnage puisse porter des armes ou des pièces d'armures, seulement si je veux animer chaque combinaison d'équipement et chaque pièce il y aurait beaucoup trop de travail à réaliser et ça ferait exploser le nombre de spritesheets.

Ce que je cherche, ce serait une méthode me permettant de ne pas multiplier les animations (un logiciel ? utilisation de fichiers de données tel que le json ou le xml ?)

Merci d'avance ! :)

ouimaisquoi
Niveau 8
06 mars 2021 à 10:59:32

Y a pas de magie: Un perso nu = Un sprite; un perso armé = Un autre sprite
Ou sinon il faudrait faire des sprites "arme", et ça obligerait à déménager les armes avec le perso, et là, bonjour le code...

ThetaTauTau
Niveau 8
06 mars 2021 à 11:41:34

Il y a pleins de solutions possibles qui sont à choisir selon le style graphique et le gameplay. Dans tous les cas il faut séparer chaque partie du corps et les réassembler ensuite.

Les 2 solutions les plus simples :
-superposer des sprites animés pour chaque partie du corps (mais il faut refaire l'animation pour chaque sprite).
- animer le personnage dans le moteur de jeu en faisant des rotations/translations/redimensionnement des parties du corps ( https://www.youtube.com/watch?v=FTxQKHG5WCA&t=355s ). Ça évite d'avoir à refaire toutes animations pour chaque nouvel objet, mais ça ne fonctionne pas bien en "vrai" pixel art (mais on peut toujours tricher avec un effet pixel art en post processing).

zebtorax
Niveau 9
06 mars 2021 à 12:36:21

Faut d'abord faire un squelette. Chaque partie du squelette est enfant d'une autre partie du squelette.
Ensuite dans la programmation tu peut rajouter que des objets (pièces de vêtements, armes, équipements...) viennent se rajouter en enfant de certaines partie du squelette sélectionnées.

Pivot stick figure animator te sera peut-être utile :
https://www.clubic.com/telecharger-fiche14243-pivot-stickfigure-animator.html

Il existe des pack pour compléter sur Internet, exemple :
https://videomasher3000.weebly.com/sticks-to-download.html

Il existe aussi de très nombreux logiciels de ce genre.
... Et sinon tu n'as pas donné de précisions, c'est pour Unreal ?

Aramakiir
Niveau 8
06 mars 2021 à 12:40:22

Le problème de ce genre de méthode c'est que ça donne un aspect "pantin" qui plaira pas forcément, perso ça me fait penser aux gugusses que tu fais en maternelle avec des attaches parisiennes

zebtorax
Niveau 9
06 mars 2021 à 13:27:53

Le 06 mars 2021 à 12:40:22 Aramakiir a écrit :
Le problème de ce genre de méthode c'est que ça donne un aspect "pantin" qui plaira pas forcément, perso ça me fait penser aux gugusses que tu fais en maternelle avec des attaches parisiennes

Oui non mais ce qui compte c'est que ça plaise au concepteur du jeu. Ici c'est le forum création de jeu et pas joueurs de jeu. :rire:

Au fait s'en est où d'ailleurs Aramakiir la créa de ton jeu ?

Aramakiir
Niveau 8
06 mars 2021 à 15:42:18

Et toi les ventes du tien 😅
Moi je préfère le sortir fini, chacun son truc.

C'est rigolo ton habitude de vouloir t'en prendre à la personne quand tu n'aimes pas ce qu'on te dit.

Désolé d'avoir un avis sur le côté graphique des Sprites "squelette". On est loin de tes avis type "Mouais ok pourquoi pas ton idée de jeu tower défense en 3D mais tu devrais plutôt faire un rpg en 2d" mais qu'est ce que tu veux je ne sais pas être aussi pédant.

Aleksandre37
Niveau 6
06 mars 2021 à 16:47:00

Le 06 mars 2021 à 12:36:21 zebtorax a écrit :
Faut d'abord faire un squelette. Chaque partie du squelette est enfant d'une autre partie du squelette.
Ensuite dans la programmation tu peut rajouter que des objets (pièces de vêtements, armes, équipements...) viennent se rajouter en enfant de certaines partie du squelette sélectionnées.

Pivot stick figure animator te sera peut-être utile :
https://www.clubic.com/telecharger-fiche14243-pivot-stickfigure-animator.html

Il existe des pack pour compléter sur Internet, exemple :
https://videomasher3000.weebly.com/sticks-to-download.html

Il existe aussi de très nombreux logiciels de ce genre.
... Et sinon tu n'as pas donné de précisions, c'est pour Unreal ?

Pas du tout j'utilise pas de moteur, juste la librairie SFML avec le C++ :-))) Je vais voir les liens que tu m'a passé, merci ! :)

Shiba_the_Inu
Niveau 59
06 mars 2021 à 21:42:33

Je pense qu'il faudrait faire un spritesheet de chaque arme à la taille de ton personnage, un peu comme quand tu fais un générateur de personnage avec des assets, un peu à la manière de ce logiciel :
https://1up-indie2.itch.io/character-creation-tool-full

Après tu fais un calque sur les diverses actions de ton personnage de base, et tu y dessines les mouvements des armes, puis tu retires tout simplement le calque de ton personnage.... Pour le reste tu créés en jeu un sprite à la même position que ton personnage, et avec le même système de nommage des actions de base (genre Sprite_Courrir, Sprite_Marcher) etc, et lié à l'armes actuellement portées par le joueur.
Genre :
Personnage.Action = Courir;
Charger_Animation(Courir)

Fonction Charger_Animation(action)
{
   PlayAnimation("spritesheet_joueur.png")
  if(Personnage.isArmed)
      {
        PlayAnimation("spritesheet"  + Personnage.Arme + ".png")
      }

}

Le logiciel Game Character HUB / Portfolio Edition est à mon sens le plus facile pour créer diverses actions et y lier différents assets (au pire tu peux dessiner sur ton logiciel habitué et importer ensuite les images dedans)

Donc t'as pas trop le choix, je pense, autrement il faut utiliser un truc façon DragonBones ou Spriter, mais comme dit plus haut, ça fait une animation un peu trop pantin, et suivant les armes tu risques de devoir faire des ajustement. Car tu peux y prédéfinir des mouvements (genre rotation de x degré,, déplacement sur l'axe x/y/z etc), mais est-ce que ça collera avec des petites armes comme des grosses ? Peut être voir par rapport au point de pivot par exemple.

1
Sujet : Animation 2D calques
   Retour haut de page
Consulter la version web de cette page