Page 1 sur 1

[DB]message dans la console dès collision

Publié : 17 Avr 2019 01:57
par Kaloverian
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

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

Publié : 17 Avr 2019 08:14
par Moi 1971
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.

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

Publié : 17 Avr 2019 09:12
par boubouk50
Tout simplement:
RECOPIER CORRECTEMENT LE NOM DES FONCTIONS:
OnCollisionEnter et pas onCollisionEnter

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

Publié : 17 Avr 2019 13:00
par Kaloverian
ça ne marche toujours pas avec OnCollisionEnter?

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

Publié : 17 Avr 2019 13:22
par boubouk50
As-tu mis des rigidBody sur tes objets?

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

Publié : 17 Avr 2019 15:05
par Kaloverian
oui bien sûr!

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

Publié : 17 Avr 2019 16:30
par boubouk50
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.

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

Publié : 17 Avr 2019 16:48
par Kaloverian
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

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

Publié : 17 Avr 2019 18:36
par Max
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