FFT Ocean | Tessendorf based FFT ocean implementation @ 4K bones

Credits go towards OceanSurface and the algorithms designed by Tessendorf.

water.rbxl (98.9 KB)

This ocean is not game-ready and in no way is possible to make perform well enough to be used in anything but a demo. This ocean has been made to calculate frames ahead of the current frame and to calculate the bones in chunks to achieve the result you will see by playing with it. I wanted to upload this because the ocean’s math was extremely difficult to write into Lua and I hope to allow people to start experimenting with a functional demo.

Visuals: Gyazo

This is not my best work, this is sloppy, and intentionally so.

15 Likes

I tried it out. It’s okay, I can’t actually go in the water or anything.

Could you post a video of the demo for us currently on mobile?

1 Like

Done, and as for the comment about not being able to go into the water, this demo was not a full tech demo and wasn’t made to display full-scale use. I already noted that this wasn’t game-ready so the systems for it, and the code itself, weren’t designed for full customization. A majority of the planned features were scrapped in favor of simply getting it to work in the first place. Although I say this the actual implementation wouldn’t be that difficult, simply disable collisions and force the player’s state to Swimming while forcing their anchored location to match the value of a ray cast from above the player’s head down to the surface of the ocean on RenderStepped.

1 Like

This is really good! Keep up the good work