Bon, va essayer d’adapter à l'antique version 4.6.
Pour ce qui est des
AnimatorController, tu les reprends pour obtenir ceci:
En bas, tu vires les Triggers Ouverture et Fermeture, puis tu créés un Bool nommé Ouverture.
En suite les transitions sont à renseigner comme suit:
transition PorteGauche->OuvertureBaieGauche tu mets Ouverture + true
transition OuvertureBaieGauche->FermetureBaieGauche tu mets Ouverture + false
transition >FermetureBaieGauche->PorteGauche tu mets ExitTime avec 0.75
idem pour le controller de la porte Droite bien entendu.
Et pour le code, cela se jouerait comme ça:
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")
{
// déclenche le trigger de l'animator de chaque porte
if(!opendoor)
{ // si portes fermées, alors on ouvre
porteDroite.SetBool("Ouverture", true);
porteGauche.SetBool("Ouverture", true);
opendoor = true;
}
else
{ // sinon portes ouvertes, donc on ferme
porteDroite.SetBool("Ouverture", false);
porteGauche.SetBool("Ouverture", false);
opendoor = false;
}
}
}
}
Voilà, normalement même sur un Minitel ça doit tourner.