Search Unity

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

Discussion in 'Assets and Asset Store' started by dogmachris, Jan 8, 2016.

  1. lookx2

    lookx2

    Joined:
    Jun 24, 2016
    Posts:
    20
    @dogmachris The screenshots is capture in playmode. And it always happen only in Unity 5.4, This problem don't exist in version 5.3. Maybe it's the bug of unity.


    @dogmachris The screenshot is from the build and this is exactly what it look in the VR device. I'll have a try on the latest verion of AQUAS. Thank you
     
  2. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,251
    We have multi-terrain work fine with Landscape Builder and AQUAS 1.2.2 and 1.3. We auto size the plane for you for oceans, lakes or rivers.
     
    dogmachris likes this.
  3. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    Sure. :)
    Aquas_VRReflection03.jpg

    I am indeed using 5.4 (because of the OpenVR support). I'd be more inclined to think that the issue is caused by 5.4 if Playway did not work. I don't own Playway so I'm trusting what you've said about your experience with it. :oops:

    I've done some limited testing with 2 cameras instead of using the single camera that OpenVR uses, and it actually works perfectly with reflections. It does away with an effective spectator mode though because it shows the 2 screens instead of one. It might also be a performance issue (there was a notable decrease in FPS), but I'm not sure.
     
  4. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Haven't noticed anything about the rotation Jon. Could you explain a little more how rotating the editor camera is now different? And did that happen before or after importing AQUAS? If so, I'm not sure how it can be related to the water. Can you make a screen record of what's going on?

    Cheers
     
  5. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    The latest version of AQUAS doesn't use a different reflection technique, so it will still be shifted - it is as it is, I'll have to see why that is, if it's a Unity bug or not and what I can do about it. :confused:
     
    IFL likes this.
  6. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    @lookx2 @IFL I think I might have an idea:
    If the VR uses only one camera, the only way it could get the steroscopic view would be by shifting the camera's position slightly but automatically each frame once for each eye. It might be that the reflection is rendered before the camera gets shifted, thus each eye effectively sees the reflection that is meant for the other eye. You could try the following:

    open the AQUAS_Reflection.cs script and in line 22 replace
    Code (CSharp):
    1. public void OnWillRenderObject()
    by
    Code (CSharp):
    1. public void OnRenderObject()
    This will update the reflection with a tiny delay that would ideally not be noticed at all - at least I hope so. If that doesn't work, then
    Code (CSharp):
    1. public void LateUpdate()
    should, but it will also most likely cause a severe delay in reflection rendering.

    Does any of that help?
     
    IFL likes this.
  7. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Don't worry too much about it, the rotating editor camera problem was already there, and was due to the fact the camera was being shown in iso mode, which I hadn't noticed. The water only appears in the editor at certain angles, but again nothing to worry about, sure it's something specific related to the scene.
     
  8. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Oh yeah, if the cam was set to isometric that explains all - it handles render orders differently too, that's probably also why your water didn't show as it should have.
     
    jonfinlay likes this.
  9. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    No joy. Thanks for trying to come up with a solution though.

    OnRenderObject:
    Aquas_GIF01.gif

    LateUpdate:
    Aquas_GIF02.gif

    [EDIT::] I probably could have made the reflections a bit harder to see. :confused:
     
    dogmachris likes this.
  10. camel82106

    camel82106

    Joined:
    Jul 2, 2013
    Posts:
    304
    Hi,
    at first thank you for your product. It's really marvelous, rivers moved it into another dimension :)

    In my project I'm using laser scanned data real terrain as source for terrain heightmap. So it's not artificial terrain.
    And this source of my problem. As standard concept of water level is not very usable in real world terrain. As your water will leak through ground.

    You can see it on screenshot. There is small river above lakes. But lakes are not there in reality, only water plane is leaking there.


    I suppose that one solution is not to use default rounded AQUAS mesh. But for example create one or more rectangle planes. That would cover only areas where river is. But this will bring bunch of problems. At least seams of water parts would be critical.

    Wouldn't it be possible to introduce similar system like flow map texture. But it'll be working as a cover map. Simply texture with have black and white areas. (or just one channel would be enough) On black parts water wouldn't be rendered at all. On white parts it would be working as usually.
    I suppose that it may even save performance?

    Best regards
    Peter
     
    Last edited: Jul 22, 2016
    dogmachris likes this.
  11. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,251
    We have also been thinking about this scenario. In LB we have a feature that integrates with AQUAS to create the flowing rivers. We know the path and dimensions of the river so in theory we could create a custom mesh to replace the plane which would only appear under the river bed. However, we're not sure how the AQUAS shader would do tiling.
     
    camel82106 likes this.
  12. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    @IFL - I'm not a VR user, so maybe I'm not understanding what's going on with the bug you're experiencing, but I saw this elsewhere on the forum and wondered if this is the same problem occurring on Unity water with VR.

    Also, it seems like the reflection angles for the VR are crossed, like the view in the right eye is really for the left eye.
     
    IFL likes this.
  13. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    I think it's pretty much just UV tiling.


    @hopeful (aka helpful) - Thanks for the link. You're right, the reflections might be reversed. I'll check on it tomorrow and report back if that's the issue (it would likely be a Unity bug if so).
     
    hopeful likes this.
  14. camel82106

    camel82106

    Joined:
    Jul 2, 2013
    Posts:
    304
    Yeah that's probably even better option. We probably just needs regular tiling on it. I'm curious what tiling aqua uses for example per meter. Althouth as rivers are using flow maps. I suppose that they awaits rectangle? So this approach may not work and texture control approach may be better. Really curious.
     
    Last edited: Jul 22, 2016
  15. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    EasyRoads has the option to do this, by creating a long-flowing plane but I so far I haven't managed to get it to work with Aquas. There is limited and out-of-date documentation for rivers. Not sure if anyone else has managed to do this?
     
  16. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    Just have to say I really like the demo of the new Aquas. Really glad I went with this package (the Gaia guys convinced me it was a good choice)
     
    dogmachris likes this.
  17. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    So... looking at the render-textures in the scene shows that there wasn't a separate image for each eye, so I think it's still using one reflection image for both eyes and the weird offset is a result of stereo convergence of the eyes because they both orient to a point 10 units in front of them so anything beyond that distance with appear to the outside edge. I'm not 100% sure about that, but it seems likely to me.
    I went back to the old VR method of creating one camera for each eye. It works well. Reflections look great. I'm now convinced that the reflection issue is a Unity bug as others have linked to previously in this thread. My apologies for thinking otherwise @dogmachris! I hope you didn't spend too much time on it.

    Aquas_VRReflection04_f.jpg
    It's not the easiest to see in the video, but the reflections add a lot to the atmosphere.

     
    dogmachris and hopeful like this.
  18. MorganMoon

    MorganMoon

    Joined:
    Feb 23, 2016
    Posts:
    3
    Hello! I like the asset, however I am encountering a very odd bug. I am using the AQUAS/Mobile/Bicolored Foamy shader and it works perfectly fine on iOS and in the editor (Set to android platform), however on an actual android device, the result is weird. Here are some screenshots:

    This is the desired result:


    Here is my shader settings:


    Thanks for any help! :)

    Also curious, with the new addition of the flowmaps, when will the mobile shaders support those? Thanks!
     
    Last edited: Jul 23, 2016
  19. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    @sstrong in the first instance AQUAS serves with a rectangular plane, but it should be possible to create a custom mesh for a river. That mesh simple would have to be designed so that it's transform.scale is the same on the x- and z-axis. If you can do that, the shape of the mesh shouldn't matter. What does matter however is the UV setup. The UV coordinates on the mesh should be the same as on a square plane of the same size. imagine it like this:

    PlaneUV.png

    The above would be the UV layout of a squared plane without tiling, as you get it, when you add a river plane to the scene. If you create a custom mesh, the UV-layout should be something like this:

    meshUV.png

    I don't know if you can see it, but if you think of the above cut-out as a mesh and draw a thought square around it, you'll notice that the visible UV-colors for the mesh are at the exact same places as they are on the squared plane, in other words, if I were to lay the mesh on a squared plane, the UV-coordinates would blend in seamlessly.

    Is that somewhat understandable? :confused:
     
    antoripa and camel82106 like this.
  20. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Please, no need to apologize - thank YOU rather for your effort - highly appreciate it! :) :)
     
  21. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Hi there,

    what you're seeing is the limited depth-buffer support of mobile devices. You might be able to somewhat soften it by reducing the far clipping plane of your camera, but I'm afraid it won't go away. That's a problem with alpha-blended shaders on mobiles in general- In v1.3 I've included an opaque shader that will work reliably, but it won't look as good.

    An option would be to have an option in your game to switch between the normal water and the opaque water, so people whose devices support it can use the normal water and people whose devices have a limited depth-buffer support can switch to the opaque shader - reluctantly.

    I'm sorry, I have no better news for you on this, it's been an issue I wans't able to solve since the initial release of AQUAS. :(

    About the flow maps for mobile - this kind of behaviour will almost certainly be too much for most mobiles, so it'll be some time, before flow map support will be available for mobiles.
     
  22. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,251
    Sure, thanks Chris. We'll put some effort into building this component.
     
  23. MorganMoon

    MorganMoon

    Joined:
    Feb 23, 2016
    Posts:
    3
    Thanks for the info! I was able to get some good looking water with the opaque shader! However, I've encountered another problem, not myself but our QA reported on android for the Samsung Galaxy Tab A & Android Grand Prime the water has no texture or movement. Is this just a limitation because they are a little bit older devices? Is there anything I can do to resolve this issue? Thanks! Here are some screenshots:

    My device: (Samsung Galaxy S6 edge+) ... This water is correct


    QA Device: (Samsung Galaxy Grand Prime) ... This water is incorrect


    Thanks for the help! :)
     
  24. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Uhm, that's a behaviour I haven't seen before, I'm sorry to say. However it seems to be device related. You might try finding the solution in the import settings of the normal texture, but no guarantee it'll change anything.

    Sorry, but I can't give qualified info on this at this point. When I have anything new to report, I'll post it.

    Btw: that looks very nice for an opaque water, so it seems, it should work as a reserve solution. :)
     
  25. Desktopdaydreams

    Desktopdaydreams

    Joined:
    Nov 20, 2010
    Posts:
    154
    Hi @dogmachris,

    Apologies if this has already been asked but I was wondering if the AQUA supports water reacting to player movement i.e. are there ripples when a player moves through say ankle deep water?

    Just in the process of weighing up features for water solutions before we buy.

    Cheers
     
    jonfinlay likes this.
  26. MorganMoon

    MorganMoon

    Joined:
    Feb 23, 2016
    Posts:
    3
    Thanks for looking into it! Is there any more information I could provide that you may need that could help you in finding the issue? and yeah I am happy with the outcome of the water using the Opaque shader. Thanks for the help!
     
  27. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Hi there,

    AQUAS as it is doesn't react to player movement. It's actually flat. I planned to add ripple effect particle systems along with some other particle splash effects, but it'll be particle effects, no real ripple waves.
     
    Desktopdaydreams likes this.
  28. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    I'm sorry, but as of yet I have no idea what could be causing the issue on that device. I,ve already looked up the of it, nothing special about it. Could you maybe try and see if the device doesn't show normal maps at all?
     
  29. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    @dogmachris - 5.4 brings single-pass stereo rendering to VR, and it breaks Aquas bad. I haven't diagnosed the issue yet, but the water only shows up with MobileOneColoredOpaque in Deferred mode, and it still flashes and has artifacts. I've already adapted a few shaders to the new stereo rendering, and I'll try to get Aquas to work too. Just a heads up in case others are unhappy about it.
     
    Last edited: Aug 2, 2016
  30. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    @dogmachris , total newbie question, I understand, but how does your buoyancy work with purchased assets?

    If I have a boat will it float and have animated buoyancy without a script and animation add to the prefab? Or will it remain static while the water moves around it?

    Purchasing today by the way :)...finally!
     
  31. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    @IFL : bummer... thank you for letting me know. Single pass stereo rendering isn't a bad idea though. Do you have a screenshot or a screencap of thenartifacts you mentioned? Worst case I might have to make adjustments to AQUAS for 5.4. :confused:

    @TheSeawolf I'll make a video tutorial on that I think that's the easiest way to show how it's done. Please give me some time though as I'm currently on travel. :)
     
    TheSeawolf likes this.
  32. Desktopdaydreams

    Desktopdaydreams

    Joined:
    Nov 20, 2010
    Posts:
    154
    Thanks for the fast reply @dogmachris. Are the ripple particle effects up and running or is it a planned update?

    Cheers
     
  33. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Would it be possible to create a river that flows into a calm lake or wavy ocean with shoreline interaction using AQUAS?
     
  34. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    Seeing this error. Re-imported, but error is still there:

    Assets/AQUAS/Scripts/AQUAS_LensEffects.cs(69,5): error CS0246: The type or namespace name `GlobalFog' could not be found. Are you missing a using directive or an assembly reference?
     
  35. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    Open up the Global Fog shader cs file and make the class public.
     
    TheSeawolf and dogmachris like this.
  36. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    335

    1/ edit file named GlobalFog.cs

    2/ update line number 9
    Code (CSharp):
    1. class GlobalFog : PostEffectsBase
    to
    Code (CSharp):
    1. public class GlobalFog : PostEffectsBase
    3/ save.

    ==> solved.
     
    TheSeawolf and dogmachris like this.
  37. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    Thank you, sorry if that was in the docs and I missed it.
     
  38. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    @dogmachris , I finally purchased Aquas, and I must say with using the GX everything was ever so simple

    Now I'm off to read the manual and watch your tutorials. Thanks for offering to create a tutorial regarding having objects react to the buoyancy. But, I was thinking if I just take the necessary scripts or components from the White spheres in the demo, that ought to work right?
     
    Last edited: Aug 6, 2016
  39. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    No problem, manuals aren't the most thrilling novels after all. ;)
     
  40. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    I'm happy you like it. :)

    For the buoyancy you can in fact do it the same way as shown in the demo scene. One thing to notice though, is that the spheres in the demo scene don't have a collider component on them. If you're using a mesh that has no collider component on it, the updrift force will create an extremely high torque - unno if due to PhyX or Unity. When you do that, you have to use the balancing factor and adjust the values for each axis. If you have a collider component on your object you usually can disable the balancing factor.

    It should work with any mesh, however some meshes might cause some trouble because of unfinished work usually invisible in Unity - example: if one modeled a boat in maya, 3ds, blender, etc. and at the end forgot to set the pivot point to the center (in case it got moved), it might float cockeyed, when using the buoyancy.

    The performance hit of the buoyancy effect depends on the polycount of the mesh. If your mesh has too many faces and you see a noticable impact on performance, you can create a reference object that has less faces and behaves similar to your object of interest. Use the buoyancy on that and attach your object of interest as a child object to it, that works too. A reference object can be a stretched out sphere, as shown in the demo scenes, but the best way to increase performance would probably be to decimate the mesh in a modeling app like maya, 3ds or blender, to keep the basic shape and reduce the polycount.
     
    TheSeawolf likes this.
  41. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Hey dogmachris, care to answer my question?
     
  42. refaxx

    refaxx

    Joined:
    Jul 11, 2014
    Posts:
    8
    Hi dogmachris,

    thanks for your answer to my review! I tried excluding stones and trees from caustics and reflections, but that didn't help. Deactivating the caustics projectors reduced the SetPass calls from somewhere around 6000 down to 140, but the framerate still stayed the same.

    My terrain is generated with map magic, if that helps at all. And the framerate seems to only go up, when i look straight down. When i look more towards the horizon, it gets slower.
     
  43. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    (correct me if I'm wrong, @dogmachris) I think the river to calm lake would look fine. Not sure about the wavy ocean though since flow maps seem to be visually weak with larger, defined waves (the shader's transitions between moving sets is more visible in such circumstances in my experience).
     
    Marco-Sperling likes this.
  44. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    I'm so sorry @Marco-Sperling, I missed your post. As @IFL stated, having a river flow into a lake would be no problem. Flow maps are not limiting to that extent, so if you have a terrain that is partly covered by a river and partly by a lake, you can paint the flow map accordingly, so the water will flow along the river and smoothly stop flowing when it reaches the lake.

    It works the same with open waters, however AQUAS is flat water, so all waves are surface effects that don't actually affect the the mesh of the waterplane. The waterplane can be scaled up really large, so a river flowing into the sea wouldn't be a problem either, but if your sea needs to be very very big, you would probably have to use multiple water tiles for that (AQUAS can be used as tiles of water).

    Only case I can think of where you couldn't use make a river flow into the sea would be if you want to have an infinite ocean. In that case the water tiles would always have to be repositioned to give the impression that water is actually everywhere - in that case the tile with the flow map on it would also be repositioned and thus displaced.

    Could you explain a bit further what you mean when you say "shoreline interaction"?

    @IFL thanks! :)
     
    Marco-Sperling likes this.
  45. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    So if the framerate drops when you look straight ahead, my guess is, that the performance impact is being caused by the realtime reflections. I don't know if this has anything to do with Map Magic or not. I'll talk to Denis (the maker of MM) and see if I can reproduce the issue. Please give me some time though, since I'm currently on travel and all I have for support atm is a phone. :)

    In fact I think 6000 draw calls shouldn't have such a big impact on today's PCs, so I don't wanna be too quick to blame the caustics. Just to make sure if it's the reflections or not: Could you turn reflections off (the AQUAS_Reflections component on the waterplane and also in the material settings) and see what happens to your framerate?
     
  46. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Thanks for pointing that out.

    Sure, I am looking for breaking of waves when they reach shallow regions - mostly on coast lines. Similar to what you can see in this video at around 1:40


    I could create my own shader that pans a foam texture and place an extra layer of meshes along the coast line. But if this was already in your asset that would be neat.
     
  47. refaxx

    refaxx

    Joined:
    Jul 11, 2014
    Posts:
    8
    Changing the reflections on the material had no impact. So after some testing, i can definitely say it's the AQUAS_Reflections component. Changing the reflection layers to exclude everything besides the default layer, which currently should only be the terrain itself and MAYBE the grass (don't know if that is considered by the reflections as well), had no impact. Playing with the other parameters on the script (pixel lights, texture size and clip plane) didn't change anything either.

    Enjoy your travels, there's no hurry from my side. Currently i am just playing around, not working on a real project ;)
     
    Last edited: Aug 8, 2016
  48. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Good afternoon. I was interested in your asset . The more you do deferred rendering. My question is , if your asset isn't working for me. Can I do a refund
     
  49. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    @Marco-Sperling nope, such a feature isn't yet available. I haven't gotten around into checking how I could do that with minimum effort to the user (exporting terrain/shore masks, etc.) - I'm open to suggestions, if you have any, just PM me. ;)
     
  50. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Hey refaxx, thank you for checking! :)
    I'm not sure, if this is somehow related to MM or not. It might, if MM uses large amounts of terrain tiles, then they would all have to be reflected, which would explain a lot, but it's too early to make any qualified statement on this - I'll check as soon as I can and keep the thread updated.