Tutorial Création et Adaptation de personnages sous Mugen par Sunny : 2eme Partie
Centrer les sprites dans le SFF
Bon, il est temps de passer à la troisième phase de la création du fichier SFF.
Jusqu'à présent nous avons plus ou moins vu comment riper les sprites à partir d'un émulateur, créer une palette, l'appliquer aux
images ripées et inclure celles-ci dans un fichier SFF grâce à
MCM. Vous le trouverez
ici.
Il ne nous reste plus qu'à centrer ces images
dans ledit fichier SFF pour que celui-ci soit complet.Center les sprites lorsque le
personnage ne se déplace pasPour que tous les sprites soient
centrés de manière identique, nous utiliserons
une
image de référence. Celle-ci sera
le premier sprite du stance
(l'animation du perso lorsque celui-ci se tient debout sans rien faire).
Pour ceux qui les ont gardées, nous utiliseront également
les images capturées par l'émulateur (celles en 320x240).
J'ai complètement oublié de vous le
préciser, mais
au moment de riper les sprites, il vaut mieux inclure la première image du stance au début ou à
la fin de l'animation que l'on veut riper pour obtenir plus facilement les coordonnées des autres images. Inutile
toutefois de re riper toute l'animation. Re ripez simplement le dernier sprite de votre animation ainsi que l'image qui la suit et
qui devrait être le premier sprite du stance. Il suffira de calculer les axes sur ces deux images et puis de les reporter sur les images
que vous avez déjà ripées.
Nous allons commencer par centrer la première image du stance dans le fichier SFF avec MCM.
-Sur le plan
horizontal, placez l'axe là où vous pensez que se trouve le
centre
de gravité de votre perso (généralement au milieu de la ceinture).
-Sur le plan
vertical, placez l'axe
au niveau de
son pied (cet axe représente le sol).
Notez bien où se trouvent les axes par rapport au perso.
Maintenant, reportez les axes sur l'image capturée par l'émulateur : coloriez simplement
le pixel qui représente le centre du sprite et notez ses coordonnées dans cette image.
Coloriez dans les autres images de cette animation le pixel qui a les mêmes coordonnées. A présent,
vous pouvez utiliser ce pixel comme point de référence pour centrer les autres sprites de cette animation dans le fichier SFF.
Center les sprites lorsque le personnage se déplaceCette méthode est assez simple et
fonctionne très bien lorsque le perso est immobile. Mais ça devient un peu plus compliqué lorsqu'il s'agit de centrer des sprites
lorsque le perso est en mouvement (lorsqu'il avance, recule, saute...).
Lorsque le perso se déplace horizontalement, ce n'est pas
encore trop compliqué. Afin de centrer ces sprites le plus précisément possible, il va falloir
calculer la vitesse
de déplacement du perso. Pour cela,
il va falloir re riper TOUTES les images de l'animation tick par
tick.
Sur une image, prenez un pixel de référence (par exemple l’œil) et notez ses coordonnées. Puis notez les coordonnées de
ce même pixel non pas dans l'image d'après, mais dans celle qui la suit. Faites la différence entre les coordonnées des deux images et
divisez le résultat par deux : vous avez la vitesse de déplacement de votre perso. Pour pouvoir centrer les autres images de l'animation,
il suffit de déplacer les axes (votre premier pixel de référence) en même temps que se déplace votre perso.
Pourquoi prendre la première et la troisième image pour calculer la vitesse de déplacement du
perso ? Simplement parce que certains persos se déplacent à une vitesse de x,5 pixels par tick, aussi le programme le fait
d'abord avancer de x pixels, puis au tick suivant de x+1 pixels. Si vous voulez vraiment être sûr que votre perso ne se déplace pas de
x,3 ou x,25 pixels par tick, vous pouvez toujours accroître le nombre d'images intermédiaires pour faire votre calcul.
Attention toutefois : la première et la dernière image qui servent à ce calcul
doivent être identiques.
Centrer les images lorsque le perso se déplace horizontalement n'est pas trop difficile car la
vitesse de déplacement du perso reste constante. Cela devient moins évident pour centrer les sprites lorsque le perso est en l'air car
sa vitesse diminue au fur et à mesure qu'il s'élève et augmente lorsqu'il retombe sous l'effet de la gravité.
Pour les sauts neutres, centrez votre perso horizontalement en utilisant la méthode que j'ai présentée au départ.
Centrer les
persos verticalement se fera à la main. Vous pouvez toujours essayer de calculer la vitesse ascensionnelle de votre perso et centrer
verticalement les sprites ainsi, mais le résultat risque d'être quand même assez approximatif.
Ce que je vous conseil : ripez la dernière image du saut, celle qui précède immédiatement l'animation
de l'atterrissage et centrez là par rapport à la stance comme si il elle appartenait à une animation fixe. Elle servira de référence pour
centrer les autres images. Centrez maintenant les autres images en prenant le milieu de la ceinture (centre de gravité) comme point de
référence : pour chaque image du saut, placez la ceinture au même niveau de votre image de référence.
Pour
centrer les déplacement horizontaux et verticaux (saut avant, saut arrière), combinez les deux méthodes décrites précédemment.
Cas particulierUn petit cas particulier pour terminer : dans
certains jeux, les ombres des personnages se résument à des ovales sur le sol (Last Blade, Samourai Shodown).
Pour centrer son perso, il suffit donc presque à chaque fois de simplement prendre le centre de l'ovale.
A ce qui font des persos de Samourai Shodown 4 : faites attention aux ombres si vous les
utilisez pour centrer votre perso ; elles ont beau être ovales, leur taille varie selon le mouvement et la position du perso.