Fonction OnCollisionEnter non appelé

Fermé
bozo7417 - Modifié par bozo7417 le 19/12/2016 à 19:27
 bozo7417 - 20 déc. 2016 à 19:10
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 :

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 ?? :)

A voir également:

2 réponses

Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 928
20 déc. 2016 à 00:30
Bonsoir,

J'en n'ai jamais codê avec Unity, mais dans la doc en ligne je voies
Notes: 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?
0
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
0