Sto cercando di simulare la pressione con una raccolta di particelle sferiche in un gioco Unity che sto costruendo. Un paio di note sul problema:
- L'obiettivo è riempire uno spazio / vuoto 2d in costante cambiamento con sfere piccole e senza attrito. Il gioco sta cercando di simulare la pressione sempre crescente di più oggetti spinti in questo spazio.
- Il livello stesso scorre costantemente da sinistra a destra, il che significa che se le dimensioni dello spazio non vengono modificate dall'utente, si ridurrà automaticamente (la parte più a sinistra dello spazio scorrerà continuamente fuori dallo schermo).
Mi chiedo quali sono alcuni approcci che posso adottare per affrontare questi problemi ...
- Sapere quando rilevare quando c'è spazio da riempire e quindi aggiungere sfere allo spazio.
- Rimozione di sfere dallo spazio quando si sta restringendo.
- Strategie per simulare la pressione sulle sfere in modo tale che "esplodano verso l'esterno" quando viene creato più spazio.
L'approccio attuale che sto contemplando sta usando un muro in costante movimento, che è fuori dallo schermo e si muove con lo schermo, come questa immagine illustra:
.
Questo muro mobile spingerà e intrappolerà le sfere nello spazio. Per quanto riguarda l'aggiunta di nuove sfere, avrei dovuto replicare entrambe (1) sfere al rilevamento dello spazio libero, oppure (2) generarle sul lato sinistro dello spazio (dove si trova il muro) - spingendo il resto delle sfere verso riempi lo spazio. Prevedo problemi con l'idea n. 1 perché questo probabilmente non creerebbe / simulerebbe davvero la pressione; l'idea n. 2 sembra più promettente, ma solleva la questione di come fornire un luogo per la generazione di queste nuove particelle di sfera (e le conseguenze di generarle quando non c'è spazio).
Grazie mille in anticipo per la tua saggezza!