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.
Les collisions et un effet bounce
Re: Les collisions et un effet bounce
Up, j'ai essayé la methode de mouvement via le RigidBody :
Dans mon FixedUpdate, je lance ma méthode Run. Voila le contenu de la méthode :
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é ?
Code : Tout sélectionner
void FixedUpdate()
{
Run();
//transform.Translate(velocity);
}
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);
}
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é ?
Re: Les collisions et un effet bounce
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 ^^"
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 ^^"
- boubouk50
- ModoGenereux
- Messages : 6220
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Les collisions et un effet bounce
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.
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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Les collisions et un effet bounce
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...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.
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 ?
- boubouk50
- ModoGenereux
- Messages : 6220
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Les collisions et un effet bounce
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.
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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation