Estoy tratando de simular la presión con una colección de partículas esféricas en un juego de Unity que estoy construyendo. Un par de notas sobre el problema:
- El objetivo es llenar un espacio / vacío 2D en constante cambio con esferas pequeñas y sin fricción. El juego está tratando de simular la presión cada vez mayor de que más objetos sean empujados a este espacio.
- El nivel en sí se desplaza constantemente de izquierda a derecha, lo que significa que si el usuario no cambia las dimensiones del espacio, se reducirá automáticamente (la parte más a la izquierda del espacio se desplazará continuamente fuera de la pantalla).
Me pregunto cuáles son algunos enfoques que puedo tomar para abordar estos problemas ...
- Saber cuándo detectar cuándo hay espacio para llenar y luego agregar esferas al espacio.
- Eliminar esferas del espacio cuando se está reduciendo.
- Estrategias para simular la presión sobre las esferas de modo que "exploten hacia afuera" cuando se crea más espacio.
El enfoque actual que estoy contemplando es usar una pared en constante movimiento, que está fuera de la pantalla y se mueve con la pantalla, como lo ilustra esta imagen:
.
Esta pared en movimiento empujará y atrapará las esferas en el espacio. En cuanto a agregar nuevas esferas, iba a tener (1) esferas que se replicaran al detectar espacio libre, O (2) engendrarlas en el lado izquierdo del espacio (donde está la pared), empujando el resto de las esferas hacia llenar el espacio Preveo problemas con la idea # 1 porque esto probablemente no crearía / simularía realmente presión; la idea # 2 parece más prometedora, pero plantea la cuestión de cómo proporcionar una ubicación para que estas nuevas partículas de esfera se reproduzcan (y las ramificaciones de generarlas cuando NO HAY espacio).
Muchas gracias de antemano por su sabiduría!