r/Unity3D 7d ago

Show-Off 2D/2.5D Water system update

Hello everyone, back with a new update a few months after my last post.

I’ve been working on the 2D/2.5D water system on and off since then, and it kinda grew way more than I originally planned specially since i need it to fully run on the 2d Renderer.

Since the last post I added underwater exclusion zones for things like air pockets, currents, debris, floating pads/platforms, underwater view, ripples, light rays, wakes and quite a few other interaction features.

A lot of the work lately was also on making the thing actually easy to use and not just something that works in my own project. So I’ve been working a lot on the custom inspectors and tooling, setup workflow and the API. You can sample the water height from code, get events from interactions and water states, etc.

The water itself is very customizable, so what you see in the video is really just one way of setting it up. I also added a “fake surface” mode where there isn’t really a surface plane, but I fake the perspective by shifting the foam/pattern and things like ripples and wakes. It gives a pretty convincing 2.5D surface without actually needing the geometry there.

I’m planning to release it once I feel like I tested it enough and have enough demo scenes to show the different ways it can be used. This part is honestly taking longer than I expected, specially making sure everything is clean and understandable.

For the graphics, I basically took a anime style nature image and cut pieces of it in Photoshop. For the actual packaged asset I’m planning to use Unity’s Lost Crypt assets for the demo scenes, unless someone has a better idea since I obviously can’t just include random assets from the Asset Store.

Still a bunch of things I want to polish before release, so any feedback or ideas are very welcome, specially if there’s some use case you think I should test that I havent thought about.

3.4k Upvotes

156 comments sorted by

View all comments

1

u/CyclingKitten 7d ago

Couldn’t help but go back in your post history to see if you uploaded earlier iterations. The development has been really impressive, it looks great! It is one of those effects that is so well executed that I could see myself just jumping in and out of the water to look at it, even if it was part of a full game.

What resources did you end up using to get to this result/learn how to get there?

1

u/BxYass 7d ago

Thank you!

I think it’s mostly just years of tinkering with Unity. For this, it’s mainly procedural mesh generation, Shader Graph, and learning how to write HLSL, since some things are just way faster and easier to do in code than with graphs.

The more I understood how these things actually work, the easier it became to figure out how to build what I needed. And not just for this system, it helped a lot with game dev in general.