The Ultimate toon water is an all-in-one solution for Cartoon/Toon water. Suitable for Windows/Linux/Mac/Web builds as well as mobile. Suitable for Unity and Unity Pro (see features).
I changed the waves to be “more polygonal” but had to reduce the water plane to 500. Also I couldn’t produce a vertex-colored-specular-like effect. Is it possible?
It is possible. Basically you can cut the shader used for this in several pieces. Replace the part that renders the textures and colors, etc. with the cell-shader. Also you might have to set the normal to a different angle (can’t recall right now).
If more people want this I can include this in the package.
Hey,
I just bought this; love it!
Could you go into more detail on how to make this into an actual sea? I imagine that you’d have to divide the sea into sections, similar to how you’d make an open world terrain, correct? I tried to make two planes of this “water” default, and they just snapped together. Also, is it possible to have the sunlight refract off the water, like the actual pro water does? I don’t know if that’s possible with it being a toon shader and all, but that would be breathtaking!
Anyway, you have an amazing product; I’m so relieved I found this gem on the asset store!
Keep up the good work!
The best option to make a big ocean is by letting the toon water snap to a target. This can be a camera, boat, etc.
If you open the Ultimate Toon Water Controller in the inspector you can see two fields of interest. The first one is:
“Snap to Target”. If you check the checkbox you will also see a “Target” field in which you can set the transform you want to water to follow. Waves are automatically adjusted to the position so from there it should work fine.
I have been thinking of sunlight refraction, but it is somewhat troubling to implement. Either it loses it toon-fx or the refraction looks like an artifact of the rendering. But if I find a good option to implement this I will surely update the package.
Hey,
So…there are times where the water doesn’t appear correctly in the editor unless I’m in the demo…I think I’ll just change the demo water to the prefab water.
Also, can you help me with the “floater” script thing? I’m making other boats and items based on it (hope that’s ok), and I’m unsure how it works.
What do you mean with “appears correctly”? Do you perhaps have a screenshot?
As for the floater script, what do you want to know about it? The demo boat is a great start if you want to make other boats.
The floater principle is that you have 4 floater points for each object. The object is being pushed upwards on those 4 points relative from the height of the water. You can make a version with 3 points or more if your object requires it.
What basically needs to happen is that the floaters you have are above your center of gravity so your object doesn’t tip over. Each object has 4 floaters (which I placed on the empty transforms). The position of these floaters is being checked versus the water height. If the floater is below the surface of the water, it produces a force upwards. If it is just a little bit underwater it produces a small force while being further underwater it produces a bigger force. Then if the object is nearing to leave the water it will apply a certain drag to prevent it from launching out of the water. This is not 100% scientifically correct, but it has a realistic feeling to it. I’ve also implemented the sticky function. If you don’t fix your rigidbody to a certain x and z position you can enable sticky to make the object slowly drift back towards to it’s original position.
Suggestions: Could you make the “Center of Mass” variable have a gizmo in scene view? That’d be might helpful.
Also, I’ve gotten a boat to stay afloat for a little bit but it has some problems (I realize your marketing the water, and not the boat; so forgive me).
The boat will stay afloat but if I stop moving it will begin to sink. I have it floating with 4 empty children, I think the problem is the center of mass.
Could you perhaps give me your email? I have some inquiries I’d like to run by you in private. I feel as though, we’ll be in contact quite a bit.
For existing users, there is going to be an important change:
A more modular and optimized version of UTW was introduced in this package. This will replace the old version over time. Migration is very simple and should take no more than 10 minutes (when taking things very very slow, read every detail there is, etc.). I hope you understand that this is necessary and will result in a better version. You are of course free to use the Legacy version that will be included in the package, but doesn’t receive all the updates there are.
The manual will contain the upgrade instructions to upgrade from legacy to the latest version. I have complete faith that the upgrade will go fine in most cases, but if there are any questions you are free to ask them here. I will answer these as soon as possible.
Can you tell me if you use the legacy or the new version? This is a bug known to some older versions. Since I’ve removed the wave particles as an integrated system and is now just an additional child transform of the UTW controller I recommend updating if you still use an older version.
It seems that Unity 5’s rigidbody.AddForceAtPosition is broken. To be more precise, the torque created by the force seems to be miscalculated (wrong origin? not evenly distributed over time? perhaps even from the world origin or so?) resulting in popping, spinning, etc. This is so far out of my control to fix and regrettably we have to wait for a fix in Unity’s Physics engine until this is resolved.
I emailed you this before I found this thread (so disregard the email if you read this first) - has any progress been made on the Unity5 issue/upgrade?