Je fais un jeu qui implique des éléments de gameplay "bloc tombant". Le problème est que je ne sais pas trop comment faire pour que les blocs s'accrochent à une sorte de grille, en d'autres termes, je ne sais pas comment il choisira la cellule la plus proche de sa position.
Les blocs ne s'alignent pas en continu sur une grille (c'est-à-dire qu'ils sont soumis à la gravité). Des conseils?
mathematics
grid
JesseTG
la source
la source
Dans ma recherche rapide, lorsque vous accrochez une géométrie sur une grille:
Tant que tous les sommets de votre polygone (dans sa position finale) coïncident avec les sommets de la grille (en d'autres termes, si ce que vous essayez d'accrochage s'intègre bien dans la grille), alors
Vous pouvez accrocher l'un des sommets de votre polygone à son sommet de grille le plus proche et appliquer la même translation à tous les autres. Vous vous retrouverez toujours avec la même position résultante.
Cela signifie que vous pouvez simplement choisir un sommet et arrondir ses coordonnées, ou, si vous utilisez une grille dont le côté est supérieur à une unité, utilisez l'expression d'Austin:
cube.Position.XorYorZ = Math.round(cube.Position.XorYorZ / gridCubeWidth) * gridCubeWidth;
la source
Math.ceil donne la bonne sensation pour accrocher les blocs aux bonnes grilles
la source