[RESOLU]Aligner les sprites d'un personnage 2D sur ses différents mouvements

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Jackycrew
Messages : 13
Inscription : 22 Oct 2014 13:57

[RESOLU]Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Jackycrew » 13 Fév 2018 22:56

Bonjour à tous, j'espère que ma question n'a pas déjà été postée sur ce forum. Je fais actuellement un petit test de beat'em up 2D sur Unity pour me familiariser avec les outils et le code et je rencontre un petit problème au niveau de l'alignement des sprites. Quand mon personnage est debout, ses pieds sont positionnés à la hauteur voulue par rapport au sol, en revanche, quand il met un coup de poing, son corps se décalle sur la gauche à cause de la largeur du sprite qui augmente. De même, quand il s'accroupit, ses pieds remontent car le sprite à une hauteur moins importante, ce qui donne des résultats un peu bizzare. J'aurais voulu illustrer le propos avec des captures, mais noob du forum oblige je ne sais pas comment on les insère dans le post...

J'ai essayé de modifier dynamiquement la position du joueur dans le code pour régler ce problème, j'ai eu quelques résultats, mais cette approche et très difficile et aussi très bourrin. Comment feriez-vous ?
Merci d'avance !

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par boubouk50 » 14 Fév 2018 10:20

Pour les images, tu as un lien vers HostingPics en dessous de la zone de saisie de texte. Ca te génère un lien vers l'image uploader qu'il faut coller dans ton message.
Ou bien, tu les héberges toi-même quelque part et tu mets le lien de l'image entre les balises [img] du menu (9e bouton avec l'icone du paysage)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Jackycrew
Messages : 13
Inscription : 22 Oct 2014 13:57

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Jackycrew » 14 Fév 2018 13:45

Mhhh à priori le site est mort et je n'ai aucun moyen d'héberger moi-même les images...

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Max » 14 Fév 2018 14:27

Jackycrew a écrit :
14 Fév 2018 13:45
Mhhh à priori le site est mort et je n'ai aucun moyen d'héberger moi-même les images...
oui désolé, HostingPics est fermé depuis quelques semaines, et cela ne devrait plus apparaitre dans les options d'écriture des messages. Tu as des alternatives listées ICI.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Jackycrew
Messages : 13
Inscription : 22 Oct 2014 13:57

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Jackycrew » 15 Fév 2018 21:16

Ah super merci, alors voilà deux petites images pour illustrer mon problème sur le passage debout -> accroupi :
Image Image
On voit bien que le personnage est beaucoup plus haut par rapport au sol quand il est accroupi du fait de la hauteur des sprites qui diffère (découpés automatiquement par Unity).

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par DevAmat » 16 Fév 2018 09:39

Ton sprite ne devrait pas bouger en Y (hauteur), normalement tu dois juste changer ton sprite sans avoir besoin de le bouger. Seul le collider doit être modifié. Il faut donc que les pieds de ton personnage qu'il soit accroupi ou debout soit toujours en bas de ton image. Est ce le cas? De manière générale tes sprites de ton personnage doivent avoir la même taille.

Avatar de l’utilisateur
Wamoga
Messages : 110
Inscription : 16 Jan 2018 14:56

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Wamoga » 16 Fév 2018 16:31

si tu sélection le sprite ( dans le projet ) tu as un bouton sprite editor qui te permet de modifier le pivot ( pas que mais c'est ce qui peut intéresser ici ) tu peut décaler ton sprite de cette manière je te conseil de mettre le pivot en horizontale centré et verticale au niveau du sol ensuite les pieds se poseront au niveau du pivot du game object sur lequel tu vas mettre le composant ( je te conseil de le mètre au sol la ou tu veux tes pieds ) ça devrait marcher et c'est une méthode propre qui demande pas de ressources supplémentaire :)

petit bonus avec le sprite éditor tu peut aussi découper des images en 9 pour faire se répété le centre ou ce genre de chose ( très pratique pour des boutons qui ont toujours le même graph mais pas la même taille)

Jackycrew
Messages : 13
Inscription : 22 Oct 2014 13:57

Re: Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Jackycrew » 18 Fév 2018 18:19

Ah nice merci beaucoup j'ai dû bidouiller un peu parce qu'en mettant comme pivot bottom left ça règle mes problèmes mais quand mon perso change d'orientation il se retourne en faisant une symétrie par rapport à son pivot du coup il ne reste pas à sa position mais se décale un peu. J'ai donc modifié mon script pour lui faire faire un déplacement qui compense ce décalage et tout est parfait maintenant ! Merci beaucoup pour vos réponses !

Avatar de l’utilisateur
Wamoga
Messages : 110
Inscription : 16 Jan 2018 14:56

Re: [RESOLU]Aligner les sprites d'un personnage 2D sur ses différents mouvements

Message par Wamoga » 21 Fév 2018 14:52

aaaaah XD nooon XD

pivot sur bottom mid sera plus simple qu'un script ^^

Répondre

Revenir vers « Unity le logiciel »