2010-09-06 3 views
2

Je suis en train de faire un jeu où le joueur est un cylindre coiffé verticalement, et le monde est aligné sur des boîtes de délimitation. Compte tenu de cela, comment pourrais-je vérifier si le cylindre coupe une boîte?Détection de collision entre un cylindre coiffé et un AABB?

Merci

+0

Auparavant: [détection de collision entre deux cubes rotation ] (http://stackoverflow.com/questions/3651613/), [Détection de collision entre deux hexaèdres généraux] (http://stackoverflow.com/questions/3648285/) et une version antérieure maintenant supprimée. – dmckee

Répondre

2

Il s'agit principalement d'un problème 2D.

Pour chaque AABB, vérifier que les dimensions verticales du cylindre chevauchent les dimensions verticales de l'AABB. Si c'est le cas, le test se réduit à un cas 2D, sinon il n'y a pas de collision.

Ensuite, dans le cas 2D vous devez trouver si votre cercle croise un rectangle ... et je vais vous référer ici:

Circle-Rectangle collision detection (intersection)

Questions connexes