Search Unity

  1. Unity 2018.1 has arrived! Read about it here
    Dismiss Notice
  2. Scriptable Render Pipeline improvements, Texture Mipmap Streaming, and more! Check out what we have in store for you in the 2018.2 Beta.
    Dismiss Notice
  3. If you couldn't join the live stream, take a peek at what you missed.
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Learn more.
    Dismiss Notice
  5. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  6. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Ultimate Water System - The most advanced realtime water simulation

Discussion in 'Assets and Asset Store' started by Moonlit-Games-Studio, Sep 7, 2017.

  1. Nexusmaster

    Nexusmaster

    Joined:
    Jun 13, 2015
    Posts:
    41
    Hi I added the latest version from the asset store to my project and I get this error:
    This happens in all sample scenes and I did select the water gameobject, so no clue why it doesn't work.
    Looks like it can't find the shaders... any idea why?
    (I also tried the latest hotfix, didn't change anything)

    I'm using Unity 2017.2.1

    Edit: Ok, I found the problem, the ShaderSet assets files had no shaders applied...
     
    Last edited: Feb 28, 2018
  2. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    19
    Is it possible to change water profiles(transition from breeze to storm for example) in realtime?
     
  3. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    171
    Yes, you can blend two profiles with the "Water Profile Blend Simple" script.
     
  4. meje

    meje

    Joined:
    Oct 6, 2017
    Posts:
    5
    How far are you with regards to mobile support? I would love to run it, even in a rather dumbed down version, on IOS.
     
  5. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    410
    Hi @MCPGNZ

    These problems that I expose did not happen to me with the oldest version that was in the store.
    Since I upgraded to the latest version of the active store the ripples that must be caused in the water when passing my character do not occur.
    The problem of the black line on the shore has also reappeared ...

    I am doing something wrong? I repeat that these problems did not happen with the oldest version of the store and it has started to happen when I updated. I have tried to download the latest hotfix but it does not solve any of the problems.

    The project that I am using to test is the same with the same configuration that I had before updating, same version of Unity 2017.1.0, etc.



    I await your response, greetings
     
  6. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    19
    Is it possible to somehow create shaders/effects like in dynamics water scene? I want to create some sort of water magic effects. I guess if you can make water graphically spin like in Dynamics Water then it should be possible to make other effects? Like, creating a graphical wave, or creating a big water spike. But the main requirement is that it will be graphically the same water. Not done with particles. Also, is it possible to make this water effect stop in the air? For example, I want to create a water spike which will not move after created. I'm okay if it will be only graphical, no physics
    This is the scene I'm talking about:
     
  7. mariamism

    mariamism

    Joined:
    Sep 11, 2016
    Posts:
    13
    Hi!
    I purchased PlayWay right before the developer decided to transfer ownership, and I'm considering upgrading to Ultimate. A couple of questions:
    1. I'll be using the asset with an HTC Vive project and VR support + good opportunities for optimization are crucial for me. Does Ultimate work with VR? Playway had some severe problems and it was always so hard to figure out where to I could optimize to save FPS. Is this something you prioritize?
    2. Are the raindrops (on water surface, not on camera) implemented and do they work in VR?

    I was seriously disappointed with how buggy PlayWay was and it was the biggest source of unforeseen costs/time loss for my entire project. I'd really like to avoid that this time. Much of that was due to it being impossible to understand what the different functions were from the documentation, and how they affected each other. E.g. how to change the color of the water to red, without it looking super artificial or losing visibility underwater.
    It's refreshing to see your team being so good at engaging with your customers and taking problems seriously.
     
  8. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    384
    Just applied the latest hot fix and its saying name space WaterForceData can't be found.

    Whats going on with this product as this WaterForceData class don't exist in the hot fix ?

    How to fix this ?
     
    Last edited: Mar 20, 2018
  9. Nexusmaster

    Nexusmaster

    Joined:
    Jun 13, 2015
    Posts:
    41
    Hi,
    I just gained 10-20 fps performance boost, by adding this script to the water object:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. namespace UltimateWater
    5. {
    6.     public class DisableSSSAfterwards : MonoBehaviour
    7.     {
    8.         // Use this for initialization
    9.         IEnumerator Start()
    10.         {
    11.             yield return new WaitForSeconds(1);
    12.             var water = GetComponent<Water>();
    13.             water.SubsurfaceScattering._Mode = 0;
    14.         }
    15.     }
    16. }
    You also have to set "_Mode" public in the SubsurfaceScattering script.

    It disables SubsurfaceScattering after initialization. Not sure if this will affect anything else, but the visual look of the SSS didn't change for me, would be interesting if anyone else gets this performance boost without losing visual quality...?

    Btw. the water is still really heavy on performance, would be nice if the dev will improve it further, I'm sure there is more potential.
     
    John-G likes this.
  10. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    We have a rather heavy boat, around 4 million polygons and hundreds of objects (CAD imported, though a bit optimized). We tried to reduce the water quality, which had the effect that what looked like an ocean before, now looks like a bowl of water (something with reducing detail makes everything seem smaller scale), and didn't help much with our framerate (in fact, between the "potato" and "titanic future PC" setting, there's perhaps 2-5fps difference at most).

    What are some settings I could try to get a believable ocean, yet still performant in SteamVR?



    EDIT: I'm still not seeing an explanation on the benefits of allowing this asset to disable multi-sampled anti-aliasing, by the way. Since SteamVR automatically scales resolution these days, and MSAA has an edge pixel bug in Unity, I left it off and again, not a big fps difference...
     
    Last edited: Mar 22, 2018
  11. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    I tried it, and I got it to work once... I think. What happened was that the water color changed to a much brighter color and I hovered around 100fps instead of 80fps, but on subsequent attempts, the water color was normal and did not see any fps change.

    (And yes, I changed the subsurface cript in the Ultimate Water asset folders, because otherwise I got an error.)
     
  12. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    I just tested Unity 2017.4.0f1 and single pass stereo still doesn't work.

    Is there no way to get a workaround? Which Unity version was the last version that single pass stereo worked with?
     
    Last edited: Mar 23, 2018
  13. Nexusmaster

    Nexusmaster

    Joined:
    Jun 13, 2015
    Posts:
    41
    You can also disable SubsurfaceScattering in the Water Inspector UI manually after initialization, and see if that affects performance and visual look, but it is weird that it gets brighter on your PC... which rendermode are you using? (I'm running with the DefaultQueue, but also tested with deferred rendering)
     
  14. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    491
    I have issues with the Projector Unity component. The water is under the terrain, but the Projector component projects above the terrain. This is caused by the UWS asset. Could you fix this? Projectors project on mesh, not on collider.

    Projector.jpg

    ProjectorComponent.jpg
     
  15. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    473
    Sorry if this was posted somewhere already, but having an issue where reflections get cut off on the water. I haven't been able to find anything in the documentation about this kind of issue. On Unity 5.6.2f1 if it matters. If I move the camera to point more upwards then everything becomes visible in the reflections.
     

    Attached Files:

  16. Ttravi

    Ttravi

    Joined:
    Jan 22, 2018
    Posts:
    20
    I"ve got this strange flickering on ocean when moving the camera. What could be causing this?
     
  17. peng_zhang

    peng_zhang

    Joined:
    Mar 28, 2018
    Posts:
    2
    Anyone knows how to freeze the water?
     
  18. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    473
    It appears that the UWS dev hasn't replied to this thread in a month? Is he on a scheduled break from the project, or is there someone else to contact/email for support?
     
  19. Ttravi

    Ttravi

    Joined:
    Jan 22, 2018
    Posts:
    20
    If you get a reference to the Water component and set the variable "time" manualy you can freeze the water. However if you want to set it in motion without resetting it's time (assigning -1 as it's value) you I'll have to take control of it's update adding the Time.deltaTime manually on your own script Update cycle.
     
    HXCMAN likes this.
  20. peng_zhang

    peng_zhang

    Joined:
    Mar 28, 2018
    Posts:
    2
    Thank you! I'll give it a shot
     
  21. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    473
    Has anyone else had cloud builds start failing after adding UWS to their project?
     
  22. Aress28

    Aress28

    Joined:
    Dec 12, 2015
    Posts:
    58
    hi i have 2 project in one where i fixed this water in other i cant fix...i dont know what i exactly done in first project to fix this water....the thing is when i turn the camera i can slowly cach the normal water look ...but when i just turn camera it keeps change whater from little normal to this lets say very light blue collor some times....and cant figure what is causing this...

    EDIT: Ok i find out that that blue effect is only on Strong Breeze Profile other profiles are okey.
    And Fixed Strong Breeze Profile to by setting Isotropic value in Profile settings from 4 to 1
     

    Attached Files:

    Last edited: Apr 1, 2018
  23. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    932
    yeah, nothing changed on GitHub either. It seems they are letting this die slowly with all the bug reports piling up.
     
  24. Aress28

    Aress28

    Joined:
    Dec 12, 2015
    Posts:
    58
    there is 3rd devs comming that will take over the project and will cash in again ...just prepare your VISA or Credit Card....
     
  25. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    19
    How do you know?
     
  26. Napoleon_Blownapart

    Napoleon_Blownapart

    Joined:
    Jun 22, 2016
    Posts:
    1
    because it was April Fools... but creat327 i think nailed it. Seems dead..... which is too bad for the high pricetag
     
    Funkeys likes this.
  27. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    1,456
    I'm seeing artifacts with some instanced direct rendered mesh trees. The white vertical lines that you see here.
    upload_2018-4-6_13-18-8.png

    Shader is the standard shader.

    Played around with every setting I could think of not just with the water but other stuff in the scene. The only thing that made a difference was the anti aliasing. Using TAA reduced the artifacts to not nearly as noticeable, although that's not an option really.

    This is linear/deferred on 2018, although I had the same issue on 2017 also.
     
  28. Lohrion

    Lohrion

    Joined:
    Aug 16, 2013
    Posts:
    106
    Not only for the high price tag, but also for the promise of continuing this asset, which evolved from Playway. This promise was not given *that* long ago...
     
  29. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    There's been an easter holiday in certain countries (the Final IK creator was on vacation for example).

    I'm giving the maintainer's the benefit of the doubt, because as been mentioned, it wasn't a very long time ago they took over this asset and there was an upgrade price to be had for continued support as well.
     
  30. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    When using a water subtraction volume, I'm seeing that shadows from direct light float in mid air on the invisible subtracted water surface inside of the collider mesh. Am I doing something wrong or have I discovered a bug?
     
    Last edited: Apr 10, 2018
  31. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    491
    Is it a reason for a refund? Even if the water would work well yet, without supporting developer, I would drop this asset. If I build up my game based on this water and the shader has errors, I'm not sure that I can fix that.
     
    Funkeys likes this.
  32. Lohrion

    Lohrion

    Joined:
    Aug 16, 2013
    Posts:
    106
    If that would be the case, fine. But three weeks without any form of support is something customers should be informed about. Partel let everyone know, and nobody is wondering in the Final IK thread if they have been ripped off or not.
     
  33. DaanPol

    DaanPol

    Joined:
    Jul 11, 2017
    Posts:
    10
    I have been playing around with UWS for a couple of days now and have gotten some great performance out of VR. In VR things up close need to be high detail, things far away can be very low res because the resolution of the goggles isn't high enough to 'see' these things. If you are slightly above water level you can lower the water detail rather quickly without it impacting the visual quality.

    I have noticed that setting the overal quality to 128x128 works fine if you scale down the water scale and time by half. That way there is more tiling, however you can not see these tiles at all. Gained 30fps that way. Also the reflection settings impact the quality a lot. If you use a slightly blurry reflected specular and reflection you can turn down the reflection resolution a LOT to gain another 20fps. Looks better too. A final thing I noticed is that I can fake an extra SSS effect to the tops of the wave by using a foam shader with a slightly lighter color than the base color of your waves. If you then let the foam refresh quickly the waves will have this really cool light scattering effect that looks very convincing in VR.

    Also not using any high precision normal maps or high precision calculations makes everything quicker as well. I have a 4 million poly scene with super high fidelity water all around me and it runs locked in 90fps VR with 8xMSAA without any ASW hitting on a 1080Ti.
    screen.jpg

    I am REALLY happy with this plugin! I have tried to make the Open Ocean Project work on Unreal and never got this far.

    Also I am really loving the transition to underwater!
     
  34. DaanPol

    DaanPol

    Joined:
    Jul 11, 2017
    Posts:
    10
    Here is the foam SSS effect I was talking about: screen2.jpg

    In VR it somehow triggers this feeling of the waves looking real.
     
  35. KarelA

    KarelA

    Joined:
    Dec 30, 2008
    Posts:
    404
    Thank you for this fantastic post with tips and tricks. I was already using some of them on my own vr project but your water looks way better than mine. Will send you a PM.
     
    Moonlit-Games-Studio likes this.
  36. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    These are the kinds of tips I was hoping the developer would respond with. We will try them immediately, because for us, UWS has been quite a resource hog so far.

    I'm guessing it's too much to ask for you to produce a VR preset of the settings you use?

    Also, the 4 million polygon, is that a mesh level or at Unity rendering level? Our meshes are around 4 million, and we can go up over 12 the way Unity calculates it at times.

    I've begun experimenting a bit more now, and seen improvements, but as soon as you remove planar reflections, the water becomes very flat. Also, we can't find the time settings (only found "normals tile speed" which did not seem to make any difference), nor how to blur any specular reflection (are you talking about reflection probe use)...
     
    Last edited: Apr 11, 2018
  37. DaanPol

    DaanPol

    Joined:
    Jul 11, 2017
    Posts:
    10
    Hey No problem.

    I am really enjoying myself with this plugin. I decided to share my settings (reminder, these are settings for VR and for a low perspective on the water). You will need to play with the water resolution between 4x128x128 and 4x512x512 to keep it within performance levels desired.

    My water profile (Made for VR with the SSS trick and the performance optimizations):
    settings_1.PNG
    settings_2.PNG

    The water game object settings (more performance optimizations, forgot to mention that I disabled any high precision in the Gerstner/FFT tab):
    water_settings.PNG

    Also if you keep running into performance trouble, try setting the Spectrum Type from Unified to Philips. That creates different waves that require some windspeed tuning but render a bit faster.

    And if you want to download the water profile check it out here:

    https://mega.nz/#!EpVTVSBT!DSHiW_PRHJAqPI-hgRwoWsV9YkZ9d9ZTclExeLD01OU

    Good luck everybody!
     

    Attached Files:

    seanybaby2 and John-G like this.
  38. DaanPol

    DaanPol

    Joined:
    Jul 11, 2017
    Posts:
    10
    The 4 million is the amount of quads I imported. You can set the resolution of the planar reflections. The rougher your sea, the lower res planar reflections you can get away with :) . I set mine to 0.2 in Beaufort 3+.

    The Waves frequency scale is what I am talking about.

    Good Luck!
     
  39. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    238
    Wow, thank you so much for posting this!

    I tried it, but weirdly enough, I don't see any performance gains from it. Literally zero. Still between 3-4ms of render time (WaterCamera.OnPreCull alone).

    However, if I disable the planar reflections, the render time drops to 0.3ms. Unfortunately, the water also dulls down significantly and a dark shadow appears in the opposite direction of the sun (even though I have shadows on water disabled):

    reflections.png
    With planar reflections, 3-4ms frame time.

    reflections2.png

    Without planar reflections, 0.3ms frame time.

    I will continue to experiment though. Feels like a big step in the right direction anyway!
     
  40. DaanPol

    DaanPol

    Joined:
    Jul 11, 2017
    Posts:
    10
    Try setting the wave resolution to 4x128x128.

    I tuned these settings specifically for VR use and manage to hit 90fps+ constantly. Weird though, maybe the flatness of the water can be countered by a nice Sky?
     
  41. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    932
    and the dev is still missing in action...
     
  42. MCPGNZ

    MCPGNZ

    Joined:
    Sep 29, 2016
    Posts:
    41
    Hi

    @RandAlThor
    Water can be used in the multiplayer game. A do not know exactly what do you mean when asking about performance with many players - each machine will render water separately so the overall performance should not change.
    There shouldn't be any problems using it with procedural landscapes.

    @angel_m
    There are many possibilities to scale down the performance requirements (mainly things like planar reflections, max vertex cound, spectrum resolution - you can read about it here)

    @ftejada
    Hi, did you try updating the UWS to the newest Unity version? Does the problem still exists?

    @Stickeyd
    Hi, you can modify the water displacement (but only graphically - the physics/water height will not reflect the changes)
    You can open WaterProjector scene and change the WaterProjector type in the Decal object to Displacement as seen on the screenshot below, additionally you should modify the displacement material values (visible in the screenshot too):

    decals.png

    @mariamism
    Hi, the UWS still has some problems with VR, those along with the Opengl are a priority. But for now i cannot guarantee any concrete dates unfortunately.

    @mkgame
    I'll look into this, you can add this to the issues list here.

    @Ttravi
    Can you provide to me some sample scene, or how to reproduce this problem? (It would be easiest to move this conversation to the github issues).

    @phen_zhang
    I've send you PM with explanation and sample code

    @snacktime
    Do the artifacts only appear with instanced meshes?

    @ekergraphics
    Does the scene you've posted has reflection probes setup?
     
  43. ForgedChaos

    ForgedChaos

    Joined:
    Jan 31, 2014
    Posts:
    48
    @MCPGNZ Any word on the above? It's an important issue and we need it addressed.
     
  44. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    19
    @MCPGNZ

    That's really great! Solves most of my problems. Thank you!

    But what if I want to make more complex effects? For example, a wave that breaks and covers the enemy. It will be not enough to just have a displacement texture and manipulate it for such effects. Should I edit the compute shader or something? Dynamic Water scene probably does something like it.
     
  45. chainsawpenguin

    chainsawpenguin

    Joined:
    Sep 28, 2014
    Posts:
    68
    For the water drops effect when transitioning from underwater to above the surface, the slider is constrained to 0.95 - 1, and upon a little digging I found that this value is multiplied by 0.985 (giving an effective range of 0.93575 - 0.985). No matter what value the slider is set to, it takes about three seconds to completely clear the screen. Can you give us a wider range of values that will work? I'd ideally like to see from half a second to five seconds as the selectable range (the former for gameplay, the latter for cinematics).

    Caustics are advertised as part of the package, but the word "caustic" does not appear in the documentation once. Can you give us some documentation on how to implement this?
     
  46. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    410
    Hi @MCPGNZ

    I think I already answered that question when I explained the problem to you ... (2.1.0b4)

    Can you tell me something, regards!
     
  47. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    1,456
    Ya. The trees are meshes rendered with instanced direct using Vegetation Studio.

    Hmm just double checked that, placed a tree manually in the scene disabled instancing on the shader, still see the artifacts.
     
    Last edited: Apr 17, 2018
  48. MCPGNZ

    MCPGNZ

    Joined:
    Sep 29, 2016
    Posts:
    41
    @ForgedChaos @emrys90
    I've tried to replicate the problem with Unity 2017.3.1f1 and Unity 5.6.2f1, Calm water setting, standard Unity terrain with all the WaterCamera render modes, and both settings for planar reflections in the ShaderSet, without success.
    Can you post recreation steps for this or PM me with sample scene?

    @Stickeyd
    Unfortunately, breaking waves etc. are not currently supported with UWS, and to create those kind of effects you'll need to fake it somehow (i.e. using particles on top of the displaced water). Dynamic water is not really solution here as the implementation relies on heightmaps (similarly to water itself) so you cannot "bend" the water this way.

    @chainsawpenguin
    Yeah, You're right. The easiest fix for this will be opening the WaterDropsIME script, opening Public Variables region, and changing the range attribute on the Fade variable. I'll fix the underling issue, but for now it will give you more control.
    upload_2018-4-18_18-46-37.png
     
  49. Eraxion

    Eraxion

    Joined:
    Jan 4, 2016
    Posts:
    25
    Hi,

    we´re using the latest version of UWS. Caustics is listed as a feature but there´s no word in the documentation. How does it work?

    Also how can one setup screenspace reflections to work? We´re using the post processing stack v2.
     
  50. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    19
    @MCPGNZ

    Thank you for answering.

    Is this feature(bending water, breaking waves) in plans? I have a long project and it would be nice to know if it will be done sooner or later