[RESOLU] [DB-AL] - Comment lancer une animation via un script ?

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
General_Bright
Messages : 11
Inscription : 31 Août 2017 14:41
Localisation : Chambery

[RESOLU] [DB-AL] - Comment lancer une animation via un script ?

Message par General_Bright » 18 Oct 2017 18:43

Bonjours a tous , je reviens vers vous pour une question surement " basique " mais après divers recherche sur le web je n'ai trouver aucune réponse convenable .
Je voudrais que quand je rentre dans une zone ma porte s'ouvre et quand j'en sors elle se ferme , mes animations fonctionne manuellement mais pas via script.
J'aimerais pouvoir lancer une animation faites sur Unity 2017.1.1f1 via un script en C# mais après divers essaies rien de bon :

Code : Tout sélectionner

public void OnTriggerEnter(Collider other)
    {
        Animation.Play("PorteOpen");
    }
J'ai essayer divers chose de ce genre.

Merci d'avance !!! :)
Dernière édition par General_Bright le 16 Jan 2018 20:24, édité 1 fois.

Avatar de l’utilisateur
DarkFlameMaster
Messages : 10
Inscription : 13 Oct 2017 19:44

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par DarkFlameMaster » 18 Oct 2017 21:34

Tu peut déjà essayer de mettre un "print("qqchose"")" dans ta fonction pour voir si le problème vient de la détection du collider ou de l'animation en elle même ^^

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par boubouk50 » 19 Oct 2017 09:24

Animation avec une majuscule c'est la classe.
Il faut que ce soit ton Component d'Animation qui soit appelé pas la classe.

Code : Tout sélectionner

this.GetComponent <Animation> ("PorteOpen").Play ()
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

General_Bright
Messages : 11
Inscription : 31 Août 2017 14:41
Localisation : Chambery

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par General_Bright » 19 Oct 2017 17:41

Merci beaucoup pour vos réponses , les trigger marche parfaitement mais l'animation c'est pas sa : j'ai fais ceci :

Code : Tout sélectionner

public class Door : MonoBehaviour {

    public GameObject Porte;

    public void OnTriggerEnter(Collider other)
    {
        Debug.Log("Enter");
        Porte.GetComponent<Animation>("PorteOpen").Play();
    }
Mais le GetComponent<Animation> est souligner en rouge , j'ai beau rajouter:
using UnityEngine.Animations;
Mais toujours pas !
Merci d'avance !

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par boubouk50 » 19 Oct 2017 18:25

Tu as une erreur de code en console? Si oui, poste-la stp qu'on ne se perde pas en supposition.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

General_Bright
Messages : 11
Inscription : 31 Août 2017 14:41
Localisation : Chambery

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par General_Bright » 19 Oct 2017 20:00

Je n'ai pas d'erreur avec ma console car l'erreur est dans le script comme dit plus haut.
Je ne peux pas lancer mon jeu.
General_Bright a écrit :
19 Oct 2017 17:41
Mais le GetComponent<Animation> est souligner en rouge
Le GetComponent<Animation> est souligner en rouge dans Visual Studio.
Voila le script actuel :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;

public class Door : MonoBehaviour {

    public GameObject Porte;

    public void OnTriggerEnter(Collider other)
    {
        Debug.Log("Enter");
        Porte.GetComponent<Animation>("PorteOpen").Play();
    }
Merci , Bonne soirée !

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

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par Max » 19 Oct 2017 20:04

Bonsoir,

Le nom de ton animation devrait plutôt se situer dans ta fonction Play, et non dans la partie GetComponent ;)

Code : Tout sélectionner

porte.GetComponent<Animation>().Play("PorteOpen");
 
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
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par boubouk50 » 20 Oct 2017 09:10

:shock: Roooh la vilaine erreur que je lui ai donné... Mea culpa
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

General_Bright
Messages : 11
Inscription : 31 Août 2017 14:41
Localisation : Chambery

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par General_Bright » 20 Oct 2017 14:04

Bonjour , merci pour vos réponse !
On y est presque !!

J'ai une erreur dans ma console maintenant :

The animation state PorteOpen could not be played because it couldn't be found!
Please attach an animation clip with the name 'PorteOpen' or call this function only for existing animations.
UnityEngine.Animation:Play(String)

PorteOpen = animation
Porte = GameObject qui s'anime

Pouvez-vous m'aider pour cette erreur ?

Merci

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] - Comment lancer une animation via un script ?

Message par boubouk50 » 20 Oct 2017 15:05

L'erreur te dit tout:
The animation state PorteOpen could not be played because it couldn't be found!
Please attach an animation clip with the name 'PorteOpen' or call this function only for existing animations.

L'animation PorteOpen ne peut être jouée car elle n'a pu être trouvée. S'il vous plaît, attachez le clip d'animation avec le nom PorteOpen ou n'utilisez cette fonction seulement pour des animations existantes.
Dans ton Component d'animation sur ton gameObject Porte, tu dois avoir un champ pour les animations, il te faut mettre ton animation dedans...

Je te conseillerai de te renseigner un peu sur les différents Components avant de te jeter à tâtons dedans. Il y a pleins de tutos sur le net et les Learn sur le site officiel. Tu m'as l'air un peu perdu.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « (C#) CSharp »