Water 2D Tool - GPU based ripple water, realistic buoyancy, water flow & animation


Asset Store -15$

Hello Everyone.
With Water2D Tool you can quickly create dynamic 2D or 2.5D water for your game. This plugin allows you to make your 2D game more dynamic and engaging. The ability to animate the water can be used to create different puzzles and obstacles for the players.

Water features

  • 2D and 2.5D water. The 2.5D water is similar to the one found in games like “The Cave” or “Rayman Legends”.

  • Water flow that affects the objects in the water. You are able to specify a direction like: Left, Right, Up, Down or use an angle value.

  • 2 methods for simulating the Buoyant Force(This is what makes the objects float in the water):

  • Physics based buoyant force simulation that applies the Archimedes Principles. This makes the objects behavior more realistic in the water.

  • Linear Buoyant Force. Not very realistic, but very cheap in terms of performance.

  • The objects in the water can change it’s total Area. The change is proportional to the area of the object that is submerged in the water.

  • 2 methods for animating the water:

  • Animation by object reference.

  • Animation by area offset.

  • Constant Area. If the width of the water is increasing the water height will decrease so that the initial water area does not change.

  • Texture Tiling. The UVs are recalculated every time the width or the height of the water mesh is changing. As a result there is no texture stretching. This is done in the Editor as well as at Run Time.

  • The ability to specify the pixels per unit for the texture.

  • Idle waves.

  • Works with 2D and 3D Colliders.

WebGL DEMO

Video Tutorials
You can click on objects to move them in the scene.

Below are a couple of Gifs of Water2D Tool.

Water Creation.

Floating objects.
Physics based Buoyant Force simulation.

2.5D Water.

Water flow.

Area change by objects.

Water animation and constant water Area.

UV recalculation
In the Gifs bellow the green and yellow rectangles are a single 512 x 512 px texture.

Please tell me what do you think about this tool. What functions would you like to have besides the above?. You can contact me personally by email johnq002@gmail.com or follow me on Twitter.
Thanks.

5 Likes

That’s really cool, I would buy it if it were priced fairly.
It’s great as it is but just some ideas:
Perhaps a splash on impact, overflow if bounds are exceeded, just basically making it more like water. If you did things like that then the price I’d be willing to pay would go up :slight_smile:

I’ll probably add a splash a little further on the road. As for overflow, I am not sure I will add this option as it really hard to implement. Water2D is a tool for creating Static water with dynamic properties. Overflow is more in the fluid simulation domain.

Yeah I get it, I thought it may be especially difficult to implement overflow but nonetheless this is a great extension.

Does this require Unity Pro to create?
I guess a better question is why is it being created as an extension instead of a unity store asset?

I think this could potentially address issues several recent projects have had. Pretty cool!

No, you do not need Unity Pro, it’s all in Unity Free. I called it “Water2D Tool Editor Extension” because you use the Editor to change the width and height of the water, as you can see from the first Gif. When it’s finished it will be published to the Asset Store. I guess I’ll drop “Editor Extension” from the name and just call it “Water2D Tool”. That will make it less confuzing.

1 Like

Added a new option for generating water waves. When enabled will distort the surface of the water to simulate waves like the one created by the wind. Needs a little more work to make it look more realistic.

1 Like

The past couple of weeks had been busy and could not work on this tool as much as I wanted.
Here is a little update on the progress. Added a more realistic Buoyant Force (it’s what makes the objects float in a fluid that has a lower density then the object) simulation, that takes into account the shape of the object and its mass. The initial Buoyant Force was calculated based on the objects position and did not take into account it’s shape and mass and was not very realistic. Both will be included in the final version.

UPDATE: Added a new demo scene, a particle effect and a splash sound. If you use the last version of Google Chrome you probably won’t be able to play the demo scene, so Paste the link in Internet Explorer or Firefox.

Made a small Preview video.

Love seeing the updates as they come along, quite impressive work so far! Is this being programmed in C# or UnityScript, and secondly will the sources be provided with release or will the package be locked up in a DLL? Either way, I am looking forward to seeing this on the Asset Store.

1 Like

I’m glad you like it. The language is C#. The source code will be available with lots of comments. You will be able to change it if you want.
Next I’ll do some tutorials showing how to animate the water and other things.
As for the release date, I hope it will be available on the Asset Store by the end of the next week if everything goes OK.

UPDATE: Created a couple of tutorials about some of the Water2D Tool features.

This is SO cool!

1 Like

The Water2D Tool is finally released to the Asset Store. You can find it here Asset Store Link

I’m glad to hear you were able to roll it out and get it on the Asset Store. You have my purchase secured in the very near future!

1 Like

It is optimized for mobile?

This looks nice. I’ve been working on something similar for my next game, but will take a look at yours as it appears to be further along.

I’ve not watched the vids yet so I’ll ask. Can you manually generate the waves. In my game I need waves that start small then get larger and more “fierce” as time goes on. Possible?

Great job!

1 Like

To give you a little benchmark. I tested the demo scenes on 2 Android phones: a Samsung S4 and Sony Xperia J.
Even if it’s 2 years old the S4 is still a high end phone while the Sony Xperia J even at release was a low end phone.
So here are the results:

S4 - 60 fps with occasional drops to 58 fps.
Xperia j - between 10 to 20 fps, that’s something to be expected.

Keep in mind that the demo scenes contain the most computer intensive features, like realistic buoyant force and animation. When I tested the scenes on the phones I used the same settings as on the PC. If you play a little with the water settings you could get a better performance.

1 Like

At the moment this feature is not available, but I added it to my To Do list, so I’ll try to implement it in the next updates.