[DB]message dans la console dès collision

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
Kaloverian
Messages : 336
Inscription : 10 Août 2016 03:03

[DB]message dans la console dès collision

Message par Kaloverian » 17 Avr 2019 01:57

bonjour,

J'ai vu beaucoup de tutos pourtant simples et je n'arrive toujours pas à renvoyer un message dans la console dès qu'il y a une collision
Mes objets cube et sphere ont un box colllider et un rigidbody

Voici mon script simple:

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class script : MonoBehaviour {


void Start(){}

void Update(){}

void onCollisionEnter(Collision col){

	if (col.gameObject.name == "Cube") {
		Debug.Log ("cube percuté par la sphère");}
}
}
J'ai aussi essayé avec print("cube collisé"); ça ne fonctionne pas

j'ai glissé ce script sur une sphère.
Cela ne renvoie rien dans la console !!
Normalement,si la sphère touche le cube,cela devrait me renvoyer un message.Est-ce bien cela?
Qu'ai-je oublié dans Unity devant la simplicité des explications de ce sujet?

merci de votre aide

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [DB]message dans la console dès collision

Message par Moi 1971 » 17 Avr 2019 08:14

Bonjour,
Une bonne pratique d'utilisation des Debug pourrait-être celle-ci :

Code : Tout sélectionner

void onCollisionEnter(Collision col){
 Debug.Log ("Debug 1 : Il y a collision");
 Debug.Log ("Debug 2 : Le nom de l'objet qui rentre en collision = ->"+col.gameObject.name+"<-");
	if (col.gameObject.name == "Cube") {
		Debug.Log ("Debug 3 : C'est bien Cube");
		}
}
C'est plus "parlant" pour comprendre où est l'erreur.

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

Re: [DB]message dans la console dès collision

Message par boubouk50 » 17 Avr 2019 09:12

Tout simplement:
RECOPIER CORRECTEMENT LE NOM DES FONCTIONS:
OnCollisionEnter et pas onCollisionEnter
"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

Avatar de l’utilisateur
Kaloverian
Messages : 336
Inscription : 10 Août 2016 03:03

Re: [DB]message dans la console dès collision

Message par Kaloverian » 17 Avr 2019 13:00

ça ne marche toujours pas avec OnCollisionEnter?

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

Re: [DB]message dans la console dès collision

Message par boubouk50 » 17 Avr 2019 13:22

As-tu mis des rigidBody sur tes objets?
"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

Avatar de l’utilisateur
Kaloverian
Messages : 336
Inscription : 10 Août 2016 03:03

Re: [DB]message dans la console dès collision

Message par Kaloverian » 17 Avr 2019 15:05

oui bien sûr!

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

Re: [DB]message dans la console dès collision

Message par boubouk50 » 17 Avr 2019 16:30

Donc, tes deux gameObjects ont un rigidbody.
Le cube se nomme exactement "Cube".
La sphère possède ce script qui est activé.
Le nom de la fonction est corrigé.
Tu as ajouté un Debug.Log () au début de la fonction OnCollsionEnter () (donc avant le test du nom).

Les deux entrent en collision et rien n'est déclenché, rien n'est visible en console?
Reposte le script actuel, stp.
"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

Avatar de l’utilisateur
Kaloverian
Messages : 336
Inscription : 10 Août 2016 03:03

Re: [DB]message dans la console dès collision

Message par Kaloverian » 17 Avr 2019 16:48

j'ai compris d'où vient l'erreur
Quand col est un plan,ça ne marche pas!
Si col est un autre objet qu'un plan,ça marche!
Donc il y a sûrement un truc que j'ai mal paramétré dans le mesh collider du plan qui semble être particulier.
Mais je ne sais pas quoi

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

Re: [DB]message dans la console dès collision

Message par Max » 17 Avr 2019 18:36

Bonsoir,
Kaloverian a écrit :
17 Avr 2019 16:48
Donc il y a sûrement un truc que j'ai mal paramétré dans le mesh collider du plan qui semble être particulier.
Mais je ne sais pas quoi
Ben il n'y a pas de raison, si tu as ces éléments de base, cela doit fonctionner:

Image
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

Répondre

Revenir vers « (C#) CSharp »