Estoy haciendo un juego que involucra elementos de juego de "bloques que caen". El problema es que no estoy muy seguro de cómo hacerlo para que los bloques encajen en algún tipo de cuadrícula, en otras palabras, no estoy seguro de cómo seleccionará la celda más cercana a su posición.
Los bloques no se ajustan continuamente a una cuadrícula (es decir, están sujetos a la gravedad). ¿Algun consejo?
mathematics
grid
JesseTG
fuente
fuente
En mi investigación rápida, cuando está ajustando algo de geometría en una cuadrícula:
Siempre y cuando todos los vértices de su polígono (en su posición final) coincidan con los vértices de la cuadrícula (en otras palabras, si lo que está tratando de ajustar encaja bien en la cuadrícula), entonces
Puede ajustar cualquiera de los vértices de su polígono a su vértice de cuadrícula más cercano y aplicar la misma traducción a todos los demás. Siempre terminará con la misma posición resultante.
Esto significa que simplemente puede elegir un vértice y redondear sus coordenadas, o, si está usando una cuadrícula con un lado más grande que una unidad, use la expresión de Austin:
cube.Position.XorYorZ = Math.round(cube.Position.XorYorZ / gridCubeWidth) * gridCubeWidth;
fuente
Math.ceil da la sensación correcta de ajustar los bloques a las cuadrículas correctas
fuente