Messagerie


Problème lorsque je veux fixer la position d'un objet par rapport à un autre

Elefterov
20 messages
Fusion 2.5
mardi 17 janvier 2017 à 21:09
Bonjour,

Le jeu de voitures avance à grand pas, il y a maintenant 3 voitures sur le circuit dont deux sont contrôlées par l'IA et qui parviennent à retrouver une bonne trajectoire même quand des objets les percutent (autres voitures, caisses...) ou quand elles roulent sur une flaque d'huile.

Par contre je n'arrive pas à régler un bug avec l'ombre des voitures. L'ombre est considérée comme étant la hitbox de la voiture.
J'ai mis : toujours fixer a position du point chaud de la carrosserie de la voiture à (0,-4) par rapport au point chaud de l'ombre (avec "localisé à = défini par l'utilisateur" et "orientation = normal").

Normalement ça donne ceci :


Avec visuellement une ombre située plus bas de 4px que la carrosserie, quelque soit la direction de la voiture.

Sauf qu'à un moment donné, variable selon le lancement de la scène, l'ombre et la carrosserie de l'une des voitures se décale : on dirait que la carrosserie n'arrive plus à suivre instantanément l'ombre. Quand la voiture accélère, la carrosserie se retrouve plusieurs pixels à la traine par rapport à l'ombre, dans la direction suivie par la voiture (alors que normalement la direction n'a pas d'influence sur la position de la carrosserie par rapport à l'ombre.

J'ai essayé de dissocier ombre et hitbox mais ça n'a rien fait. Pas plus que de rajouter la fixation de position de la carrosserie par rapport à l'ombre pour chaque événement de collision ou lorsque "Y de carosserie est différent de Y de l'ombre". Et par contre si je définis la position de la hitbox par rapport à la carosserie (au lieu de l'inverse), là ça bugge aussi.
Elefterov
20 messages
Fusion 2.5
mardi 17 janvier 2017 à 21:25
A un moment je m'étais demandé si ce n'était pas provoqué par un bug du scrolling : lorsque la fenêtre (centrée sur l'une des voitures) atteint le bord de la scène, la voiture n'est alors plus au centre de l'écran. Cela survient lorsque j'ai placé le circuit trop proche des bords de la scène. Parce qu'il me semblait que parfois (mais pas tout le temps), le problème survenait lorsque l'écran n'était plus centré sur la voiture.

Mais en agrandissant la scène et en éloignant les bords du circuit pour que la fenêtre reste centrée en permanence sur la voiture, le problème persiste ;
Voilà à quoi ça ressemble (voiture rouge) :

Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 18 janvier 2017 à 08:54
Il te faut isoler le dysfonctionnement en désactivant des lignes une par une pour voir où ça se passe. Difficile de t'aider sans voir sous le capot.
Elefterov
20 messages
Fusion 2.5
vendredi 20 janvier 2017 à 23:12
Bonsoir,

Voici un exemple que j'ai essayé de simplifier. Le décalage survient au bout d'un moment indéfini (après 10 secondes comme après 5 minutes) et à n'importe quel endroit de la scène (à distance des bords de la scène ou à proximité).

Il faut faire rouler la voiture et au bout d'un moment le décalage arrive.
Ca se produit dans toutes mes version du jeu de voitures, et aussi dans le jeu de tank que j'avais commencé précédemment.
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
samedi 21 janvier 2017 à 08:41
J'ai trouvé :)
Le moteur physique n'aime pas qu'on lui force les positions X et Y, il préfère travailler en joint.
Il te suffit de changer le mouvement de ta voiture (qui n'est qu'un skin, puisque c'est l'ombre qui fait hit box), en statique.
Et voilà.
Pièces jointes
Elefterov
20 messages
Fusion 2.5
samedi 21 janvier 2017 à 14:36
Je n'y aurais pas pensé, merci beaucoup de t'être penché là dessus Patrice ! Je vais pouvoir me concentrer sur la suite  :)
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 16 visiteurs au total

Derniers messages