~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !S'enregistrerConnexion

Partagez | 
 

 [Collisions] Les masques de collisions

Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 21:43

Bonjour, bienvenue dans ce tutoriel.

Je vais vous expliquer ce qu'un masque de collision.
Comme son nom l'indique plus ou moins, il vous permettra de faire des collisions parfaite entre personnages et décors.


On va commencer avec un exemple, vous aimeriez faire un jeu de plates-formes. Vous programmez votre système, pour les collisions, vous faites "si sprite_héros touche décors" => "stopper mouvement".

GROSSE ERREUR !


En effet, même si le système sera fonctionnel, il sera buggé, et extrêmement soulant pour le joueur!
Pourquoi ?
Voyons cela en image :

Super, ça marche, le héros peut se déplacer sur le sol, essayons maintenant de sauter par dessus ce pilier

Heu... Le héros maintient en équilibre avec seulement 1 pixel, trop fort.

Vous comprenez ?
En faisant "si sprite_héros touche décors" le programme va prendre en compte tout le sprite, vous aurez beau toucher un mur d'un pixel, ça suffira pour stopper le mouvement.
Or dans un jeu de plates formes, il est préférable que la zone de détection soit le la tête, le buste, et les jambes.

Heureusement, les masques de collisions sont la pour nous sauver la vie.
Plutôt que de prendre en compte le sprite dans la condition, on va créé un nouveau sprite, en forme de rectangle sur le héros, qui servira de test pour la condition.
C'est ultra simple :


On place le rectangle sur le héros, on le rend invisible pendant le jeu, et on peut faire la condition :
"si masque_héros touche décors" => "stopper mouvement"

De ce fait,



Plus de problèmes pour des pixels qui dépassent, puisque la collision est testé avec le carré et non le héros.
Voila, vous voyez, c'était ultra simple !

N'oubliez pas de bien placer le rectangle sur le héros, et de le déplacer en même temps que ce dernier pendant le jeu.
Sachez aussi que les masques s'utilisent pour tout, décors, adversaire, PNJ, etc...
Prenez par exemple une map de mon projet Castlevania. Voila à quoi elle ressemble in game :



Et depuis l'éditeur :



J'espère avoir été clair, sachez que si vous voulez des collisions parfaites, il n'y a pas d'autres solutions Wink

____________
"Listen now, you don't understand
That's not the point of Christmas land"


Dernière édition par Falco le Lun 23 Nov 2009, 21:15, édité 1 fois
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 10894
Age : 21

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:02

C'est quoi un masque ? nerd
Le masque, comment on le fait ? C'est une fonction spéciale ou un objet ?
Revenir en haut Aller en bas
http://arista.lescigales.org
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:03

C'est juste un sprite qu'on place sur un autre sprite en fait ^^
Tu le fais avec Paint :p

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 10894
Age : 21

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:07

Donc en gros c'est un personnage que je déplace en même temps que mon héro et qui est sur le héro... C'est pas trop buggé ? Comment il fait le héro pour tenir sur une plate forme alors ? Il passe au travers des objets ?
Revenir en haut Aller en bas
http://arista.lescigales.org
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:15

Citation :
Donc en gros c'est un personnage que je déplace en même temps que mon héro et qui est sur le héro

Attention, en programmation, on parle de "sprite" ou "objets". C'est donc un sprite sur un sprite (un héros est un sprite). :p

Citation :
C'est pas trop buggé ?

Bah non, c'est le but ^^
C'est ce que font les pro pour programmer des collisions cactus smile
Citation :

Comment il fait le héro pour tenir sur une plate forme alors ? Il passe au travers des objets ?

T'as pas trop compris nerd
Etant donné que le héros est fixé au carré, et que le carré sert de collision, le héros restera sur la plate forme sans passer à travers ^^
Dis toi que c'est de la pure logique. Wink

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 10894
Age : 21

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:20

Alors donc comment on fixe le sprite au carré ? Ils sont indépendants ou pas ?
En gros c'est ça que je voulais dire ^_^
Revenir en haut Aller en bas
http://arista.lescigales.org
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:34

Ça dépend pour la fixation, sur MMF, suffit de faire "always (toujours) - Modifier position du masque =>rendre égale=> position du héros".

^^

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 10894
Age : 21

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:40

Ce serait pas plutot le contraire (parce que si le héro tombe, le masque tombe aussi Wink )
Merci pour l'astuce que je n'ai compris qu'au bout de 4 post (quand même). Ainsi donc je pourrais ENFIN faire un jeu de plate forem =°
Merci encore.
Revenir en haut Aller en bas
http://arista.lescigales.org
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:49

Citation :
Ce serait pas plutot le contraire (parce que si le héro tombe, le masque tombe aussi )

J'ai oublié de le préciser, il vaut mieux en fait que le héros soit le carré, et que le sprite qui lui sert d'animation apparaisse derrière :p
C'est compliqué, il vaut mieux tester par soi même pour bien comprendre ^^

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 10894
Age : 21

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 22:53

Dans tous les cas, c'est le sprite qui doit aller sur le masque ...?
Revenir en haut Aller en bas
http://arista.lescigales.org
Relm
Comant on enleve le vert autoure du hero??? Lv 0,5
Comant on enleve le vert autoure du hero??? Lv 0,5
avatar

Nombre de messages : 40866

MessageSujet: Re: [Collisions] Les masques de collisions   Ven 03 Avr 2009, 23:42

Merci Falco pour ce tuto ça va être utile à du monde sûrement. Smile


(Tu aurais pu le mettre dans la section MMF2, quand même. jv.com :noel:)


sinon :



c'est custom ? nerd

____________
Alex RE a écrit:
C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
Revenir en haut Aller en bas
Chroniker
Super Maker Lv 17
Super Maker Lv 17
avatar

Nombre de messages : 623
Age : 24

MessageSujet: Re: [Collisions] Les masques de collisions   Sam 04 Avr 2009, 00:01

Moi je dis Paint....
Sinon je crois que c'est un bon tuto mais....Comment définir ce masque?C'est quoi la nature de ce masque?

____________
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Dim 05 Avr 2009, 11:00

Ok, j'ai pas vu qu'il y avais des réponses jv.com :noel:

Citation :
Dans tous les cas, c'est le sprite qui doit aller sur le masque ...?

Ben moi c'est ce que j'ai fais pour mon Castlevania.
J'ai créé le rectangle, je lui ai donné des mouvements (déplacements, sauts, etc...)
Puis j'ai affiche le héros dessus, et j'ai modifier le rectangle pour qu'il soit transparent ^^
Après c'est peut-être pas une obligation de faire ainsi, mais ça marche du tonnerre.

Citation :
(Tu aurais pu le mettre dans la section MMF2, quand même. )

Non car c'est la technique officiel que les pros utilisent pour faire un système de collisions, que ce soit en C++, java, MMF, GM, etc... C'est la seule solution pour avoir un système parfait cactus smile

C'est plus une notion qu'autre chose Wink

Citation :
c'est custom ?

Non c'est rippé de Final Fanatasy XIII... jv.com :noel:

Citation :
Comment définir ce masque?C'est quoi la nature de ce masque?

Je l'ai expliqué ça... Alex et ses smileys
Le masque c'est juste une image, un sprite quoi.
Tu fais un carré sous paint, tu l'importe dans le logiciel et tu le rends égal aux coordonnées du héros, et c'est bon.

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Lun 23 Nov 2009, 21:16

Je profite de l'occasion pour remettre à jour le tutoriel ici aussi, au cas ou ça intéresserai quelques personnes.
J'ai essayé d'être plus clair dans mes explications. Wink

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
avatar

Nombre de messages : 16363
Age : 32

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 19:00

Ah ben voila niquel ça !
En plus ça vient de résoudre mon problème de background par la même occasion, merci pour ce tuto que je n'avais même pas vu =]

____________
Revenir en haut Aller en bas
http://e-magination.jeun.fr
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 19:08

De rien, content de t'avoir appris quelque chose ^^
Franchement, une fois qu'on comprends les masques de collisions, la programmation avec MMF devient niquel Wink

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
avatar

Nombre de messages : 16363
Age : 32

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 19:37

En effet, nettement moins casse-couilles pour le mapping également !

Je fais mes maps sous RM, je screen puis je m'en sert en background et je tape des actives là où il doit y avoir des collisions cactus smile



C'est une map pour tester ton système hein Very Happy (On voit un objet en transparence en peu (beaucoup) en décalé d'ailleurs).

Ca marche niquel !!! *Super content*

____________
Revenir en haut Aller en bas
http://e-magination.jeun.fr
valentinos
Maker No Life Lv 31
Maker No Life Lv 31


Nombre de messages : 1493
Age : 24

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 20:10

Ca risque pas de peser lourd si tu utilise des images pour ton background vu la taille des map dans un mario Alors là... Gné ?

Valentinos

PS : tu utilise le gameplay platforme de MMF ou tu utilise ton propre algorithme Alors là... Gné ?

Re-ps : pour ceux que ça intéresse le tuto de Flaco est valable pour la SDL, il suffit de remplacer ce masque de collision par un rect, et si le déplacement est possible, blittez le héro sur le rect Wink

____________
Citation :
[00:49:30] falco a été kické par choco-sama
[00:49:30] Falco : ok

Revenir en haut Aller en bas
http://kohi.olympe.in
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 20:29

Niquel KoZzY !
J'ai mieux à te proposer que RM :

http://mapeditor.org/

Même système de mapping que RM, en mieux :

- Export image automatiquement
- Plusieurs calques
- Tileset illimité
- etc...

En plus je vois que la dernière version est sortie il y a trois jours Very Happy

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
avatar

Nombre de messages : 16363
Age : 32

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 21:12

Valentinos: J'utilise le système de base de MMF mais je pense que je vais devoir recalculer ça car au niveau de la gestion de la gravité c'est pas super propre :/ (tu me conseillerais combien en Strenght pour la gravité pour un mario like, Falco ?).

Falco: Encore une chouette trouvaille, j'en aurais fait des découvertes en deux jours Very Happy je teste ça de suite !

Edit pour Val: désolé j'avais pas fait attention à la première question ... Oui ça risque de peser lourd 18 fois 3390.480pixels au format .bmp ... Mais bon, faut ce qu'il faut !

____________
Revenir en haut Aller en bas
http://e-magination.jeun.fr
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 21:20

Citation :
Valentinos: J'utilise le système de base de MMF mais je pense que je vais devoir recalculer ça car au niveau de la gestion de la gravité c'est pas super propre :/ (tu me conseillerais combien en Strenght pour la gravité pour un mario like, Falco ?).

Mega grosse erreur !
Le système de base de MMF est buggé.
Deux choix s'offres à toi :

Système de plate forme custom : C'est méga chaud quand on débute ^^
Si tu veux un exemple :

http://www.zoglu.net/articles.php

mouvement plates formes simples, et mouvement plates formes avancés (que Zoglu à fait pour mon Castlevania, avant que je refasse le moteur moi même.)

Ou alors, la meilleure technique pour moi, car super simple, et beaucoup plus intéressante, Plate Forme movment Object :

http://www.otarix.com/index.php?p=article&id=10

Si tu ne possèdes pas l'extension, installe la depuis Fusion Updater.

Edit :
Citation :
Edit pour Val: désolé j'avais pas fait attention à la première question ... Oui ça risque de peser lourd 18 fois 3390.480pixels au format .bmp ... Mais bon, faut ce qu'il faut !

MER IL E FOU !!
Jamais de BMP. Le PNG c'est le bien Wink

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
avatar

Nombre de messages : 16363
Age : 32

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 21:31

Citation :
Ou alors, la meilleure technique pour moi, car super simple, et beaucoup plus intéressante, Plate Forme movment Object :

Adopté !

Citation :
MER IL E FOU !!
Jamais de BMP. Le PNG c'est le bien

De toutes façons j'aurais bien fini par me rendre compte que je n'ai pas besoin de gérer la transparence sur les backgrounds ^^

____________
Revenir en haut Aller en bas
http://e-magination.jeun.fr
valentinos
Maker No Life Lv 31
Maker No Life Lv 31


Nombre de messages : 1493
Age : 24

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 21:32

@Falco a écrit:
Edit :
Citation :
Edit pour Val: désolé j'avais pas fait attention à la première question ... Oui ça risque de peser lourd 18 fois 3390.480pixels au format .bmp ... Mais bon, faut ce qu'il faut !

MER IL E FOU !!
Jamais de BMP. Le PNG c'est le bien Wink
Ou le tile mapping, mais niveau prog' c'est assez chaud par contre c'est ultra léger, et créer un éditeur sera nettement plus simple Wink

Valentinos

____________
Citation :
[00:49:30] falco a été kické par choco-sama
[00:49:30] Falco : ok

Revenir en haut Aller en bas
http://kohi.olympe.in
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13579
Age : 27

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 21:32

la transparence se gère aussi en PNG de toute façon cactus smile

Edit : Créer un éditeur sur MMF c'est trop difficile, moi même je n'y arriverai pas à l'heure actuelle ^^

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
avatar

Nombre de messages : 16363
Age : 32

MessageSujet: Re: [Collisions] Les masques de collisions   Mar 02 Fév 2010, 21:35

Ah bon ? Pourtant toutes les images que j'ai importées en .png, pas moyen d'utiliser l'effet de transparence :/

____________
Revenir en haut Aller en bas
http://e-magination.jeun.fr
Contenu sponsorisé




MessageSujet: Re: [Collisions] Les masques de collisions   

Revenir en haut Aller en bas
 
[Collisions] Les masques de collisions
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: ~ Forums d'enrichissement ~ :: Apprentissage et partage-
Sauter vers: