-
JavaFX 3D collisions
Bonjour,
Ma question est simple : Existe t il une technique pour gérer les collisions entre objets 3D ?
J'essaye de faire un FPS, je voudrait pouvoir faire en sorte que mon personnage(un cube et une sphere) ne passe pas aux travers des éléments du paysage(qui contient des sphères, des cylindre et des cubes)
Merci d'avance
-
Difficile à dire, de base JavaFX 3D ne fourni pas grand chose de ce coté là. Peut-être en allant regarder du coté de JCSG (si l'union de deux formes est vide, elle ne se touchent pas) et en associant bien sur une enveloppe de colisions composée de formes simples autour de l'objet complexe qui est rendu.
Voir aussi Union, intersection and difference between JavaFX 3D objects même si ce n'était pas la question initialement posée.
PS : pour des objets simples comme des sphères on peut simplifier le calcul en vérifiant que la distance entre les deux centres est supérieure (elles ne se touchent pas) ou inférieur (elles se touchent) à la somme des deux rayons.
-
Merci de ta réponse,
En javaFX on peut tester les collisions 2D de formes complexes mais pas en 3D :?
On peut juste récupérer les "Bounds"
Du coup j'ai trouvé une solution.
Comme mon monde 3D c'est juste des sphères des cylindres et des cubes j'ai créé un tableau 3D qui "englobe" le monde avec une précision de 10 pixels
On moment de la génération du monde (aléatoire) je met des 1 dans le tableau là où il y a un volume (donc avec le rayon et tout pour savoir(en utilisant les bounds))
Du coup je devrait pouvoir tirer assez d'infos sur le tableau pour gérer mes collisions(personnage, futures balles de fusil peut être ;))
En gros je fait mon propre maillage du monde, et ça lag pas donc c'est bon.