Les collisions et un effet bounce

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Les collisions et un effet bounce

Message par DJ-OMZ » 28 Avr 2017 17:06

Oh ok.

Selon toi qu'est-ce qui serait le plus adapté ? Sachant qu'a l'avenir j'aimerais faire ce jeu sur mobile, donc le rendre le plus fluide et leger possible.

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Les collisions et un effet bounce

Message par DJ-OMZ » 02 Mai 2017 11:33

Up, j'ai essayé la methode de mouvement via le RigidBody :

Code : Tout sélectionner

void FixedUpdate()
    {  
        Run();
        //transform.Translate(velocity);
    }
Dans mon FixedUpdate, je lance ma méthode Run. Voila le contenu de la méthode :

Code : Tout sélectionner

void Run()
    {
        if(Mathf.Abs(forwardInput)> inputDelay) //Si on appuie, on accélère
        {
            vitesseActuelle += acceleration;
            if (vitesseActuelle > vitesseMax)
                vitesseActuelle = vitesseMax;
        }
        else //Sinon, on ralenti
        {
            vitesseActuelle -= acceleration;
            if (vitesseActuelle < 0)
                vitesseActuelle = 0;
        }
        //On applique le mouvement
        rBody.MovePosition(transform.position + transform.forward * Time.deltaTime * vitesseActuelle);
    }
J'ai une vitesse, une accélération et une vitesse max. J'ajoute la valeur de l'accélération a ma vitesse jusqu'à la vitesse max.
Encore une fois, sur une petite vitesse, avec un obstacle, je me cogne dessus, mon cube n'avance plus.
Je change la vitesse pour voir, je vais un peu plus vite, et hop, je passe a travers mon obstacle.
J'ai mis un obstacle très épais mais rien a faire je passe a travers... Qu'est-ce que j'ai loupé ?

Krafter
Messages : 65
Inscription : 11 Fév 2017 17:03

Re: Les collisions et un effet bounce

Message par Krafter » 02 Mai 2017 16:40

Alors je débute aussi mais il me semble que la méthode du raycast marche plutôt bien.
Si je ne dis pas de bêtises (à confirmer) il me semble que tu peux faire un 1er raycast dans update (et si tu touche dans fixedupdate tu t'arrête). Et si tu ne touche pas tu fais un 2ème raycast à la fin de fixedupdate, ça te permet d'avoir 2 raycasts / frames qui vérifient au début et à la fin si tu as un obstacle devant toi.
Je ne sais plus où j'avais vu ça, à vérifier ^^"

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

Re: Les collisions et un effet bounce

Message par boubouk50 » 02 Mai 2017 16:47

Fait attention à utiliser correctement la physique et ne pas faire un "entre-deux".
Le plus simple est de laisser le moteur physique tout gérer, dans ce cas, la plupart des comportement se gèrent par la configuration des rigidbody. Les scripts utilisent ensuite les fonctions associées: AddForce, AddTorque, velocity, etc.
Sinon, tu gères toi-même le système et dans ce cas, il te faut tout gérer.
L'entre-deux crée souvent des problèmes, le moteur physique essayant de gérer les contrôles avec des comportements inadaptés.
"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

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Les collisions et un effet bounce

Message par DJ-OMZ » 04 Mai 2017 11:31

boubouk50 a écrit :Fait attention à utiliser correctement la physique et ne pas faire un "entre-deux".
Le plus simple est de laisser le moteur physique tout gérer, dans ce cas, la plupart des comportement se gèrent par la configuration des rigidbody. Les scripts utilisent ensuite les fonctions associées: AddForce, AddTorque, velocity, etc.
Sinon, tu gères toi-même le système et dans ce cas, il te faut tout gérer.
L'entre-deux crée souvent des problèmes, le moteur physique essayant de gérer les contrôles avec des comportements inadaptés.
J'ai essayé en utilisant le rigidBody movePosition comme cela m'a été conseillé, j'ai l'impression que le résultat est le même, une transformation plutôt qu'un déplacement...

Vous auriez des exemples d'utilisation ?
Les jeux vidéos de voitures existants créés avec Unity, ils utilisent quels méthodes pour les déplacements ?

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

Re: Les collisions et un effet bounce

Message par boubouk50 » 04 Mai 2017 11:41

Bon, au lieu d'essayer de réinventer la roue et de trouver à tâtons ce qui peut se faire, je te propose d'aller télécharger le Standard Assets sur l'Asset Store et d'étudier un peu les bases.
Dedans tu as le Pack Vehicles > Car, tu trifouilles et tu vois comment c'est fait.
Aussi, n'hésite pas à aller chercher des tutos sur le net avec des mots clés comme Wheel Collider, Car Controller, (oui des mots clés en anglais). Même si le tuto est en anglais, rien qu'en regardant, déjà ça te permet de savoir où sont les options et ce qu'il faut configurer.
"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 « Scripting »