Godot et Tween : Lancer de grenade avec une courbe

Le problème exposé dans ce sujet a été résolu.

Bonjour !

Pour un jeu en vue topdown (je crois que c’est ça) que je suis en train de développer avec Godot, j’aimerais faire en sorte que le joueur puisse lancer des grenades. Pour cela, j’aimerais que la grenade fasse une courbe pour avoir un meilleur effet.

Voici un schéma :

schema grenade.png
schema grenade.png

Ici, le trait du centre part du milieu du personne, monte, puis redescend.

Je ne sais pas le calcul à faire pour y parvenir.

J’ai la position X et Y du personnage ainsi que la position X et Y de la souris, ce qui me permet de savoir où la grenade doit atterrir (sur la position de la souris, avec une distance max par rapport au personnage.

Actuellement, j’ai le code suivant :

new_grenade.get_node("Tween").interpolate_property(new_grenade, "position", new_grenade.position, new_grenade.position - Vector2(0, 64) + (Vector2(direction.x / 2, direction.y / 2)) * grenade_distance, 0.3, Tween.TRANS_LINEAR, Tween.EASE_IN)
new_grenade.get_node("Tween").interpolate_property(new_grenade, "position", new_grenade.position - Vector2(0, 64) + (Vector2(direction.x / 2, direction.y / 2)) * grenade_distance, new_grenade.position + direction * grenade_distance, 0.3, Tween.TRANS_LINEAR, Tween.EASE_OUT, 0.3)
new_grenade.get_node("Tween").start()

Les calculs sont foireux. Je ne sais pas comment calculer la courbe. Une idée ?

J’aimerais, si possible, que vous évitiez de me donner la réponse sous forme de formule mathématique, je sais pas les lire. :p

Merci ! :)

+0 -0

Normalement le zoom-dézoom devrait suivre la forme d’une parabole. Mais comme tu n’aimes pas les maths, tu peux juste faire pendant la moitié du chemin ça zoome et pendant l’autre moitié ça dézoome. Si le résultat n’est pas satisfaisant, il faudra trouver autre chose.

+1 -0

Si le rendu te suffit, tant mieux. :)

Maintenant qu’on reconnaît le personnage, je comprends que tu n’es pas en vue de dessus, mais en projection oblique top-down. En fait au début on ne s’est pas compris, je ne savais pas ce que signifiait top-down dans ce contexte. Si tu veux respecter la physique, tu devrais faire des arcs de paraboles et respecter la projection pour qu’elles soient réalistes. C’est plus compliqué, c’est sûr.

Cela dit, je pense vraiment que tu devrais chercher des ressources pour apprendre les mathématiques et la physique pour le jeu vidéo, ça te serait très utile pour te donner les outils de base. Cela inclut notamment la trigonométrie, les projections, la physique élémentaire, etc.

Et techniquement, faut penser que la grenade ralentit en montant et accélère en descendant

Phigger

Je ne crois pas. Tu donnes à ta grenade une vitesse Vx et Vz au lancé. La vitesse selon Z varie parce que gravité, mais elle n’a aucune raison de varier selon X (frottement négligé). Là, on a 0 axe Z, donc vitesse constante.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte