Search Unity

PlayWay Water - high quality water system

Discussion in 'Assets and Asset Store' started by zuzzu, Oct 9, 2015.

  1. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    Here's something else peculiar, though I don't know what is causing it, it may be the lighting, it seems to be dependent on the direction of the camera.
    It's rather subtle though so I worried the camera would be unable to pick up on it, that worry was ungrounded as the camera didn't only capture it, it also made it many times worse xD
    https://dl.dropboxusercontent.com/u/6338532/ShareX/2015/11/2015-11-25_16-45-56.mp4

    But it seems to depend both on the direction of the camera and the distance to the ocean and probably also other factors.
     
  2. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    I'm going to improve spray later, but not in December. I personally think it looks good and shorelines and caustics would be more useful at the time being. I will fix the flickering particles bug though.

    I'm aware of this bug. It happens only on windy weather and I'm actively working on fixing it. Didn't made it into 1.1 though.
     
  3. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    Good to hear =)
     
  4. Plutoman

    Plutoman

    Joined:
    May 24, 2013
    Posts:
    257
    Thanks! You are quite correct. This whole procedural + underground aspect has made optimizations tremendously important (so much so, that, had I known how many performance complications would arise I might have chosen a different starting direction - too far in now though!). Got some time at least, though, before the performance truly matters.
     
  5. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    366
    I have the same problem, even though I have built an asset. Rebuilding Shader Collection doesn't help either. Is there anything else I'm missing?

    Also, what's required for the underwater effects to work? I've added Underwater IME and Water drops IME to the main camera, but nothing happens. No demo seems to allow the user to move around; thus I can't see whether the effect works or not.

    Lastly, the settings for turning on shadowing don't seem to work, or at least not as expected. See enclosed pic. Skärmavbild 2015-11-26 kl. 17.01.33.png

    Mac, 5.2.2p4, deferred rendering, HDR, Linear.

    (absolutely top-class water, though – love it!)
     
    Last edited: Nov 26, 2015
  6. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    889
    Sorry perhaps the question was ask before.

    Following situation. If you use the water shader with a coast or terrain and you want to simulate lite storm, then it seems you have mega irregular waves at the coast line.

    Is there any chance to define different areas where the wind/wave intensity is different, eg. in this case much lower?
    I think the asset would benefit from this feature a lot.
     
  7. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Underwater effect was fixed for Mac in 1.1. Shadow casting works fine on my side, possibly also fixed in 1.1.

    As of shader collections issue - that's odd and serious. I will send you the newest build - possibly it will fix all your problems ;) If not, I will look into this asap.

    Exactly my thinking ;) I'm going to work on this.
     
    kurotatsu and PeterB like this.
  8. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    Do you have a screenshot or anything showing what it looks like on Android ??
     
  9. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Mobile platforms are far from being production ready in the recent versions. I'm going to fix that soon.
     
  10. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    889
    Great!

    Are you able to comment about how you would implement different wind/wave intensity areas for the user?

    What I have in mind is to add meshes to a water manager script (mesh list) that define different intensity areas.
    Perhaps, you can use a texture or the mesh form slope itself to define the intensity in the specified area. I ask because we didn't use terrains that much.

    Any ideas about? ;)
     
  11. insiderrr

    insiderrr

    Joined:
    Feb 24, 2014
    Posts:
    50
    I was wondering, is this asset working with VR support ? most of the water shaders have issues supporting this, hope this one works well. It looks amazing !
     
    Elecman likes this.
  12. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    I'm still not sure, but I will remember to not make it depend on terrains.

    That's a good question. I will find it out and get back to you.
     
    Quatum1000 likes this.
  13. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    889
    Thanks a lot!
     
  14. richeytastic

    richeytastic

    Joined:
    Nov 28, 2015
    Posts:
    1
    I'm new to Unity and am building an app for some research I'm doing. Given what I've seen so far (your latest demo https://googledrive.com/host/0B7T1ueWoaaElZHZzOUtJdnNSdjg), it looks fantastic. Unfortunately, I've been unable to get the 1.0 version running properly on my AMD R290. I eagerly await version 1.1! Fantastic work indeed. Very well done.
     
  15. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Thanks! You may send me your invoice no. to get the latest build.
     
  16. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    I will have to wait to buy then since i'm looking for mobile..
     
  17. chubaski

    chubaski

    Joined:
    Nov 27, 2015
    Posts:
    3
    hello playway water community and producer,thanks for this amazing product, to be honest this product is everything i ever imagined in water system,i saw it for the first time in unity asset store and needed no conviction that this is the perfect solution,and i purchased it staright away,how ever i am have small difficulty with it at present which i believe is just a small adjustment but cant figure it out on my own,i followed all the instructions as was described in the pdf manual but when i hit play, the water is not really clear and there is a kind of hard pillars that looks like a sharp pillar of ice in the cave,please see the file i upload for this, how can i fix it. thank u.u can reach me on chubaski10@gmail.com
     

    Attached Files:

  18. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Thanks! You probably use AMD gpu. As far as I can tell, AMD windows drivers seem to have a bug which fills mip maps with NaNs under conditions, which are still not completely clear to me.

    Anyway, it was fixed in 1.1. I will PM it to you and you should be good to go.
     
  19. DenisM

    DenisM

    Joined:
    Dec 6, 2013
    Posts:
    62
    Hello. Im planing to use water for a 2d topdown game. How it looks from topdown on far distance? can you make a screenshot please.

    Is there reflection/refraction? and how they are achieved?
     
  20. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Here ya go.





    Edit: i had to adjust the camera x axis a couple degrees on the last shot, otherwise it showed odd artifacts.
     
    Last edited: Nov 29, 2015
    TeagansDad and zuzzu like this.
  21. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    It's fixed in the latest build ;) I will send it to everyone soon.
     
    kurotatsu likes this.
  22. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    Was there still a plan to release a standalone build of the demo scenes?
     
  23. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Soon. They will also get a substantial upgrade in performance and quality (including the weather demo).

    There was more release candidates of 1.1 than I expected and I have decided to merge some new stuff into it.
     
  24. DenisM

    DenisM

    Joined:
    Dec 6, 2013
    Posts:
    62
    In documentation there is a "planar reflection" field.

    Its achieved by second camera?

    Do you make charge back if your asset will not give me result im looking for? Our game is 2d-top down with a lot of transparency-fakes.

    I dont got any problems with unity default pro water.
     
    Last edited: Nov 30, 2015
  25. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Yes, it uses a second camera. Water shader tries to find a reflection on the planar reflection texture and if that's not possible reflection probes are used.

    I also hope to add SSR support in the near future. Unity is working on that recently, but it may still take a few months according to the roadmap.
     
  26. DenisM

    DenisM

    Joined:
    Dec 6, 2013
    Posts:
    62
    Seems you missed my question about charge back. Or you just dont want to answer?

    "Do you make charge back if your asset will not give me result im looking for? "
     
  27. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Relax, I've missed that one. Of course, I will.
     
  28. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Weird ... I was looking for water assets on the asset store today but didn't see this one. Came here through the thread about Gaia because someone mentioned it. Seems like I'm going to buy a third water asset tomorrow (unfortunately, the other two I've tried both didn't work too well). In other words: This looks extremely awesome - thank you for building it and publishing on the asset store!!!

    Do you by chance already test with Unity 5.3? One issue I ran into with one of the packages was that it somehow grabbed a camera from Scene A (my "manager scene" that also has cameras in it) and duplicated it into Scene B (the actual environment scene that does not have any cameras). This is of course something that can only happen in Unity 5.3 because that's where multi scene editing is introduced.

    Another issue I ran into (with the other package) was that a platform that uses the Standard Shader with Transparency would "melt into the water" - probably because of some incompatibility between the shaders. Given that your package is built on top of Unity 5 features, I guess this should not be happening here, right?

    Another thing that seems to be an issue with Unity 5 is that the reflections are always off with all waters (including the built-in one). This is especially apparent in VR because you do a lot of head turning. Have you seen in this and potentially even have a solution?

    In any case, this looks really awesome and I'll buy it either way ;-) ... realistic shorelines and rivers are kind of a top priority for me ... oh, and underwater stuff.
     
  29. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Thanks for heads up. I will download 5.3 right now and will let you know tomorrow.

    I've taken care of this ;) Transparent materials may however render incorrectly when seen under water as they don't write into depth buffer, but it's fixable in many cases.

    It was partially an issue in 1.0, but as of 1.1 rc4 that shouldn't be noticeable anymore as I do full reprojection.

    Edit: Still 100% precision is not there as that's doable only by raytracing. It's just as precise as you may get with reflection probes and planar reflections.

    Thank you :) Others have pointed out these things too, so I'm doing my best to improve on these areas.
     
    Last edited: Nov 30, 2015
    jashan likes this.
  30. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Bought it :) ... will try it first thing tomorrow morning.

    I'll also give this a try on PS4 (I just realised that I need to test this because it's a really different platform).
     
  31. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Thanks! I will send you the most recent build as the one in the store is pretty ancient right now. It was under review for 3 weeks ;)
     
  32. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Seems to work well with 5.3. Some minor stuff isn't right in the sample scenes, but nothing related to water itself.
     
  33. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Awesome, thanks!

    Three weeks sounds pretty long - it happened to me in the past that packages simply got stuck and never got reviewed so you might try contacting the asset store team about it ... or re-submit (one time, I waited four weeks, re-submitted and one or two days later the update was online).
     
  34. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Wow! This water is the bomb!!!

    I've just tried it in the HTC Vive, with violent storm and actually almost got a little sea-sick. Very impressed! With violent storm, I had to turn down the quality settings and still had a few missed frames (and this is on a i7-5820K @ 3.3 GHz with a GeForce GTX 980 Ti ... our "hardcore demo machine"). But definitely quite awesome! And this was in the editor (which eats up quite a bit of performance).

    I found water ... at last ;-)
     
  35. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Sorry for spamming the thread - final posting for now (I'll edit this one once I've done a test on PS4):

    Turns out there is an issue with Standalone builds when using the SteamVR integration. It could be that I've set something up in the wrong way but it does work just fine in the editor but breaks in standalone builds. Without SteamVR (when just using a normal camera), this behavior does not occur. With SteamVR, the area where the water should be rendered looks like only half the triangles. See also this video which shows both, the scene running in the Unity editor (5.3.0f2) and then a standalone build:

     
  36. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Thanks for the kind words! :)

    You probably just need to build a shader collection for your water:



    If that doesn't help click "rebuild shader collection" from the context menu.

    That's weird! I'm running it on far worse machine and I get stable 60 fps on Fantastic. Could you check in profiler what's the cause?

    Edit: One more thing - what's the display resolution? Is this 4k?
     
  37. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Unfortunately, the warning from your screenshot does not show up in the scene. Basically, I just took your sample scenes so I guess this was already taken care of. I also tried "Rebuild Shader Collection" but that didn't change anything.

    Should these show up in the player settings under Preloaded Assets?
    Just to be sure I have activated Preload Shaders - but I'm still seeing the same effect.

    I'm afraid there is something going wrong with what SteamVR does: They do some "special things" for rendering, among other things applying the distortion of the headset. So apparently there's still some incompatibility between PlayWay Water and SteamVR - at least when running in standalone. As mentioned before: The exact same scene runs just fine as standalone when I use a normal camera instead of the CameraRig that comes with SteamVR. And it runs fine in the editor with SteamVR - so hopefully it's not such a big thing.

    Regarding performance: 60 FPS would be every frame dropped - for the HTC Vive, I need constant 90+ FPS. The resolution is 2160x1200 but the image has to be rendered twice (once for each eye). So that means less than 180 FPS without HMD will usually result in frame drops. But it still works - I've just tried it with the island demo, again with a big storm. The only time when I'm getting framedrops with this scene is when I look at the palmtrees. So it seems that the Unity terrain engine is much more of a problem for performance than your impressive water ;-)

    Here's me standing on the little island demo with really stormy water (it's really scary when the water washes over you ;-) ):


    By now, I've also tried to test this on PS4 - but I'm getting quite a list of shader errors:

    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 30 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 34 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 38 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected ')' or ',' in function parameter list, found 'identifier' instead. Forgot a comma? at line 42 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 42 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected ')' or ',' in function parameter list, found 'identifier' instead. Forgot a comma? at line 76 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 76 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', attribute parameters must be constant at line 108 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', unexpected undeclared identifier 'R'. Did you mean 'abs'? at line 108 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 158 (on ps4)
    Shader error in 'DX11 FFT.compute': Program 'Butterfly', expected type specifier, but found 'identifier' instead at line 538 (on ps4)

    I can do a build but it doesn't quite run on the PS4: Basically, I just get a frozen frame.

    There's a few messages also printed to the console. It would be really lovely to also have this run on the PS4 ... but SteamVR / HTC Vive is much more important for me at the moment.
     
  38. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    May you try to build a regular Windows player?

    That's probably another bug in shader collection builder. I knew it will cause bugs in the future when I started implementing it, but main shader grew extremely complex and Unity was doing builds for 6-10 min without this. I will do my best to fix this today and will send you an update tomorrow.

    Ouch I see. I guess that at this resolution pixel shader of main water shader is the main bottleneck for GPU. I will do my best to optimize it over next week. I have some experience at this, did one 3d project aimed for iPad 2 ;) It had ridiculously low fillrate.

    Could you try using "Force Pixel Shader" on WaterWavesFFT? I think that should help. I will do my best to make this compute shader compatible with ps4 for the next release to get a few extra frames per second.

    Btw it must be cool to test that out on VR headset :)
     
    Last edited: Dec 1, 2015
    jashan likes this.
  39. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Yeah, those worked without any issues. So, I could do a standalone build with the SteamVR Camera Rig activated and your camera deactivated (which works fine in the editor) and it would show that weird behavior. And I could do another standalone build with the SteamVR Camera Rig deactivated and your camera activated and it would not show this behavior. So I think it's almost certain that it has something to do with how SteamVR renders to the headset.

    It's kind of an involved process: They render from two different perspectives (left eye / right eye) and then put the results into one big image on which they do some major distortions so that the distortion of the lenses in the headset is "undone". Plus they take this whole thing into what they call the "compositor" which then optionally adds overlays (e.g. when you're walking towards a physical wall in the real world ;-) ).

    I believe SteamVR does not use render buffers - but that's another thing I'll try (IIRC there was a setting somewhere in Water to make it compatible with other systems using render buffers).

    I'll give "Force Pixel Shader" a try but I believe first the shader compilation errors need to be fixed. I don't know much about shader programming but I'd assume there should be a symbol or something like that to disable stuff from being compiled when PS4 is the active build target.

    And yeah, testing the water with a VR headset totally rocks! With the ship demo, I actually almost got a little seasick and that was not due to the typical things that would cause motion sickness in VR (well, I guess that's debatable but my point being that this is intensely realistic) ;-)
     
  40. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    I've just tried that - but it didn't make a difference. One thing I noticed is that sometimes, this "effect" also appears in the editor (e.g. when opening up the project / scene) - but there, it disappears after a brief moment.
     
  41. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    889
    I'm asking me what zuzzu has todo with the SteamVR integration?
    This guys want so tell products. So they should get into contact with zuzzu and support him well.

    Jashan are you promotor for the valve products? You Spam this thread with any stuff that 1 of 20000 gamers own. I don't like this behavior.
     
  42. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    It's an environment that PlayWay Water will be tremendously useful for and while there's plenty of issues with other water implementations (I already like PlayWay Water way better), they all do work in this environment the same way they work everywhere else.

    So IMHO, the productive approach is working together to figure out what the issue is and fix it (it could be an issue in SteamVR, or PlayWay Water, or Unity ... or any combination ;-) ).

    I'm not affiliated with Valve but they do have by far the best VR integration into Unity that's currently available and VR happens to be the target platform that I purchased PlayWay Water for.
     
  43. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    That happens when water didn't set proper keywords on its material. As you said, that sometimes happens in editor for a second after opening a scene. I cannot figure out what connection may it have to VR support, but clearly there is some.

    A few people has expressed interest in VR support in this thread before so there is no harm done. You are right, however, in that it may take too much space and spam this thread out. We will continue this privately and I will simply inform others here when all issues will be sorted out.
     
    jashan likes this.
  44. KyleOlsen

    KyleOlsen

    Joined:
    Apr 3, 2012
    Posts:
    237
    I have some questions about applying this system to a voxel world. We have liquid meshes that have the ability to flow and constantly change the shape of their mesh. Would the custom mesh support of this system be able to cope with a dynamically updating mesh generated completely at runtime? We don't need any support for flow maps or the likes, we're more just after nice rendering water that plays well with any kind of lighting setup.
     
  45. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    As of now main shader is optimized for flat meshes like for lakes, puddles etc. If you will apply it to a sphere or cube, it won't look correctly.

    There is a second shader for non-flat shapes, but it's used internally right now and it may take few weeks before it will be useable in a general use case like yours. I'm working on this at the moment (in between bug fixing).
     
  46. KyleOlsen

    KyleOlsen

    Joined:
    Apr 3, 2012
    Posts:
    237
    Thanks for the quick response! Just to confirm on the dynamic mesh part of the question. Our water meshes are constantly updating and changing shape while they flow, would we also be able to use this system with highly dynamic meshes? I understand that currently it has issues rendering on non-flat surfaces, but in the future would you see this system coping well in our extremely demanding situation?
     
  47. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    514
    I'm considering purchasing this product which looks awesome by the way but due to the higher cost i really need more details on this product first :-
    1. Does it fade on shorelines with foam (build time or runtime computed?)
    2. Does it transition out of water with any effects?
    3. Any splash for a player entering the water?
    4. What kinda buoyancy setup does it have for ships boats etc?
    5. Does the subtractive volume work entirely under the water like for submarines?
    6. What kinda frame rates are we talking about for a standard nvidia gtx 650 card?
    7. How difficult is it to add wave effects such as helicopter rotary style wave formations
    8. Does it perform well with image effects such as atmospheric scattering. Bloom always used to blow out with suimono water system. Whats bloom like with playway water?
    9. Can multiple ponds, rivers, oceans be setup in one scene (terrain) with this product using any flat shape mesh? I know that custom meshes in suimono had issues with the UVs does this product also?
    10. Whats the roadmap plan look like for this product?
     
  48. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,371
    I am interested in good VR support also.
     
    jashan likes this.
  49. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    If your meshes are modified solely by scripts using a Mesh class (not in vertex shader), then it should work. Right now there is no reason to buy, however, with such use case in mind. I will let you know, if I will manage to make some progress on this.

    1. No, but I'm implementing this for the next update (1.2), planned for the end of this month. It's requested very often.
    2. Yes. Look at the weather demo.
    3. No, but it is also in the works. I'm actually doing this for a few months in one of my projects. You may easily detect entering water in your script and make a custom effect. WaterSample class lets you asynchronously compute water displacement at a point.
    4.
    upload_2015-12-2_10-43-55.png
    5. Works in all cases.
    6. Play the demos.
    7. Pretty tiresome as of now. You would need to render into water's local displacement maps, by implementing interface designed for this. I'm adding wave emitters as of now, by a user request. It will be child's play after that.
    8. I use Scion bloom in all my demos and it works fine. Atmospheric scattering - depends on implementation, may not work in some cases, but for now it was easily fixable in all cases that I've got reported. You just need to remove "opaque" image effect metadata from them to make them work with transparent water.
    9. I'm ignoring uv data. You need to take care only for placing vertices in your meshes. As of multiple water objects - yes, I'm doing that in one of our games. We have ocean there and a boat with lots of fluids in many tanks. If you plan to add many water objects with wind waves, the best practice is to use one water object and add all your meshes to it for performance reasons.
    10. For this month: 1. Water enclosed in tanks/vessels/glasses and on non-standard meshes. 2. Shorelines. 3. Caustics.
     
    elbows, Seith, John-G and 1 other person like this.
  50. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Actually, it's an issue when combining PlayWay Water with SteamVR in Unity 5.3 (RC2). I've tried the same thing in Unity 5.2.3 and there, it does work. I've also filed this with UT, of course, because it ends up being a regression between Unity 5.2 and Unity 5.3. If anyone's interested, that's Case 749651.