Ori and the blind forest GPU Water and dynamic wave

The tutorial provided is in 1d, and as he mentioned in that post, the simulation from the Ori video is in 2d. That appears to be the only difference. In practice the only difference between a 1d and 2d fluid sim is that the 2d fluid sim needs to include 2 more neighbors in the spreading part, that should be a pretty simple change. Ie, for 1d, it only uses 2 neighbors, one pixel to the left and one to the right. a 2d sim needs to also include the pixel above and below (which would be the y axis in UV space).

Things like ‘refraction’ are simply part of the pixel shader and have nothing to do with the simulation itself.

There is a paper that is a bit simpler than that tutorial and is in 2d but I cannot seem to find it. Looking for fluid sim papers always seems tricky since most of the methods being explored are either more advanced methods than we want or are very specific to certain scenarios.

This is actually not straightforward to implement in UE4 on the GPU currently so that is why you are not seeing many replies. The reason is because it needs to store a buffer of the previous 2 frames, and the only way to do that currently is with 3 scene capture actors and actually chain them together in a flow using render targets (ie, the material under the 2nd one renders from the result of the 1st one) It is really hard to do currently without code. Ie you need to place quads under them and carefully calculate the size based on scene capture FOV to ensure pixel accuracy.

That said, you should be able to do it easily on the CPU using blueprints. I do have a blueprint only 1d simulation test that works using the height of blocks. I could break that down after my editor is done compiling in a bit but it might be much later tonight. I actually created that blueprint to test out how to kill waves reflecting off the edge of the domain… a problem I have still not solved and turns out to be much harder than I thought.