Fonction OnCollisionEnter non appelé
bozo7417
-
bozo7417 -
bozo7417 -
Bonjour,
J'essaye de créé un jeu où des cubes tombent si le joueur marche dessus. Les cubes ont le tag "cube"
Mon FPSController à le script C# suivant :
Là où est le problème, c'est que la fonction OnCollisionEnter n'est pas appelé.
Je m'en suis aperçu en demandant d'afficher avec Debug.Log du texte qu'il ne m'affichait même pas dans la console lors de son exécution.
Quelqu'un aurait t'il donc une solution à mon problème ?? :)
J'essaye de créé un jeu où des cubes tombent si le joueur marche dessus. Les cubes ont le tag "cube"
Mon FPSController à le script C# suivant :
using UnityEngine;
using System.Collections;
public class fallingcube : MonoBehaviour {
Animator anim;
Vector3 tempPos;
void Start()
{
anim = GetComponent<Animator>();
tempPos = transform.position;
}
void OnCollisionEnter(Collision col)
{
if (col.gameObject.tag == "cube")
{
anim.SetBool("marcher dessus ?", true);
tempPos.x -= 5f;
}
}
}
Là où est le problème, c'est que la fonction OnCollisionEnter n'est pas appelé.
Je m'en suis aperçu en demandant d'afficher avec Debug.Log du texte qu'il ne m'affichait même pas dans la console lors de son exécution.
Quelqu'un aurait t'il donc une solution à mon problème ?? :)
2 réponses
-
Bonsoir,
J'en n'ai jamais codê avec Unity, mais dans la doc en ligne je voiesNotes: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached.
Est ce que le joueur possède un rigidbody?
-
Bonsoir,
Oui j'ai bien vérifier, mes deux objets (personnage et cube) ont bien un rigidbody et les deux ont aussi le "kinematic"
merci à toi d'avoir répondu