Bon, pour ce qui est de la scène, tu as tes portes, et de chaque coté un BoxCollider configuré en mode Trigger, ce qui donne à peu près ceci (Trigger en rouge, et avec à droite un screen de l'inspector d'un des deux Triggers en guise d'exemple):
Pour ce qui est de la partie code, un truc simple, à donc placer sur les deux Triggers, et à modifier éventuellement selon tes besoins:
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class TestOuverture : MonoBehaviour
{
// à renseigner dans l'inspector
[SerializeField] Animator porteDroite;
[SerializeField] Animator porteGauche;
static private bool opendoor = false;
/// <summary>
/// OnTriggerEnter
/// </summary>
/// <param name="other"></param>
public void OnTriggerEnter (Collider other)
{
if ( other.tag == "PIETON" || other.tag == "Player")
{
// attentd la fin de l'animation avant d'en déclancher une autre
if (!porteDroite.GetCurrentAnimatorStateInfo(0).IsName("OuvertureBaieDroite") )
{ // déclenche le trigger de l'animator de chaque porte
if(!opendoor)
{ // si portes fermées, alors on ouvre
porteDroite.SetTrigger("Ouverture");
porteGauche.SetTrigger("Ouverture");
opendoor = true;
}
else
{ // sinon portes ouvertes, donc on ferme
porteDroite.SetTrigger("Fermeture");
porteGauche.SetTrigger("Fermeture");
opendoor = false;
}
}
}
}
}
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter
la Charte et sa FAQ