Une question sur le moteur physique : l’élasticité peut-elle être utilisée avec une gravité zéro ?
J’essaie de faire un pong simple, avec les collisions gérées par le moteur physique.
Ca marche très bien, à un détail près : la gravité attire les balles vers le bas. Ce qui est un peu concon pour un pong, où les balles sont censées se déplacer en ligne droite et pas en courbe.
J’ai essayé de compenser avec des forces/impulsions newtoniennes, mais bof. J’ai forcément quelques balles qui retombent lorsqu’elles sont trop lentes.
J’ai aussi essayé avec une gravité faible, mais là encore, cela impacte l’élasticité et mes balles ne rebondissent plus aussi bien (voir pas du tout). Idem pour les forces newtoniennes qui se mettent en grêve.
Bref, c’est pas cool, et je me demandais si je faisais bien comme il faut …
C’est vrai qu’a basse vitesse ça marche pas top, mais je pensais à un truc peut-être bête, y a pas moyen de mettre la gravité vers la droite quand la balle va à droite et pareil pour la gauche, en gros au lieu de lui appliquer une force tu lui appliques la gravité (ou les deux?) dans le sens que tu veux, par contre j’suis pas sûr que tu puisse gérer le ralentissement de la balle avec cette solution
Faudrait tweaker les paramètres de chaque raquettes selon le sens de la gravité.
Faisable, mais ça coince avec une de mes “features” : les balles multiples. Avec plusieurs balles à l’écran qui partent dans tous les sens, tweaker la gravité n’est plus possible.
Donc, niet.
Ce qui serait cool, ce serait de découpler l’élasticité de la gravité. De sorte que la raquette renvoie la balle avec la même force, quelque soit la gravité actuelle. Par exemple, si gravité == 0 , alors gravité dans élasticité = 1. Comme ça, le calcul se fait normalement et basta.
Je pense que cela simplifierait énormément la création de jeu avec le moteur physique, en éliminant tous les problèmes de rebonds.
EDIT :
Remarque, je pourrai laisser la gravité à 0, et quand une balle touche une raquette, je la remets à 1 le temps que le rebond se fasse et que l’élasticité s’effectue …
Sauf que ça va être chaud en cas de rebonds simultanés.
En bidouillant un peu en détectant les collisions, j’arrive à gérer de l’élasticité en gravité zéro.
Les balles ne sont pas toujours crédibles dans leurs déplacements, mais bon, globalement, ça fait ce que je veux.