[Résolu] Animation de portes glissantes qui se décalent

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation de portes glissantes qui se décalent

Message par Max » 05 Déc 2019 16:22

freepl a écrit :
05 Déc 2019 15:51
le state neutre est-ce celui par défaut écrit Any State ?
Non, le point d'entré est le state de couleur orange. La transition que tu as entre AnyState et PorteDroite n'a rien à faire là.
Il faut passer ton point d'entrée sur le state PorteDroite qui deviendra orange (dessus click droit et choisir Set as Layer default state)
freepl a écrit :
05 Déc 2019 15:51
Dans Inspector de Base Layer.PorteDroite ( ou gauche) je n'ai pas de coche HasExitTime comme sur tes screens.
Là tu pointe sur la transition montante. Déjà il faut te mettre sur la transition descendante.
En suite, tu es sur la version antédiluvienne 4.6, qui ne possède pas les mêmes options, ou du moins pour certaines, elle se présentent différemment. Dans ton cas il doit falloir mettre dans la zone Conditions l'option ExitTime, avec la durée de l’animation en paramètre.
Image
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

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Animation de portes glissantes qui se décalent

Message par freepl » 05 Déc 2019 17:04

Quand je lance la scène, les 2 portes s'ouvrent et se ferment une fois.
Résolu ( pas d'anim sur PorteGauche ni PorteDroite)
Z097.jpg
Z097.jpg (13.3 Kio) Consulté 2958 fois
J'ai mis tous les ExitTime à 1 sec pour tous, les montants ( ouverture et fermeture) et les descendants.
J'ai bien une attente d'une seconde une fois la porte ouverte ( c'est le ExitTimedescendant de Ouverture non ?)
Z095.jpg
Z095.jpg (74.25 Kio) Consulté 2958 fois

Puis
Si je ne touche pas le trigger de sortie, au bout d'une seconde, la porte RE-apparait fermée d'un coup
C'est comme si elle se remettait un position initale
Z096.jpg
Z096.jpg (74.25 Kio) Consulté 2958 fois
Ensuite si je touche le trigger de sortie, la première image que l'on voit c'est que la porte est bien en position ouverte, puis elle se ferme

Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation de portes glissantes qui se décalent

Message par Max » 05 Déc 2019 18:02

Je ne comprend pas tout. Déjà à la base, le ExitTime n'est à mettre que sur la transition descendante.
Refais un package éventuellement, car là ben :drapeaublanc:
Image
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

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Animation de portes glissantes qui se décalent

Message par freepl » 05 Déc 2019 20:16

Désolé du retard, je jongle entre le fichier au boulot et le fichier chez moi


Voici le package.
1 Au lancement de la scène, les portes s'ouvrent et se ferment.

Je touche le trigger d'entrée, les portes s'ouvrent et semblent ne pas se fermer
ScreenShot085.jpg
ScreenShot085.jpg (38.25 Kio) Consulté 2905 fois
puis d'un seul coup, on a l'image de la porte fermée sans mouvement.
ScreenShot086.jpg
ScreenShot086.jpg (38.46 Kio) Consulté 2905 fois

je touche le trigger de sortie, on voit TRES rapidement que l'animation de fermeture se lance avec les portes en position ouverte

Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation de portes glissantes qui se décalent

Message par Max » 05 Déc 2019 22:02

Essais de faire des packages un peu organisés. J'ai un prefab blanc qui ne contient rien, pas de scène, des transitions sur les AnyState qui sont toujours présentes, des composants Animation actifs qui trainent sur les objets PorteVitre, etc... Prend le temps. Bref on veut bien aider, mais il faut y mettre du tien.
Image
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

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Animation de portes glissantes qui se décalent

Message par freepl » 05 Déc 2019 23:09

J'ai réparé mes oublis.

En simplifiant, les portes s'ouvrent et se ferment mais il y a "une image" intermédiaire entre ces deux états
Pièces jointes
Package Baie Vitree.zip
(129.94 Kio) Téléchargé 94 fois

Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation de portes glissantes qui se décalent

Message par Max » 06 Déc 2019 11:38

Bonjour,

J'ai testé le dernier package, et cela fonctionne. Du moins comme c'est prévu.
freepl a écrit :
05 Déc 2019 23:09
mais il y a "une image" intermédiaire entre ces deux états
Là j'ai pas compris :-/
Image
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

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Animation de portes glissantes qui se décalent

Message par freepl » 06 Déc 2019 12:40

Bonjour
Fais passer le trigger d'entrée et reste entre les 2 triggers.
Tu verras la porte être fermée d'un coup
Puis si tu passes le trigger de sortie la porte se referme ( tu verras la 1er "image" du mvt qu la porte est bien en position ouverte au début de l'animation de fermeture)

Position entre les 2 triggers où la porte apparait d'un coup fermée
ScreenShot088.jpg
ScreenShot088.jpg (94.57 Kio) Consulté 2665 fois

Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation de portes glissantes qui se décalent

Message par Max » 06 Déc 2019 12:58

Cela fonctionne très bien avec les dernières versions d'Unity.
Par contre, effectivement avec la 4.6, il y a un soucis. L'Animator par en vrille et je ne sais pas pourquoi.
Image
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

Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation de portes glissantes qui se décalent

Message par Max » 06 Déc 2019 13:48

Bon, va essayer d’adapter à l'antique version 4.6.
Pour ce qui est des AnimatorController, tu les reprends pour obtenir ceci:

Image

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.
Image
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

Répondre

Revenir vers « Unity le logiciel »