Creating Ori-Style 2D Water System In Unity
"Procedural generation, shader magic, some rendering gymnastics, and a bit of math for the ripples."
Over the past few months, Unity Developer BxYass has been sharing progress on an interactive water system inspired by the Ori series from Moon Studios, built entirely for the 2D Renderer. The project is planned for release as an asset, and the developer says it's now in the final stages, with only further testing and documentation left to complete.
It's not a fluid simulation. According to BxYass, the system is mostly "analytical ripples with parameters for frequency, impact strength, damping, and so on". The developer says the water was designed to be more artistically customizable rather than physically accurate.
"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.
For the graphics, I basically took an 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."
Since there are still a few things to polish before the release, any feedback or ideas are very welcome.
Below, you can find an earlier version of the system. Since then, the developer has added underwater exclusion zones for air pockets, currents, debris, and floating pads or platforms, as well as underwater views, ripples, light rays, wakes, and many other interaction features. The system also includes custom inspectors and tools, an improved setup workflow, and an API. You can sample the water height from code, receive events from interactions and water states, and more.
There's no confirmed release date yet, as this water system is just a side project. Until then, you can take a look at other nice Unity water we've featured, like Ok_Art_2784's project. If you're looking for a ready-to-use solution, Eugatnom Studios' Tidal is also available to purchase and uses FFT-based wave simulation.
Also, Fabrizio Espindola has recently announced a new course on real-time water in Unity:
Subscribe to our Newsletter, join our 80 Level Talent platform, Discord, and follow us on Twitter, LinkedIn, Telegram, and Instagram, where we share breakdowns, the latest news, awesome artworks, and more.
Are you a fan of what we do here at 80 Level? Then make sure to set us as a Preferred Source on Google to see more of our content in your feed.
Keep reading
You may find these articles interesting