AQUAS Water/River Set - Water & Rivers for Mobile, VR, Web, Desktop

=============================
For news on the development of AQUAS 2.0 please visit the WIP thread:

https://discussions.unity.com/t/678744

UPDATE:
AQUAS 1.5 is out! AQUAS can now make use of Unity's post processing stack (v1 & v2) to render the underwater effects. The correct version is chosen automatically based on which Unity version you're using, whereby one version is used for Unity 5.2.1 - 5.5 and the other one for Unity 5.6 and above.
To use the Unity Post Processing Stack v2, simply delete the old Post Processing stack from the Asset folder and import the new one.
ATTENTION:
AQUAS is fully integrated with the Enviro Weather system!

Hi,

welcome to AQUAS!


To The Asset Store >>

AQUAS is a set of twelve different flat shaders for different environments and performance levels. It has shaders that have been optimised to work on mobile devices, as well as high quality shaders for desktop and browser games. It has shaders, for calm waters like lakes and ponds, as well as shaders for lively waters like oceans.

What's new in AQUAS 1.3?
RIVERS! Perhaps the biggest feature that has been added to AQUAS in version 1.3 is the ability to create flow-map-based rivers. This enables you to create realistic rivers that don't flow just straigt into one direction but can smoothly change direction and flow along a curved river bed. The river setup that comes with AQUAS makes creating rivers as easy as it can be. With only a few clicks you can add a river plane and export a river reference texture that you can use as a blueprint to paint flow maps with the app of your choice.

Detailed video tutorials will show you how to paint proper flow maps using a free tool called "Flow Map Painter".

Additional features include a buoyancy effector and distance based tiling to avoid visible texture tiling at long view distances. Additional utilities such as a screenshotter and a script to manipulate the render queue manually - even at runtime - are now included.

See AQUAS in Action:


The package comes with enhanced functionality, a "Quick Setup"-Window and full integration into Gaia, which allows you to equip your Gaia terrain with full featured water within seconds! AQUAS has been created to be as user friendly and quick to set up as possible and highly customizable at the same time.

Additional features include improved underwater effects based on Unity's image effects, a realsitic bubble spawner, advanced wet lens effect, dual layered caustics and support for multiple water levels.

AQUAS has been tested and is known to work well with VR-devices. Sincs the package has been developed to be light-weight it can be use without significant performance loss on rather demanding VR-devices. (Must be used with a 2-camera-setup for correct reflections!)

Preview

Island Environment

AQUAS's distance based tiling makes the water look natural at close and long view distances alike - No ugly visible texture tiling.

Natural looking causti effects makes the water come to life at close distances. Every detail of the caustics can be controlled, size, intensity, color aso.

Foamy shorelines make for a smooth transition between water and shore.

Advanced underwater effects with caustics and a fully customizable spawner that spawns 3D morphing bubbles.

Lake environment

The reflections shown on the water surface distorts in realtime and is fully controllable (intensity, distortion) to have your lakes look as natural as possible.

The water can interact with as many light sources as your machine can handle. For the above image 24 pixel light sources were used. The shaders have been designed to have the water interact with light sources as naturally as possible.

Rivers

AQUAS's ability to use flow maps allows the creation of remarkably realistic rivers. Rivers don't just flow along straight lines, they can follow a curved river bed and have varying flow speed (for example slow at shore and fast in the middle). At certain points, such as objects standing in the water the flow can be stopped completely as seen in the image above.

Pool

AQUAS doesn't require terrains to work. The above images show clear water in a pool environment at day- and night time. The water supports multiple underwater light sources.

Desert Scene

The desert scene shows the double-textured shader included in the package. It's useful for environments with very calm waters with strong reflections.

Some More Previews

Mobile Shaders

The shaders in AQUAS are designed in a way to keep your creativity flowing, thus limiting factors have been kept to a minimum, while customisability was one of the most important aspects during development (besides ease of use).

The Quick Setup Window allows you to add AQUAS to your scene in seconds:
2455945--176444--Quick_Setup.jpg

If you're using Gaia, setting up AQUAS is even quicker via Gaia manager:
2455945--176445--GaiAQUAS.jpg

Check out the previews:
WebGL RTS Style Demo >>

Download Standalone Demo Pack >> (contains 4 scenes - River scene, RTS-style preview, FPS-style tropical island scene & FPS-style desert lake scene):

Mobile Demo:
Download Demo APK>>

Manual & Video Tutorials | FAQ

Quick Setup Video Tutorial

https://www.youtube.com/watch?v=ntTkuod3O-4

River Setup Video Tutorial


The benefits of AQUAS in a nutshell:

  • Rendering

    • Multi-Light-Support
  • Flow map based rivers

  • Distance based texture tiling

  • Distorted Realtime Reflections

  • Realtime Refraction

  • Depth Based Color Absorption

  • Self-Sustaining Fog System, that works with any custom lighting

  • Dual-layered caustic effects

  • Hi-res normal maps for excellent visual quality and lo-res normal maps for high performance on mobile devices

  • Underwater Effects

  • Limited & Distorted vision

  • Bloom, Blur & Godrays

  • 3D Morphing Bubbles

  • Realistic Bubble Spawner

  • Advanced Wet Lens Effect

  • Supports multiple water levels

  • Useful Utilities

  • Basic Buoyancy feature

  • Screen Shotter for use in the Editor

  • Render Queue Controller to manually manipulate the water's render queue index

  • Ease of Use

  • Works out of the box (Demo Scene included)

  • Highly customizable

  • Quick Setup

  • Full Gaia integration

  • Easy River Setup

  • 12 shaders instead of 1

  • Supports all Platforms except Windows Phone

  • Fits all Environments

  • Full Source Code Included

  • Low Cost

___[[u]To The Asset Store >>](https://www.assetstore.unity3d.com/en/#!/content/52103)_[/u]

Enjoy!

_Change Log:_

v.1.5.2

  • Fixed various shader errors caused by using obsolete functions (caustics are no longer disabled in Unity 2018)
  • Changed the way AQUAS checks for the version of the Post Processing stack to avoid errors

v1.5.1

  • Fixed a bug that caused AQUAS to fail in automatically updating scripting define symbols for the post processing stack
  • Fixed a critical shader error that caused failed rendering with caustics in Unity 2018, by optionally disabling caustics in Unity 2018 - this is only a temporary fix until the caustics shader has been reworked.

v1.5

  • Fixed a bug that caused an error message when files were deleted from the project folder

  • Added support for post processing stack v2

  • Added a depth mask shader to keep water from rendering inside floating objects

  • Added various preset materials to the quick setup and the river setup

  • Added material properties to control the distance at which transparent refraction is visible to reduce the effect of certain artifacts

v1.4.2

  • Reworked demo scenes to not require std assets in Unity >= 5.6

  • Created an interface for Integration with custom weather systems

  • Added a system to automatically add a define when AQUAS is imported and remove it, when AQUAS is deleted. The compiler condition "#if AQUAS_PRESENT" can now be used.

  • Fixed code that caused some harmless but tedious compiler warnings

v1.4.1

  • Fixed a bug that caused compiler errors in the build only
  • Fixed a bug that caused compatibility errors with Unity 2017.1 beta

v1.4

  • Changed the underwater effects to use Unity's new post processing stack instead of the legacy image effects.
  • Fixed a known datatype error in the triple textured shader and the river shader
  • Added AQUAS 1.3.1 as unitypackage-file to the package for use with Unity versions <5.6 (min. 5.2.1)

v1.3.1

  • Added an option for certain editor versions to autodisable reflections while in edit mode, as a bypass for a bug that prevents object selection in the scene view while reflections are enabled.
  • Added an option to exclude reflections from occlusion culling.

v1.3

  • Added a water shader with flow map support for rivers (for gamma and linear color space)
  • Added distance based texture tiling
  • Added a basic buoyancy feature with dynamic surface simulation that works on any mesh object with or without collider component
  • Added hi-res normal textures
  • Lo-res textures still avalable for low performance applications (eg. mobile devices)
  • Added optional pseudo-opaque and opaque shaders for mobile devices.
  • Added a river setup menu that sets up a river plane with underwater effects and exports a river reference image to use as a blueprint for painting flow maps.
  • Updated Gaia integration
  • River planes and river reference exports can now be created from the Gaia manager
  • Added a basic screen shotter to use in the Editor
  • Added fog support to the mobile shaders - all mobile shaders can now receive Unity's standard fog
  • Replaced the original demo scene by two new ones

v1.2.2

  • Fixed a bug that caused a null reference exception, when an individual image effect was missing
  • Optimized performance by caching as many method calls as possible

v1.2.1

  • Added full support for deferred rendering in underwater mode
  • Removed the requirement to use all image effects in underwater mode. Individual image effects can now be removed safely.
  • Fixed a bug that caused a performance drop when diving into the water.
  • Added an "interface" for custom underwater actions. Information on whether the player is underwater can now be easily accessed and the wet lens effect can be triggered at will.

v1.2

  • Added dual layerd caustics with custom shader (controllable)
  • Added support for multiple water levels (circular and squared planes)
  • Improved underwater effects based on Unity's image effect System
  • Added fully controllable bubble spawner that spawns 3D morphing bubbles
  • Improved wet lens effect
  • Added full Gaia integration
  • Added Quick Setup window
  • Added fog module to the non-mobile shaders to work with fog systems that rely on the z-buffer (e.g. TOD & Tenkoku)
  • Added splash sounds
  • Changed minimum Unity version from 5.2.3 to 5.2.1

v1.01

  • Changed minimum Unity requirement from 5.3 to 5.2.3

AQUAS has been tested with various terrain tools and is known to work well with:

Gaia (integration) | Landscape Builder (integration) | World Creator
Map Magic | Terrain Composer

6 Likes

pretty cool

Thanks. There’s some extra features to come with future updates. I’ll keep the thread up-to-date.

Yeah this seems to be the best water option for its price. Perfect for hobbyists like me. I like the look of your building placement tool as well, just a pity it only works with NGUI :( Good work on them both anyway, hopefully I'll get the Aquas later this month.

@dogmachris

Question: can your water be tailored to have 2 body of water with a difference of level (think of a lake, a cascade and a river below the lake) and restrict the underwater effect just when the camera is effectively under water and not when bellow the lake level?

I'm interested in this shader for my mobile game, I downloaded the Apk version but runs pretty bad on my phone. 15fps on Moto G 1st gen.

Nice pack.
(Submitted with Unity 5.3.x). Works on Unity V4?

@jonfinlay Thanks! The Building placement tool works with NGUI only for the time being, but you can get NGUI 2.7 for free. Anyway, the Building Placement Package is off-topic here. :wink:

@scarpelius The condition for underwater effects is an absolute water level, so right now you can have only one. I’m currently adjusting the condition to detect multiple water levels, so you can have like two lakes at different levels with the underwater effects detecting correctly. This is a feature to come with the first update.

If you already own AQUAS, just send me a PM and I’ll have the updated script sent to you, before the update goes live.

[quote=“Mich_9”, post:6, topic: 611884]
I’m interested in this shader for my mobile game, I downloaded the Apk version but runs pretty bad on my phone. 15fps on Moto G 1st gen.
[/quote]

@Mich_9 The mobile shader is using animated specular normal maps and intersection-based transparency. The performance depends on whether you have a little pond or some spots with water on your screen, or if your entire FOV is covered with water. Current generation devices have no problem with that. The problem is, that extensive use of normal maps and intersection based blending easily brings devices with older generation graphics (e.g. adreno 305) to their knees.

I’ve created an additional APK and replaced the foamy single-colored water with the non-foamy one. It’s the lowest quality water in AQUAS. You can download it here and test it.

AQUAS has mobile shaders in 4 different quality levels, so using the lowest quality might give you a somewhat better performance, but expect no miracles. Unfortunately there’s not much you can do about it, if you’re using it on a >2yr old phone. :frowning:

Here’s some stats from my tests with the bicolored foamy water. The values go from “entire screen filled with water” to “only some spots of water”:

Google Nexus 7: 18-30 FPS
LG G3: 27-60 FPS
Samsung Galaxy S3 Neo: 15-27 FPS

So in the end AQUAS Mobile is a viable solution for older generation devices, if the water surface doesn’t cover your entire FOV, but if you want your water to be all over the screen, AQUAS performs only on current generation devices (and future generations of course).

I’ll add that to the asset description, to avoid disappointed customers.

@ZJP I guess it might work with 4.X Pro. A lot of features wouldn’t work with Unity 4 free, that’s for sure.

Anyway, since the asset store won’t let you download any asset, that has been created with versions higher than the one you use, I can only guarantee, that it works with Unity 5.3 free and above. :wink:

1 Like

really ur water!! looking nice. nice to see that u are working on allowing to use more than one water with underwater effects :smile:
one question tho. how can i change direction of water flow?
im making rivers in my scene so it would be really nice to have :smile:
keep up the good work.

@kilju Glad you like the underwater effects. However I think, they could be much better, thus the first update will include major improvements to them, so keep an eye open! :wink:

I had the question with the river before, and the short answer is that technically you can already create rivers with AQUAS. If you’re using the water plane, you can only use one flow direction, so no need for extra work, if your river is straight, just rotate the plane until the flow direction aligns with your river - my guess is, that you have a curved river, right? Well then, all you have to do is create a mesh, that fits your river surface, and create the UVs for the individual areas of that mesh. You can do that in Blender, or 3DS or Maya, or whatever it is, you’re using. By manually manipulating the UVs, you can adjust the texture orientation of the individual parts of your river.

Here’s a visualization:

Say, this is your river bed:

Create a mesh, that resembles the water flow through the river:

Create the UVs for the mesh in a way such that an applied texture will align with the flow direction of the water:

Now if you use that mesh on your river bed where it intersects with the shore, the result should be effectively this:

If you pan the texture it should move along the path you created by manipulating the UVs, thus along the river, and it should look something like this:

Once you get there, you should be able to just drop the AQUAS material on the mesh and have your river. Unfortunately I don’t think, there’s a much simpler and quicker solution to this for now. I’ll see if I can make it a bit easier on the shader side, but expect no miracles.

I hope, this helps you.

nice explanation. i will try that when i have some time. :smile:
thank you

I would love to see some examples of this. I want a bog with my own texture used for the foam and covering most of the surface of the water. I get very inconsistent results with some of the more “expensive” assets out there so am thinking a nice simple flat water solution would be better. Can I do this? An almost still bog covered with green slimey foam? :slight_smile:

1 Like

@Teila Covering the entire surface with a foam texture will most likely lead to visible tiling, however if you have a really good texture and use tiling wiseley, you could conceal that partly and get some pretty neat results. If you want, you can send me the texture you’d like to use and tell me the colors for deep and shallow water (and in general describe what you want the bog to look like) and I’ll see, if I can prototype a custom demo apk for you. :slight_smile:

BTW, the single-colored mobile shader has an optional emissive color, which might come in handy for things like lava or poisonous swamps. :wink:

Yeah, I realize it may produce tiling, so probably wouldn't cover the entire water surface, but would extend out from the shore far enough to look as if it does. :) Also, it would gather around objects in the water like trees, so with a lot of trees in the water, it works. :) Let me find a picture.

Edit:
I guess I should have asked if the foam will gather around objects in the water. Is the foam based on depth or "contact" with the shore?

The foam is based on distance to intersecting objects of all kinds, so trees and other objects in the water shouldn’t be a problem.

1 Like

Here is an old picture of my swamp with a texture replacing the foam. This is Water4 I believe. Unfortunately, the foam glowed at night and I could do nothing to make it not glow. Does your glow when using a night sky or in a time of day situation?

2469479--170003--SwampFoam.jpg

Here is a similar picture, later in time, but with Suimono instead. It works..somewhat, but is inconsistent. Sometimes the foam works, sometimes it does not. Notice it also stopped accumulating around the trees. Not sure why. :)
So I need something where the foam works.

2469479--170004--pondscum.PNG

How nice of you! This would be great. My swamp looks amazing in-game, but....without scum, it just isn't the same. How shall I send you the texture and info?

Oh you can send me a PM or post it here, whatever you're more comfortable with. What platform is that for? It's not for mobile, if you're using suimono, is it?

No, PC. :)