Problème pour détecter une Collision2D

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
MisterJedi
Messages : 85
Inscription : 29 Août 2015 16:57

Problème pour détecter une Collision2D

Message par MisterJedi » 29 Août 2015 17:24

Bonjour tout le monde.

Donc voilà j'ai commencé un petit jeu 2D. En gros il ya des alumettes dans mon jeu et je voudrai que lorsque mon perso touche le souffre d'une allumette, une commande s'éxecute. Seulement voilà je n'arrive pas à faire comprendre à unity que lorsque le perso touche le souffre d'une allumette, il se produise quelque chose. ça doit faire 2-3 jours que je cherche et je n'ai toujours pas trouvé comment faire, et j'ai essayé 1000 choses (OnCollisionEnter2D, OnTriggerEnter2D, Collider.IsTouching ...). Actuellement ma scène est telle quelle : mon objet personnage à un rigidbody2D et un polygone collider2D, mon objet Allumette parent a un rigidbody2d et un sprite renderer, son enfant "souffre" :) et "bois" ont chaqun un polygone collider2D. Aidez moi svp :pleur4:

merci

cordialement

nigel
Messages : 166
Inscription : 05 Mai 2015 01:51

Re: Problème pour détecter une Collision2D

Message par nigel » 29 Août 2015 18:22

montre au moins un peu de code
ça explose -> Atomic Command
ca vole -> Long Range Black Cat

MisterJedi
Messages : 85
Inscription : 29 Août 2015 16:57

Re: Problème pour détecter une Collision2D

Message par MisterJedi » 29 Août 2015 18:54

Inutile le jeu fonctionne bien j'ai juste un problème avec la détection perso/souffre. J'ai déjà essayé ça dans le script du perso :

void OnCollisionEnter2D (Collision2D other){
if(other.gameObject.name == "Souffre") {
.........



mais ça ne marche pas vu que le souffre n'a pas de rigidbody2D et ne peut donc pas rentrer en colision avec le perso. Et si je rajoute un rigidbody2d au souffre, il se détache (avec le collider autour du souffre) de l'alumette. Et si je rajoute un rigidbody2d et que je coche is kinematic pour que cela ne se produise pas, le souffre reste bien sa place, mais les alumettes se mettent à voler.

nigel
Messages : 166
Inscription : 05 Mai 2015 01:51

Re: Problème pour détecter une Collision2D

Message par nigel » 29 Août 2015 21:26

Ton problème n'est pas très clair...
pour qu'une detection de collision se produise il faut qu'au moins un de tes deux GameObject possede un rigidbody.
Donc ton Player.
sur tes objet souffre tu met juste un collider avec la case trigger coché pour simplement signalé les collision, ton perso aussi aura un collider et dans le script tu choisi OnTriggerEnter().
ça explose -> Atomic Command
ca vole -> Long Range Black Cat

MisterJedi
Messages : 85
Inscription : 29 Août 2015 16:57

Re: Problème pour détecter une Collision2D

Message par MisterJedi » 29 Août 2015 21:59

Un grand merci, ça marche :-D
J'avais déjà essayé cette commande avant mais j'avais dû oublier le 2D dans OnTriggerEnter2D et Collider2D.
Bon le seul petit défaut c'est que le souffre traverse les autres objets mais bon ça ne se voit pas trop vu qu'il est collé au bois de l'alumette, mais bon je suppose que c'est la seule possibilité pour que ça fonctionne.

Répondre

Revenir vers « Unity le logiciel »