[DB-RS]J'aimerais introduire mon animation PlayerRun

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
Ohke
Messages : 11
Inscription : 10 Déc 2020 18:55

[DB-RS]J'aimerais introduire mon animation PlayerRun

Message par Ohke » 10 Déc 2020 19:57

Bonjour voici ma fixeUpdate ou j'aimerais poser ça

Code : Tout sélectionner

float characterVelocity = Mathf.Abs(r2d.velocity.x);
                animator.SetFloat("Speed", r2d.velocity.x);

Code : Tout sélectionner

void FixedUpdate()
    {
        Bounds colliderBounds = mainCollider.bounds;
        Vector3 groundCheckPos = colliderBounds.min + new Vector3(colliderBounds.size.x * 0.5f, 0.1f, 0);
        // Check if player is grounded
        isGrounded = Physics2D.OverlapCircle(groundCheckPos, 0.23f, layerMask);
 
        // Apply movement velocity
        r2d.velocity = new Vector2((moveDirection) * maxSpeed, r2d.velocity.y);
 
        // Simple debug
        Debug.DrawLine(groundCheckPos, groundCheckPos - new Vector3(0, 0.23f, 0), isGrounded ? Color.green : Color.red);
    }
}
Si vous pouvez m'aider sa serait sympa merci :)

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

Re: [DB-RS]J'aimerais introduire mon animation PlayerRun

Message par Max » 10 Déc 2020 20:02

Bonsoir,

je ne suis pas sûr de comprendre le fond de ta question.
C'est: "ou dois-je insérer dans ma fonction FixedUpdate() les deux lignes de code listées au début ?"
Si c'est cela, en survolant rapidement je pense que tu peux les placer après la ligne
r2d.velocity = new Vector2((moveDirection) * maxSpeed, r2d.velocity.y);
vue que la valeur de velocité est utilisée par animator.SetFloat et le calcul de characterVelocity
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

Ohke
Messages : 11
Inscription : 10 Déc 2020 18:55

Re: [DB-RS]J'aimerais introduire mon animation PlayerRun

Message par Ohke » 10 Déc 2020 20:23

Sa na pas l'air de fonctionner.. En gros je veux que mon personnage enclanche l'animation run quand je pousse le bouton vers la flèches droite et gauche et reviens a PlayerIdle quand je ne touche a rien !
Mais le soucis c'est que j'ai beau regardé des tutoriel je ne trouve pas comment faire fonctionner cela et je suis un gros débutant en C# sa fait 4-5 jours que j'essayer de trouver une solution.
Pensez vous avoir une solution a mon problème?
merci ^^

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

Re: [DB-RS]J'aimerais introduire mon animation PlayerRun

Message par Max » 10 Déc 2020 21:58

Débutant en C# et sur Unity aussi.
Tu t'attaques déjà à du lourd pour un début :mrgreen:

Tu passes par animator.SetFloat(); qui est généralement employé dans la gestion des BlendTree au sein de l'animator. Plus précisément pour gérer des transitions progressives entre certains états (arrêt, marcher lentement, puis marcher plus vite, puis courir, etc...).
Pour arriver à ce que tu cherches à faire, de manière simple, il te faut déjà bien appréhender le fonctionnement de la partie animator (state, transition, layers, etc...). Commence déjà par des transitions simples, par exemple entre l'état Idle et Walk. Et pour passer de l'un vers l'autre, passe éventuellement plutôt par un boolean ou encore un Trigger (voir animator.SetBool() ou animator.SetTrigger()).
Niveau code, tu auras juste à gérer la bascule (changement d'état) entre les deux status, en fonction des Inputs par exemple.
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 « (C#) CSharp »