J'ai fait un script qui normalement devrais premettre à mon Player de pouvoir pousser ou tirer l'objet suivant 2 conditions, la première c'est mon gameobject Player qui entre dans le trigger et deuxième le joueur appuie sur la touche "fire1".
Mais cela ne fonctionne pas, en fait si ca fonctionne mais si j'enlève la cndition d'appuie sur "Fire1" mais dans ce cas impossible de sortir du trigger...
Voici le code :
Code : Tout sélectionner
public class PushandPull : MonoBehaviour {
private Rigidbody rb;
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player")
{
if (Input.GetButtonDown("Fire1"))
{
//on change l'objet de parent
this.transform.SetParent(other.transform);
//on ajoute le is kinetic à l'objet
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
//on débloque le mouvement sur X
rb.constraints = RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezeRotation;
}
if (Input.GetButtonUp("Fire1"))
{
//on change l'objet de parent
other.transform.parent = null;
//on ajoute le is kinetic à l'objet
rb = GetComponent<Rigidbody>();
rb.isKinematic = false;
//on bloque le mouvement sur X
rb.constraints = RigidbodyConstraints.FreezeAll;
}
}
}
}
Est-ce que l'un d'entre vous à une idée d'où vient le problème?
(PS : je sais que le script est pas super optimisé mais dans un premier temps j'aimerais au moins qu'il fonctionne...)
Merci !!