Attualmente implemento un gioco con una vista dall'alto in basso sull'oceano. Uso il seguente, una piccola trama astratta:
La trama reale è trasparente, ho aggiunto il colore verde per chiarezza.
Il problema che ho ora è che non so come animare questa trama in modo che l'acqua abbia un bell'aspetto. Ho cercato di spostare la texture con un'onda peccato texture.y += sin(angle)
. Ovviamente ora l'intera trama si sta muovendo, il che sembra un po 'irrealistico. La prossima cosa che ho provato è di aggiungere un altro livello e implementare un effetto di parallasse. In modo che anche i riflessi sotto la superficie dell'acqua si muovessero, ma molto più lentamente. Sembra un po 'meglio, ma non ancora ... abbastanza carino.
Penso che l'animazione più bella sarebbe, se le singole celle si espandessero e si contraggessero, un po 'come una rete o un pezzo di stoffa. Immagina se qualcuno tirasse leggermente verso un vertice di queste celle e la cella vicina si espandesse e la cellula verso cui tiro verso (o spingendo) si contrarrà. Un po 'come una rete di molle (?). Ma non ho idea di come implementare qualcosa del genere:
- Qual è il modello matematico per questo? Qualcosa con le molle, dove le forze spingono / tirano?
- E se è così, come posso mappare questo modello sulla trama data? Mantenere tutte le curve e cosa no ...
(Sono anche aperto a diverse idee / risposte su come animare la trama data. Il realismo non è il punto qui, solo un po 'di acqua dall'aspetto gradevole come i movimenti ...)
Soluzione di DMGregory
Ho pubblicato un esempio di libgdx in questo post: l'animazione dell'acqua 2d è frastagliata e non liscia (vedi risposta sul filtro delle trame)