IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unity Discussion :

je n'arrive pas à faire sauter mon personnage


Sujet :

Unity

  1. #1
    Membre très actif
    Inscrit en
    Août 2013
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 204
    Par défaut je n'arrive pas à faire sauter mon personnage
    salut j'ai un problème avec ce code c#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    private CharacterController _characterController;
        private float inputX;
        private float inputZ;
        private Vector3 v_mouvement;
        private float moveSpeed;
        private float gravity1;
     
      [SerializeField]
        private Transform cameraTransform;
     
      [Header("Jump")]
     
        public float JumpSpeed = 3f;
        public float gravity = 20f;
        private Vector3 moveDirection = Vector3.zero;
     
       void Start () {
     
            moveSpeed = 0.5f;
            gravity1 = 0.5f;
            _characterController = GeComponent<CharacterController>();
     
        }
     
     private void FixedUpdate()
        {
     
            if (_characterController.isGrounded)
            {
     
                if (Input.GetButton ("Jump"))
                {
                    moveDirection.y = JumpSpeed;
                }
     
                moveDirection.y -= gravity * Time.deltaTime;
            }
     
     
                v_mouvement = new Vector3(inputX * moveSpeed, 0 , inputZ * moveSpeed);
                v_mouvement = Quaternion.AngleAxis(cameraTransform.rotation.eulerAngles.y, Vector3.up) * v_mouvement;
                _characterController.Move(v_mouvement);
     
     
                if (inputX != 0 || inputZ != 0)
                {
                    Vector3 lookDir = new Vector3(v_mouvement.x, 0, v_mouvement.z);
                    transform.rotation = Quaternion.LookRotation(lookDir);
                }
     
     
     
     
     
        }

    je n'arrive plus a faire sauter mon personnage quand j'appuie sur if (Input.GetButton ("Jump")) j'ai le rigidbody et le CharacterController attacher sur mon personnage.

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 660
    Par défaut
    Bonjour,

    ta variable moveDirection est affecté pendant le saut mais est utilisée nulle part.

    La mettre ici serait une bonne idée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    v_mouvement = new Vector3(inputX * moveSpeed, moveDirection.y , inputZ * moveSpeed);
    C'est pas dit que ça marche du premier coup mais c'est un bon début déjà. Il faudrait grouper un peu toutes tes variables de mouvements.

    Attention par contre, c'est soit tu mets un CharacterController soit un Rigidbody, pas les 2.

  3. #3
    Membre très actif
    Inscrit en
    Août 2013
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 204
    Par défaut
    merci beaucoup pour votre aide j'ai ajouter cette variable et j'ai un peu modifier le code et ca marcher et heureusement j'ai "rigidbody" "character controller" attacher sur mon perso

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     if (_characterController.isGrounded && Input.GetButton ("Jump" ))
            {
     
     
     
                    moveDirection.y = JumpSpeed;
     
     
            }
     
            moveDirection.y -= gravity * Time.deltaTime;
            v_mouvement = new Vector3(inputX * moveSpeed, moveDirection.y , inputZ * moveSpeed);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire pour faire sauter mon personnage
    Par Behiiiwo dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 03/11/2021, 14h36
  2. Je n'arrive pas à faire connaître mon jeu
    Par Cocottinette dans le forum Marketing, licences et publication de jeux vidéo
    Réponses: 5
    Dernier message: 17/10/2012, 15h33
  3. Je n'arrive pas à faire fonctionner mon menu
    Par vocal94130 dans le forum jQuery
    Réponses: 6
    Dernier message: 24/04/2010, 17h07
  4. Réponses: 2
    Dernier message: 18/06/2007, 15h11
  5. Réponses: 1
    Dernier message: 23/01/2006, 22h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo