Petit problème avec l’animation de mon personnage.

Résolu
Thibaudkhan - Modifié le 8 juil. 2018 à 18:10
Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
- 9 juil. 2018 à 19:26
Bonjour,
J'ai un petit problème avec mon code , je code en c# et développe mon jeu sur unity. Mais voila l’animation de mon personnage ne s’arrête jamais de courir une fois que je le fais bouger une fois.

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

public class PlayerMove : MonoBehaviour {

    private Animator anim;
    private CharacterController charController;
    private CollisionFlags collisionFlags = CollisionFlags.None;

    private float moveSpeed = 5f;
    private bool canMove;
    private bool finished_Movement = true;

    private Vector3 target_Pos = Vector3.zero;
    private Vector3 player_Move = Vector3.zero;
    
    private float player_ToPointDistance;

    private float gravity = 9.8f;
    private float height;

    // Use this for initialization
    void Awake () {
        anim = GetComponent<Animator> ();
        charController = GetComponent<CharacterController> ();
    }
    
    // Update is called once per frame
    void Update () {
        MoveThePlayer ();
        charController.Move (player_Move);

    }

    void MoveThePlayer() {
        if (Input.GetMouseButtonDown (0)) {
            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast (ray, out hit)) {
                if(hit.collider is TerrainCollider) {

                    player_ToPointDistance = Vector3.Distance (transform.position, hit.point);

                    if (player_ToPointDistance >= 1.0f) {
                        canMove = true;
                        target_Pos = hit.point;
                    }
                }

            }

            
        
        }

        if (canMove ) {
                anim.SetFloat ("Walk", 1.0f);

                Vector3 target_Temp = new Vector3 (target_Pos.x, transform.position.y, target_Pos.z);

                transform.rotation = Quaternion.Slerp (transform.rotation,
                    Quaternion.LookRotation (target_Temp - transform.position),
                    15.0f * Time.deltaTime);

                player_Move = transform.forward * moveSpeed * Time.deltaTime;

                if(Vector3.Distance (transform.position, target_Pos) <= 0.5f) {
                    canMove = false;
                }
                
            } else {
                player_Move.Set (0f, 0f, 0f);
                anim.SetFloat ("walk", 0f);
            }

    }

}




Je n'ai pas de commentaire donc je ne sais pas si vous pourriez m'aider mais je suis bloqué depuis 4 jours et je n'arrive pas à trouver de solution ...
Je vous remercie d'avoir pris de votre temps pour lire ce post. J’espère que vous pourrez m'aider.
Cordialement.

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
596
8 juil. 2018 à 19:29
Bonjour

Merci à Henry d'avoir corriger ta coloration syntaxique, voir l'encadré bleu qu'il a mis à la fin de ton message pour t'en servir correctement à l'avenir.

Je ne connais pas Unity, donc quelques commentaires seraient effectivement les bienvenus.

0
Thibaudkhan
Messages postés
2
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2018

8 juil. 2018 à 19:51
Merci pour la correction et j'oublierais pas pour les prochaines fois .
0
Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
596
9 juil. 2018 à 06:40
Ok, et pour les commentaires?
0
Thibaudkhan
Messages postés
2
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2018

9 juil. 2018 à 19:24
Je ne pense pas qu'il faille écrire des commentaires dans le script pour expliquer qu'elle est la fonction de ...Mon script parait plutôt simple et est court.
0
Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
596
9 juil. 2018 à 19:26
Oui et non,

Unity, j'en fais pas.
Donc une grande partie des objets que tu utiles, je ne les connais pas.
Mais si tu ne veux pas d'aide, y'a pas de soucis.
0