[RESOLU] OnTriggerEnter, je n'arrive pas à le faire fonctionner

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
LjDelire
Messages : 11
Inscription : 03 Nov 2021 13:56

[RESOLU] OnTriggerEnter, je n'arrive pas à le faire fonctionner

Message par LjDelire » 04 Nov 2021 15:32

Bonjour, Mesdames Messieurs

Actuellement débutant sur unity3D, j'ai essayé de créer un script pour faire un agar.io

Mon problème actuellement est : que quand je veux qu'un le "Collider" d'un "GameObject" appellé "Other" rentre dans le Collider de ma Sphere, celle-ci soit détruis. Le problème est que ça ne fonctionne pas, elle reste présente et ne disparaît pas.

Pourriez-vous s'il vous plaît, me dire quel est le problème ?

je tien à précisé aussi que une connaissance à fait le même script que moi mais cela fonctionne pour lui.

voici mon code :

Code : Tout sélectionner

private void OntriggerEnter(Collider other) // Dès qu'un "collider" qui se nome "other" entre dans le trigger de mon gameobject
	{
		if(other.gameObject.tag == "bonbon")
        {
			Destroy(other);
        }

	}
Merci encore pour votre aide.
Cordialement, LjDelire

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

Re: OnTriggerEnter, je n'arrive pas à le faire fonctionner

Message par boubouk50 » 04 Nov 2021 16:09

Salut,

Premièrement, tu dois respecter la casse et écrire OnTriggerEnter(Collider other) et pas OntriggerEnter(Collider other)
Ensuite, il faut que l'objet touché soit tagué bonbon, avec la même orthographe et casse.
Enfin, je pense qu'il vaut mieux détruire l'objet et pas son component Collider.

Code : Tout sélectionner

Destroy(other.gameObject);
"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

LjDelire
Messages : 11
Inscription : 03 Nov 2021 13:56

Re: OnTriggerEnter, je n'arrive pas à le faire fonctionner

Message par LjDelire » 04 Nov 2021 21:07

Bonjour,

Même en, rajoutant le T en majuscule rien ne change.
Pour le tag c'est pareille, la capsule est déjà en bonbon j'avais oublié de le préciser désolé.
Je ne comprend pas ça ne fonctionne toujours pas. Voici mon script entier, peut-être que cela peut aider :

Code : Tout sélectionner

//Add vitesse
	private float Deplacement;

	//Perso
	GameObject Joueur;

	// Taille
	void Start () 
	{
		Joueur = gameObject;
	}


	void Update () 
	{
		Deplacement = 1 - (((transform.localScale.x + transform.localScale.y + transform.localScale.z )/ 100 )* 3);
		

		if(Input.GetKey(KeyCode.Z))
        {
			Joueur.transform.Translate(Deplacement*Time.deltaTime,0,0);
			print("Avance");
        }
		if(Input.GetKey(KeyCode.S))
        {
			Joueur.transform.Translate(-(Deplacement * Time.deltaTime), 0, 0);
			print("recule");
        }
		if(Input.GetKey(KeyCode.D))
        {
			Joueur.transform.Translate(0, 0, -(Deplacement * Time.deltaTime));
			print("gauche");
        }
		if(Input.GetKey(KeyCode.Q))
        {
			Joueur.transform.Translate(0, 0, Deplacement * Time.deltaTime);
			print("droite");
        }
		if(Input.GetKey(KeyCode.A))
        {
			Destroy(gameObject);
        }
	
	}
	private void OnTriggerEnter(Collider other) // Dès qu'un "collider" qui se nome "other" entre dans le trigger de mon gameobject, faire le prgoramme suivant.
	{
		if(other.gameObject.tag == "bonbon")
        {
			Destroy(other.gameObject);
        }

	}
}

Avatar de l’utilisateur
jmhoubre
Messages : 856
Inscription : 05 Oct 2019 22:05

Re: OnTriggerEnter, je n'arrive pas à le faire fonctionner

Message par jmhoubre » 05 Nov 2021 00:05

Il faut que les deux objets aient un colllider et qu'un des 2 objets (au moins) ait un rigidbody.

Met tout le temps un Debug.Log("OnTriggerEnter") dans ta fonction OnTrigger, juste pour vérifier qu'elle se lance bien.

LjDelire
Messages : 11
Inscription : 03 Nov 2021 13:56

Re: OnTriggerEnter, je n'arrive pas à le faire fonctionner

Message par LjDelire » 06 Nov 2021 00:55

Rebonjour,

Non ça ne fonctionne toujours pas, mais j'ai remarqué que quand ma Sphere touche le bonbon , le bonbon ne rentre pas dedans, elle reste collé à sa surface(elle s'entre choque, mais rien ne rentre dans le Collider). Est-ce parce que je doit activer quelque chose dans les components ?

Cordialement, LjDelire

LjDelire
Messages : 11
Inscription : 03 Nov 2021 13:56

Re: OnTriggerEnter, je n'arrive pas à le faire fonctionner

Message par LjDelire » 06 Nov 2021 00:59

Je viens de régler mon problème.
Il fallait juste que j'active "is trigger" pour mon bonbon, car sinon rien ne peut entré ou sortir du Collider.

Merci encore à tout ceux qui m'ont aidé.
Cordialement, LjDelire

Répondre

Revenir vers « Scripting »