Chciałbym ulepszyć mój silnik gry dzięki ładnie wyglądającej symulacji wody. Aby zacząć nad tym pracować, muszę znaleźć odpowiedni sposób na reprezentowanie wody w grze. Niestety nie znam zbyt wielu różnych reprezentacji, więc zapytam cię. Jest to podobne pytanie Pytałem jakiś czas temu. Ale ponieważ nie sformułowałem jasno problemu, odpowiedź jest prawidłowa, ale nie to, czego szukałem.
W niektórych grach woda jest zdefiniowana przez poziom wysokości. Na przykład wszystko poniżej wysokości zero znajduje się pod wodą. Widziałem tę reprezentację w (głównie starszych) grach. Problem polega na tym, że wolałbym jaskinie w świecie zewnętrznym, które nie są zalane, i różne poziomy wody dla każdego jeziora i morza.
Innym, bardziej precyzyjnym przedstawieniem występowania wody są cząstki. Każda kropla wody jest przechowywana jako punkt w przestrzeni świata. Aby je wyrenderować, mogłem użyć technik takich jak metaball, aby zbudować jedną siatkę. Ta reprezentacja byłaby świetna dla realizmu, ponieważ mogłem łatwo obliczyć dynamikę między nimi. Niestety żadna maszyna nie jest w stanie obliczyć oceanu metaball w czasie rzeczywistym.
Czy istnieją inne sposoby przedstawiania wody w silniku? Chciałbym mieć jeziora dynamiczne, więc nie ma możliwości zdefiniowania obszaru wodnego za pomocą geometrii statycznej. Na przykład, jeśli gracz zmodyfikuje teren, aby poszerzyć jezioro, woda powinna wypełnić tę zatokę, a ogólny poziom wody w tym jeziorze powinien nieznacznie spaść.