Vorrei migliorare il mio piccolo motore di gioco con una bella simulazione dell'acqua. Per iniziare a lavorarci ho bisogno di trovare un modo corretto di rappresentare l'acqua nel gioco. Purtroppo non conosco rappresentazioni molto diverse, quindi te lo chiederò. C'è una domanda simile che ho posto qualche tempo fa. Ma dal momento che non avevo formulato chiaramente il problema, la risposta è corretta ma non quella che stavo cercando.
In alcuni giochi, l'acqua è definita da un livello di altezza. Ad esempio tutto sotto l'altezza dello zero è sott'acqua. Ho visto questa rappresentazione in giochi (per lo più vecchi). Il problema è che mi piacerebbe avere grotte nel mondo all'aperto che non sono allagate e livelli di acqua diversi per ogni lago e mare.
Un'altra rappresentazione più precisa dell'occorrenza dell'acqua sono le particelle. Ogni goccia d'acqua viene immagazzinata come un punto nello spazio mondiale. Per renderli, potrei usare tecniche come i metaballs in modo che costruiscano una singola mesh. Questa rappresentazione sarebbe ottima per il realismo poiché potrei facilmente calcolare la dinamica tra di loro. Purtroppo nessuna macchina poteva calcolare un oceano di metaballs in tempo reale.
Esistono altri modi per rappresentare l'acqua in un motore? Vorrei avere laghi dinamici, quindi definire l'area dell'acqua con una geometria statica non è un'opzione. Ad esempio, se il giocatore modifica il terreno per allargare un lago, l'acqua dovrebbe riempire quella baia e il livello complessivo dell'acqua di quel lago dovrebbe diminuire leggermente.