Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  4. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Assets [WIP] AQUAS 2.0

Discussion in 'Works In Progress' started by dogmachris, Oct 2, 2017.

  1. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    Update 11-02-2017:
    GPU-port is done. I'm currently working to optimize the surface shader a bit to perform and look well at the same time.

    Apart from that the height fields are now believable and large enough to simulate infinite oceans with periodical lengths of up to 480 meters at an effective facet size of less than 3 cm. This is high enough to make visible tiling very much impossible, although smaller periodical lengths of 240 m or even 120 meters would probably be sufficient to not notice any tiling. The periodical length is increased by jagging multiple grids with different facet lengths into each other. Calculating multiple FFTs is of course more costly than computing perlin noise, but in turn waves look much more believable and there's no need for noise at greater distances.

    At the moment the surface is being rendered based on vertex normals, which requires heavy mesh tessellation resulting in quite a bit of a performance loss. Currently I'm working to convert the calculated vertex normals to normal maps, so I can keep tessellation low while preserving an acceptable visual quality.

    I'll try to post some new footage and images asap and provide a playable demo of an infinite ocean (without underwater effects) by the end of this week.

    ===========================================================
    Alright folks, it's time to announce a fairly distant yet very big update to AQUAS. AQUAS is gonna get physical waves and use a PBR shader. I've recorded a short preview video to show what it looks like at the moment.

    I've recorded ocean waves at different wind speeds: 2, 5 & 30 [km/h]:



    Some things to note here:
    • The Spectrum used here is the classical Phillips spectrum. I'm gonna try Pierson-Moskowitz and maybe even JONSWAP to see what the differences are, but to me it seems at the moment, that Phillips might do just fine.
    • For some reason the surface behaves as if in a storm when inceasing the wind speed to 30. I don't know if this is specific to the Phillips spectrum or if something is missing here.
    • The FFT evaluation of the Fourier amplitudes runs entirely on the CPU right now. The reason why the frame rate stays relatively high despite the high detail, is that I've moved all FFT calculations on extra threads. This won't be usable on many machines, because the amount of threads is rather high and even though it works fine, firther scripting logic would now cause a quick decline in performance.
    • The length of a single ocean patch in the video is 60 m. Beyond this length the ocean is perfectly periodical.
    • The high detail density on the surface was achieved by jagging multiple grids with different edge lengths into each other, resulting in a seemingly non-repetitive height field. The amount of samples for each grid was chosen as 32x32.
    • The shader is a generic opaque PBR-shader with a base color, a fresnel effect and specular gloss
    Even though it might look rather advanced, everything is still in very early stages. The surface is opaque and there's nothing like color absorption, reflection, refraction or let alone shore line waves. All of these will still have to be added and additional effects such as the buoyancy feature will have to be reworked to work on wavy surfaces.

    The next step from here on will be to port the FFT calculation as well as the calculation of the fourier amplitudes for the FFT to the GPU using compute shaders.

    At this point I can make absolutely no prediction when everything will be done, I'll do my best to have it out as soon as possible and will post news whenever there's anything new to present.
     
    Last edited: Nov 2, 2017
  2. runningbird

    runningbird

    Joined:
    Sep 3, 2009
    Posts:
    371
    NICE!!!
     
    dogmachris likes this.
  3. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    174
    That is really nice, looking forward.
     
    dogmachris likes this.
  4. the_nomad

    the_nomad

    Joined:
    Jun 22, 2013
    Posts:
    15
    Looks great!

    Any plans for this one to support VR and SPSR?
     
  5. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    292
    will this update cost in addition to what we bought the current for?
     
  6. the_nomad

    the_nomad

    Joined:
    Jun 22, 2013
    Posts:
    15
    Thought I'd answer my own question here, as Chris answered it on the other thread:

     
  7. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    Yes, definitely! I'll try to add SPSR support for both the old and the new version of AQUAS. Since I'm going to rework the old AQUAS from the ground to fit current needs, I'll add support for them in one go.
     
    rocky1138 likes this.
  8. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    I won't try to squeeze a single buck out of customers who have previously used AQUAS for years, so I'll make sure, that everybody who owns AQUAS at the time the new version gets released, will get a generous grace time during which they can upgrade for free.
     
    Mark_01, magique, mattis89 and 9 others like this.
  9. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    @snacktime I've received feedback from multiple users who fear that AQUAS won't be available as it is anymore once the update goes live. Let me assure you, that this will NOT be the case.

    Initially I planned on simply enhancing AQUAS by the ability to have physical waves, yet I've come to realize, that you're right believing, that people who want AQUAS as it is, might not have a particular interest in physical waves, while people who want physical waves might not need AQUAS as a stylized solution. So I decided to publish AQUAS 2.0 as a separate package under the name of AQUAS [Suffix yet to be determined :D]. This way people can choose whichever solution best fits their needs. I will make sure however, that everybody who previously owned AQUAS gets a grace time during which they can get the new AQUAS for free. Apart from that both assets will continue to be available on the store, each getting its individual updates.

    Regarding your concern about choppy waves: I plan to have choppiness fully controllable. If needed it can be eighter turned off completely or at least ignored when calculating buoyancy forces, but the buoyancy feature is still ahead of me so I can't really add much to it at this point. Maybe you're right and it's going to cause me a lot of headaches (which it probably will), but I'll try my best to not have the entire thing depend on a single feature.

    I'm not taking the approach suggested by Nvidia, which is to blend FFT generated waves with noise based waves at larger distances. Instead I'm going for an approach that uses jagged grids with varying facet lengths to be able to use FFT waves on the entire surface without visible tiling.

    As to your remark about "copying what some others are doing", the FFT algorithm is merely a computing method, but what eventually makes the look of the water surface is the presumptions made prior to the simulation (the paradigm is "garbage in - garbage out"). Take Ceto and Triton for instance. Both use the same computing method, yet both look totally different, because of the presumptions made regarding the eventual aspects of the system's consistency. That doesn't only include the height field, it also includes the spectra (and modifications to them), and the approaches taken for the surface rendering. To decry the FFT algorithm as something "others have done before", would be like saying, multiplying two numbers with each other is plagiarism.
     
  10. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    @LurkingNinjaDev @lawsochi I will keep AQUAS available as it currently is. The old and the new AQUAS will both be available on the store as different solutions for different needs, each getting its individual updates.
     
    Iamsodarncool likes this.
  11. TomTumbler

    TomTumbler

    Joined:
    Dec 1, 2014
    Posts:
    158
    Hi Chris,

    the waves looks great. Will you add wave foam?
     
  12. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    Yes, definitely, but not in the demo.

    Speaking of which, I'm late with the demo. That's because I couldn't stop myself from adding some surface effects. I'll have to get the GUI ready and adjust the scripts a bit, so the parameters can be modified at runtime. I'll try to have it ready this weekend.
     
  13. frankslater

    frankslater

    Joined:
    May 9, 2016
    Posts:
    97
    I don't know if VR is a good idea. You jack wind up like in the video and I need a change of pants. It would be like in the Matrix. My brain thinks I'm dying so it makes it happen.
     
  14. mantisworkshop360

    mantisworkshop360

    Joined:
    Oct 10, 2017
    Posts:
    3
    hey man

    great job on this asset im really looking forward to put my hands on it


    well

    if you can consider my advice

    please keep an eye for performance as it is my main problem with ceto

    with only ceto in the scene im losing 24-30 frames


    so thanks in advance and good luck
     
  15. TomTumbler

    TomTumbler

    Joined:
    Dec 1, 2014
    Posts:
    158
  16. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
  17. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    292
    Any chance of adding an icing effect so it can turn to ice along with unistorm, uber and cts when it snows?
     
    MarkusGod and Lars-Steenhoff like this.
  18. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    537
    I think I love you :)
     
    dogmachris and TheSeawolf like this.
  19. ilsvr

    ilsvr

    Joined:
    Jun 1, 2017
    Posts:
    2
    Hi, I have a terrain made using Gaia with Aquas water. In VR (Vive) when I look around, the water horizon moves, it's very disconcerting. Have searched forums and the web in general but can't find anything about it. I'm using Unity 2017.2 and Aquas 1.4.2.
    Edit: Added version info.
     

    Attached Files:

    Last edited: Dec 10, 2017
  20. ilsvr

    ilsvr

    Joined:
    Jun 1, 2017
    Posts:
    2
    Ok, answering my own question because we realised the SteamVR camera had a clip distance of 1000. Changed it up to a higher value and all good.
     
    Shawn67 likes this.
  21. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    Great job Dogmachris, i’m Really looking forward to this as this means I can use Aquas for my entire water needs. One product to rule it all, lovely work.
     
    dogmachris likes this.
  22. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    934
    was there any progress on shoreline waves? something basic at least like these guys:

    that's a $15 asset on unreal, and so far i haven't found anything that looks even as basic as that on unity. So if this one makes it or any other asset, please let me know because it doesn't show on the videos
     
    nirvanajie, blitzvb and lawsochi like this.
  23. TomTumbler

    TomTumbler

    Joined:
    Dec 1, 2014
    Posts:
    158
    Maybe, Chris can combine your idea with this:

    And - not to forget - with a nice river sub system. I think, AQUAS 2.0 will be great. :cool:
     
    AdamGoodrich likes this.
  24. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    934
    that's an ocean, nothing to do with the shore lines. We have many ocean/water plugins already, with different level of quality. What's missing is a shore line with waves. I see none. zero. While at Unreal is practically free to get decent ones.
     
    blitzvb likes this.
  25. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    1,695
    I would suggest looking at the water in Sea of Thieves. It's a great example of water designed for good gameplay IMO.

    Couple of things that stand out:

    - The large slow moving waves that really add to gameplay, but yet completely unrealistic.
    - Different wave heights based on distance from shore.

    On a different note, I really think that a modular system designed to be customized is the way to go. The bane of my existence right now is having to customize a water asset from the asset store that was just badly abstracted. It's just one huge monolithic shader design that makes changing anything rather painful.

    The fact is games will need to customize the water, that is if it's a real game not just some hobby. And well abstracted code and shaders make this so much easier. Like the current water asset I'm working with you pull in one shader include and it pulls in a whole chain of others, with lots of those includes defining global variables and such. It's just a complete mess and really difficult to reason about.
     
    sadicus likes this.
  26. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    Still a lot of work ahead of me though. I'm not moving ahead with this as quickly as I'd like to. That's partly because the last month was so busy due to AQUAS being on 3 consecutive sales.
     
  27. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    Yeah I'm planning to have a river with physical waves. It's probably a total overkill, but still - would look great.
     
    Iamsodarncool and Acissathar like this.
  28. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    AQUAS will have shoreline waves- physical ones. I'm planning to blend in the physical FFT waves with scripted Gerstner waves at the shore lines. That's a feature for the late stage of development though. The more basic stuff will have to work first.
     
  29. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    192
    Shoreline waves sounds excellent. How about tides?
     
    MarkusGod likes this.
  30. TomTumbler

    TomTumbler

    Joined:
    Dec 1, 2014
    Posts:
    158
    Hi Chris,

    any idea when you'll publish AQUAS 2? You shouldn't give us an exact date. I'm asking for a time range.
     
    GMax likes this.
  31. Vanidash-Studios

    Vanidash-Studios

    Joined:
    Mar 9, 2016
    Posts:
    71
    is Aquas 2 still going to be a free upgrade for current owners?
     
  32. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    Yes
     
    DogDZ, freshmeat911 and Rowlan like this.
  33. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    950
    There's still some work ahead of me. I'm a bit back due to the update for AQUAS I'm currently working on and due to the sales AQUAS has been on late last year. I should have a more precise schedule by march, but it still is a matter of months I'm afraid.
     
    freshmeat911 and truebototics like this.
  34. truebototics

    truebototics

    Joined:
    Jan 2, 2016
    Posts:
    19
    Looks amazing. Super excited about this. Already an amazing product, looking forward to the update.
     
  35. TenMCapstone2018

    TenMCapstone2018

    Joined:
    Sep 8, 2017
    Posts:
    1
    The water was working great until today. I accidentally changed the lightmap bake settings to something a bit higher than I would have liked and had to force stop and cancel the bake. Now, the water that was in my scene won't render. The prefab included in the package doesn't show up at all, or if it does, it's at a weird angle from the camera. Additionally, making a plane and then applying an aquas material to it causes the plane to become transparent. Any ideas on what went wrong?
     
  36. DogDZ

    DogDZ

    Joined:
    Jan 17, 2017
    Posts:
    3
    Looks realy nice i can´t wait for v. 2.0 =)
     
  37. NAiLz

    NAiLz

    Joined:
    Apr 17, 2013
    Posts:
    72
    I recently started using Aquas and I absolutely love it! Can't wait for the waves update.
     
    DogDZ and GMax like this.
  38. Fenris2

    Fenris2

    Joined:
    Aug 25, 2014
    Posts:
    60
    Any updates on progress? What you have laid out so far seems very promising.

    And, while I/we appreciate free upgrades as much as the next person. . . Please keep in mind you have to eat too, and we are aware of it (or should be). At least consider raising the price on 2.0 going forward to cover all the new eye candy / features and time that it is taking producing it.
     
    JBT27 and Iamsodarncool like this.
  39. Ivan_Lin

    Ivan_Lin

    Joined:
    Aug 20, 2017
    Posts:
    1
    Looks really nice!!!
    Can you tell me which equations did you use to simulate the water and which paper do you refer?
     
  40. E_T_

    E_T_

    Joined:
    May 14, 2018
    Posts:
    5
    Hi Chris. Now about to be June. Could you please give some kind of indication of the arrival of 2.0?
     
    Unity-IBR and DogDZ like this.
  41. slik

    slik

    Joined:
    May 29, 2013
    Posts:
    5
    @dogmachris
    It will be almost unusable if you need to do wave height probes/queries (for buoyancy) because data readback from GPU is very slow. Of course there is https://docs.unity3d.com/2018.1/Doc.../Experimental.Rendering.AsyncGPUReadback.html but the data is already obsolete in moment when the request is completed.

    Just as a note.
     
    Last edited: Jul 2, 2018
  42. jellypixel

    jellypixel

    Joined:
    Jul 16, 2013
    Posts:
    148
    cool , i like the foam
     
  43. NAiLz

    NAiLz

    Joined:
    Apr 17, 2013
    Posts:
    72
    @dogmachris I'm still really loving Aquas. As far as I'm concerned, there isn't another more aesthetically pleasing water package out there. I've enjoyed using it in my game and can hardly wait until there are shoreline waves/foam etc. Any idea when that update might be coming and is there anything any of us might do to help? Cheers!
     
    sadicus and Unity-IBR like this.
  44. yanosch

    yanosch

    Joined:
    Feb 11, 2014
    Posts:
    11
    Terribly excited for this, hope you expand on your compatibility with enviro, it would be amazing to have a sea that dynamically reacts to the weather
     
  45. OldLegWig

    OldLegWig

    Joined:
    Mar 18, 2018
    Posts:
    13
    I'm eager for the next update on where this project is at!
     
    Vincent13122 and Iamsodarncool like this.
  46. sadicus

    sadicus

    Joined:
    Jan 28, 2012
    Posts:
    199
    I just purchased AQUAS, and looking forward to a good Ocean effect. A2 looks like what I was hoping A1 would be.
    Looks Like AQUAS 1 will be used for Rivers, Pond, Lakes, etc. and AQUAS 2 will be used for Oceans?
     
    Last edited: Sep 10, 2018
  47. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,013
    Looks great. I didn't even know this was in development.
     
  48. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    499
    Is it? I noticed he's behaving like the drone guys. People keep asking questions in the Aquas thread, but he doesn't reply anymore. From his stats: Last "Post by: @dogmachris , Jul 3, 2018"
     
    Vincent13122 and Iamsodarncool like this.