Estou tentando simular a pressão com uma coleção de partículas esféricas em um jogo do Unity que estou construindo. Algumas notas sobre o problema:
- O objetivo é preencher um espaço / vazio 2d em constante mudança com pequenas esferas sem atrito. O jogo está tentando simular a pressão crescente de mais objetos sendo empurrados para este espaço.
- O nível em si está rolando constantemente da esquerda para a direita, ou seja, se as dimensões do espaço não forem alteradas pelo usuário, ele ficará automaticamente menor (a parte mais à esquerda do espaço rolará continuamente para fora da tela).
Eu estou querendo saber o que algumas abordagens são que eu posso tomar para resolver esses problemas ...
- Saber quando detectar quando há espaço para preencher e adicionar esferas ao espaço.
- Removendo esferas do espaço quando estiver encolhendo.
- Estratégias para simular a pressão nas esferas, de forma que elas "explodam para fora" quando mais espaço é criado.
A abordagem atual que estou pensando em usar uma parede em movimento constante, que está fora da tela e se move com a tela, como mostra a imagem:
.
Essa parede em movimento empurrará e prenderá as esferas no espaço. Quanto à adição de novas esferas, eu teria que (1) esferas se replicar ao detectar espaço livre, OU (2) gerá-las no lado esquerdo do espaço (onde está a parede) - empurrando o restante das esferas para preencha o espaço. Prevejo problemas com a idéia nº 1, porque isso provavelmente não criaria / simularia pressão; A idéia nº 2 parece mais promissora, mas levanta a questão de como fornecer um local para a geração dessas novas partículas de esfera (e as ramificações de gerá-las quando não há espaço).
Muito obrigado antecipadamente por sua sabedoria!