Implementation complete
And so, the implementation has been finalized. I think I am less pleased with the results now compared to before. Earlier there have been no attempts to make the water look like a river, and now that it was attempted, it turns out that the metaballs are not very suitable for simulating a river. For simulating small amounts of water in general, the system seems to work quite well. At least it is my opinion that the metaballs resemble water quite well. Unfortunately, the goal was to explore metaballs' ability to simulate a river, which they do not do very well. See the image below for the result of the simulation.
The image above is a best case result of the simulation and not very representative of the general behavior. A playable version is available here: https://geodropstudios.github.io/misc/metawaterDemos/full/index.html
The image below is more representative of the general behavior.
The main reason of the low framerate of the simulation, as well as its lacking resemblance to a river, is because of the collision detection implementation that frequently lets metaballs fall through the terrain, requires them to jitter above the surface and is generally slow.
Although this version should be viewed as the final version of the implementation, my curiosity urges me to pursue a more visually interesting result. The scope of this extra work will not be large. The plan is to use the Unity native collision detection and see if the metaballs work as a river simulation in that situation. Another extension is to use the Unity native terrain and the terrain collider. The extensions mean that the sophistication of the project is reduced. From generating terrain, handling collisions with terrain using an AABB tree and simulating water the project is reduced to only simulating water, and for that reason the current version should be considered the final version.
There will be an update here after the extensions are complete.
Github commit for this progress: 566bbabf56fa8508e5226e7b2784c388bd246d23
The image above is a best case result of the simulation and not very representative of the general behavior. A playable version is available here: https://geodropstudios.github.io/misc/metawaterDemos/full/index.html
The image below is more representative of the general behavior.
The main reason of the low framerate of the simulation, as well as its lacking resemblance to a river, is because of the collision detection implementation that frequently lets metaballs fall through the terrain, requires them to jitter above the surface and is generally slow.
Although this version should be viewed as the final version of the implementation, my curiosity urges me to pursue a more visually interesting result. The scope of this extra work will not be large. The plan is to use the Unity native collision detection and see if the metaballs work as a river simulation in that situation. Another extension is to use the Unity native terrain and the terrain collider. The extensions mean that the sophistication of the project is reduced. From generating terrain, handling collisions with terrain using an AABB tree and simulating water the project is reduced to only simulating water, and for that reason the current version should be considered the final version.
There will be an update here after the extensions are complete.
Github commit for this progress: 566bbabf56fa8508e5226e7b2784c388bd246d23


Kommentarer
Skicka en kommentar