Search Unity

SUIMONO - Customizeable Water System [RELEASED]

Discussion in 'Assets and Asset Store' started by chingwa, Aug 11, 2012.

Thread Status:
Not open for further replies.
  1. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi SevenBits,

    Well, My Dev machine is a pretty hardy i7 3.4 with 2 GTX 580's in SLI... this does not give you much information as this system can run essentially anything.

    Suimono does run well on normal hardware and even older hardware with one caveat... the dynamic realtime reflection component adds overhead depending on the scene you are running it in as it renders your viewing frustrum as a second pass. If you have a really complex scene this could definitely cost you as far as performance goes.

    Of course, this component is optional, and Suimono also supports static cubemap reflections in this case.

    You can give the web-player a go, and see how it runs for you...
    http://www.tanukidigital.com/suimono/demo/

    Of course this is slower than running on a desktop, but it should give you some idea of performance.
     
    Last edited: Mar 7, 2013
  2. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    I tried the web player, and it ran pretty well on my computer. Is it possible to see the cubemap reflections in the demo? I have very art-heavy scenes and throwing on water with so many effects just might propel the frame rate below my target...

    Very nice product by the way.
     
  3. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Thanks SevenBits.

    The cubemap is actually always running.... the cubemap included with suimono and in the demo is very basic though and just adds a subtle reflective effect... intended to compliment the dynamic reflection.

    the free version of Unity wont be able to do dynamic reflections... if you run the demo again, click on the "deep dark" preset, and then switch the mode checkboxes from unity pro to just unity, you can see some of the cubemap going on, though it isn't meant to reflect much in this scene here.
     
    Last edited: Mar 8, 2013
  4. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    Yes, I saw that when I ran the demo. The reflections were pretty good on a few, but on many of them, they just didn't look quite right without the dynamic reflections. It could be though because the scene is basic, so it probably would look fine in an actual game.

    I just wanted to add as well that I really like the ability to switch presets at runtime. That's certainly a bonus for me, especially going from winter ice to other water during a season change, and how the light changes depending on the ambient light of the scene.
     
  5. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    Is suimono water well suited for very large oceans ? I mean an Unity water plane scaled to 20000X20000 for example.
    Thanks
     
  6. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    You can scale it to any size without affecting performance. At that size the scale may be a bit off so you'll have to tweak some of the scaling settings but everything is exposed and easily customizable. Just be aware though that Suimono doesn't currently generate real 3D waves, so the ocean will look a bit flat. Real waves is a feature I'm planning to add in the 2.0 update.
     
  7. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    Ok, thanks, and is suimono already compatible with shader model 2 ?
     
  8. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Yes it currently supports shader model 2, but only in the basic version.... the full shader requires SM3. You can see the difference between the basic version and the full version in the webplayer, by switching between "Unity" and "Unity Pro" mode.

    Also of note, even though SM2 is supported on the basic shader, I have not done testing as far as mobile devices are concerned, so I don't support and can't officially recommend Suimono for mobile. It is designed for desktop / webplayer applications.
     
  9. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    You're probably better off supporting newer cards anyway. Supporting SM3 at least is the way to go. SM3 has been on most cards for several years now, after all.
     
  10. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    Hi,

    any rough eta on 2.0?

    tx,

    shwa
     
  11. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi shwa, 2.0 is still a little ways off. I have a new asset, yet to be announced, coming out very soon (unrelated to Suimono) so this has been taking all my development time. Once this is released I should be able to devote time to bringing the 2.0 features to fruition :)
     
    Last edited: Mar 22, 2013
  12. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    Cool.

    Looking forward to reading about your new asset.

    Curiosity is an interesting thing.
     
  13. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Thanks Shwa, won't be long now... All should be ready in a couple days :)
     
  14. Korok

    Korok

    Joined:
    Dec 19, 2011
    Posts:
    179
    I bought the pack it's great but sometimes objects drop in the water but no splashes and sound, how to avoid this? :)
     
  15. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Korok,

    Make sure any objects you want to interact with the water have a collider component AND a rigidbody component. Without some additional information I can't say why this is happening for you for sure, but that would be my first guess. The splash and sound effects require some sort of Physics interaction to take place between the objects and the water surface.

    You may also need to enable more forceful collision detection on some of your objects, on the object rigidbody try setting the Interpolation Setting, and the Collision Detection to Continuous...
     
  16. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    I have a feature request.
    I use UniStorm from Black Horizon Studios and it would be great i there where a solution in your pack when it rains to send a message from UniStorm to your Water and on the water there can be raindrops on the water surface maybe with the info for more or less drops.
    This could be added to the foam on the water too so when it is more windy there are more foam and waves.

    I think there is a solution from UniStorm to send a message but i could ask the developer.

    This will ad a little more realistic to the water at least the raindrop thing.
     
  17. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Rand,

    I haven't personally looked at UniStorm so I don't know how they handle their rain effects... but I'll get in contact with BHS and see what's involved. :)
     
  18. trumpets

    trumpets

    Joined:
    Mar 1, 2013
    Posts:
    9
    Hi chingwa,

    I've tried the SUIMONO water system and it does look really awesome, but when I change the build platform to Android there are a bunch of errors in the scripts :(

    Now, I've tried modifying those (it was mainly enforcing types to variables) but afterwards the code kept crashing whenever ripples where to be created and what is more disturbing is the fact that there are no ripples created at all when the water collides with the unity terrain :/

    Any hints ? I really need this to work with Android and it wasn't a cheap purchase :/

    Thanks!
    /ivo
     
  19. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    If you had read the OP, you would have read that it is not mobile compatible. Don't just assume that they're wrong and buy it anyway: read the damned thing.
     
  20. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Trumpets,

    Well, Suimono is not designed for mobile, nor has it been officially tested on mobile platforms. This is something I would like to change in the future, but currently I don't have the capacity to support iOS or Android, unfortunately. I do state on the asset store page that it is for desktop/webplayer only... but I'm sorry this has turned out to be a problem for you. Since you specifically are using this for mobile, if you contact the asset store I'm sure they will offer you a refund in such a case.

    As for the water/terrain collisions... Suimono is designed to interact with colliders and rigidbodies. The Unity terrain has it's own special (hidden) type of collision and thus they don't automatically react with each other. One way around this is to place rigidbody objects at points where the terrain intersects the water when you want their to be splashes. These objects can have colliders and rigidbodies, but no renderers, so they will be invisible and it will appear as if the water is interacting with the terrain ;)
     
  21. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Just a quick note to let you guys know that I've finally gotten PayPal payments, and instant downloads up and working on the Tanuki Digital site. This was a long time coming, but I'm happy to finally offer an alternative payment option for those who are considering purchasing Suimono.
     
  22. bastionn

    bastionn

    Joined:
    Apr 11, 2013
    Posts:
    2
    Hi.
    I just tried to drag the water module prefab out onto my scene with the water surface prefab on top of it. I tried entering underwater to test things out and apparently there are strange lines above as I look up. Any idea what the cause of it is?

    Here's a screenshot to show what I mean:

    $screenshot3.png
     
  23. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Bastionn, that's an awfully strange effect... a couple questions...

    1) are you using Unity free, or Unity Pro? and what is your camera rendering mode.. forward or deferred?
    2) make sure if you're using Unity free to set the Unity Version on the "WaterModule_quality" component to "Unity" instead of "Unity Pro".
    3) also double check that your scene camera is set as the main camera using the "main camera" game object tag.

    The other thing you may want to try is disabling dynamic reflections.... on the "Water_Surface" object you'll see a component called "water_reflection_mirror"... try disabling this component and then running your scene again and seeing if that has any effect on the lines.

    Let me know if any of the above helps!

    -Justin
     
  24. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    That's actually a cool way to do this. I guess that's a good alternative considering... cough cough... that Unity's terrain collider isn't open.
     
  25. Psyckosama

    Psyckosama

    Joined:
    Mar 20, 2013
    Posts:
    88
    Any plans to eventually reverse engineer any of pro waters functionality?
     
  26. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    I find I spend a lot of time in Unity hitting walls that really shouldn't be there... :/ The great thing about Unity is the openness of it all, but that just makes it doubly frustrating when you run up against something that is shut off from access, like certain parts of the terrain system, or certain parts of the particle system.

    Possibly. I "reverse engineered" the dynamic reflections in Suimono from the Pro Water... but it is also the poorest performing section of Suimono :( I've been looking at how they handle 3D waves, and I'm also looking at other implementations as well. Any specific features you're thinking of? :)
     
  27. Psyckosama

    Psyckosama

    Joined:
    Mar 20, 2013
    Posts:
    88
    I was thinking 3d waves myself.
     
  28. bastionn

    bastionn

    Joined:
    Apr 11, 2013
    Posts:
    2
    Thanks for the reply! It seems that if I turn the water_overlay inside WATER_surface off, it seems to eliminate the problem.

    I'm using Pro but apparently, when I switch the quality to Unity, it also solved the problem. I'm using deferred currently.

    As of now, it looks like this:

    $screenshot4.png

    Is there any way to reduce the green in it? i tried changing the colors in the shader component but each time I start the game it reverts back to the original colors.
     
  29. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Yes, this is because the water_presets component (on "Water_Surface") is overriding your custom settings. you have a couple options here, you can either turn off this component, or remove it completely, or simply set "water_system_state" to be "custom". This should allow you to then edit the look of your water anyway you want.

    This problem has been popping up for a while... I'll be changing this in a future update so it is at "custom" by default.

    I'm glad you got the line artifacts to go away, but you shouldn't have to revert to the basic "unity" version to do it. :( you could also try removing the "waterModule_quality" component entirely, and switching the water_surface shader manually to "suimono/water_full"
     
  30. VicToMeyeZR

    VicToMeyeZR

    Joined:
    Jun 3, 2012
    Posts:
    427
    After I have placed this into the world, and close unity. When I try to start unity it crashes. I deleted the folder from this from the project and Unity loads fine. This leads me to believe it is this causing it.

    I had 2 water planes loaded. Not sure if that's the problem or not.
     
  31. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Vic, can you give me a little more info, like what version of Unity you're running, whether it's Pro or Unity free...? I'll try and recreate this on my end, though it may be difficult to replicate. I haven't heard anyone else having crashing problems. I guess it could be likely due to Suimono and some other plugin conflicting with each other. Can you tell me if you have other plugins / asset store items installed in your project? feel free to email me at konnichiwa[at]tanukidigital.com as well, if you'd rather not post your project info on this forum.

    -Justin
     
  32. VicToMeyeZR

    VicToMeyeZR

    Joined:
    Jun 3, 2012
    Posts:
    427
    email sent. Thank you for the quick responses.
     
  33. ddsinteractive

    ddsinteractive

    Joined:
    May 1, 2013
    Posts:
    28
    Hello!
    I'm having a problem with the SUIMONO system flashing Pink on startup and also between scenes. Using the 'Unity' version.
    It appears as though it has lost the shader or is trying to dynamically load the shader between scenes. Help!

    Edit - you can see in the Assets that the mat_water_reflective is also pink in this screenshot.
    $Screen shot 2013-05-10 at 10.17.38 AM.png



    And both the shaders have an error? Have an ATI Radeon X1900 w/ 512MB RAM
    $Screen shot 2013-05-10 at 10.20.27 AM.png $Screen shot 2013-05-10 at 10.20.36 AM.png


    Cheers,
    Monica
     
    Last edited: May 10, 2013
  34. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Monica,

    So, just to clarify, this is happening only during scene loading, and when the scene is actually playing everything is fine?

    Usually the pink shader error is due to not setting the unity version state... by default it is set to the pro version, and therefore it automatically selects the "pro" shaders. To switch the version, go to the "Water Module_Quality" component on the "Water_Module" game object in your scene, then under the "Unity Version State" drop down menu, select "Unity" (instead of "Unity Pro").

    if you're already doing this then you can FORCE suimono to use the basic shader by removing the "Water Module_quality" component completely from the "Water_Module" game object... then on the water surface material drop down selecting the "Suimono/water_basic" shader manually. And then also on the "mat_depthShading" material, manually select the "Suimono/effect_refractViewDepthBasic" shader.

    I'm pretty sure this is what the issue is but if you still have shader errors please let me know!

    All the best,
    -Justin
     
  35. VicToMeyeZR

    VicToMeyeZR

    Joined:
    Jun 3, 2012
    Posts:
    427
    OP has been great for support. Anyone reading, you will not be left out to freeze with any issues.

    Worth every penny
     
  36. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Thank You VicToMeyeZR!
     
  37. Patheagames

    Patheagames

    Joined:
    Jul 19, 2011
    Posts:
    27
    Just a simple question, is there a way to make the shader do water moving in a direction like in a river?
     
  38. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Zede05,

    You can set the water to flow in any direction by changing the x and y UV scrolling attributes. In the case of a curvy river as long as the UVs of the river mesh are setup properly you can set the direction and it will continue to curve along the river... the below is a very quick and crude setup, but it shows you how the UV is setup and that the animations continue around the curve.


     
  39. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434

    Attached Files:

    Last edited: May 28, 2013
  40. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Bigkahuna, This isn't currently possible with Suimono... however I've actually been working on this type of "aquarium effect" for the 2.0 update. Hopefully I'll be able to show some screenshots and some updates on 2.0 in the next week or two. Thanks for your interest!
     
  41. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    Thanks, I'll be watching this thread for an update.

    Are you still working on adding an ocean surface to your products? I recall you announced this some months back but never heard any updates on this.
     
  42. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Yes that is still in the works as well... My ultimate goal would be to add a slide-able scale that simulates a range of water, from calm to massive ocean swells. Though, I've definitely run into some difficulties in trying to make this realistic, as well as performance friendly. Stay tuned though, I'll be detailing a 2.0 preview as soon as possible.
     
  43. Kofthefens

    Kofthefens

    Joined:
    Jul 15, 2012
    Posts:
    30
    I'm considering buying it, but I have 3 questions:

    1. How well does it work with Unity Free? You mention in the first post in this thread that it does work, but with the loss of some visual fidelity. Is the only downside visual, and how large a downside is this? (A screenshot would be wonderful)
    2. You mentioned buoyancy. Do things bob in the water?
    3. Are there wakes? If not, how hard would this be to implement?
     
  44. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Kofthefens,

    The difference in quality between free and pro is limited to the advanced render effects that Pro allows, so for example water refraction, dynamic reflection, and depth fogging will not work. This is all handled automatically by Suimono so you can setup your scene once and not really have to worry about changing it in the future if you ever upgrade to Pro. You can see somewhat of a comparison in the screenshot at the bottom of this post. The demo will also allow you to switch between Unity and Unity Pro to get an idea of the differences... check out the demo here: http://www.tanukidigital.com/suimono/demo

    Buoyancy is calculated for any object that has a collider and rigidbody, and you can also control it on a per-object basis by attaching a buoyancy script to those objects. This allows you to set buoyancy amounts to be higher and lower as you need them. you can see this in action in the webplayer demo, the main "character" has a certain buoyancy setting, but also you can instantiate little test boxes that have a lighter buoyancy factor by pressing the spacebar.

    There doesn't come with a specific wake effect (i.e. for boats etc). There is splash effects and a water disturbance effect along with ripples (check the demo)... these react to collider and rigidbody objects, and you could easily attach a number of these to a boat object to get a larger "wake"-like effect. You can also simply enlarge the water disturbance effect, and/or speed it up by tweaking some of the component settings.

    I appreciate your interest in Suimono, let me know if you have additional questions!

     
  45. Kofthefens

    Kofthefens

    Joined:
    Jul 15, 2012
    Posts:
    30
    Thanks to the speedy reply! It looks great.
     
  46. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    @Chingwa - Still think you've got the prettiest water available. ;)

    One question about the web demo, the waves seem to be refracting as they pass the curved shoreline, is this coded into SUIMONO? Don't know why I didn't notice that before but it's very nicely done.

    Also regarding boat wakes, I'm guessing that you're doing the splashes and ripples with a sequence of normal maps? If so, would it be possible to create more realistic boat wakes by changing these normal maps?
     
  47. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Bigkahuna, Thanks for the compliment :)

    Currently, the waves get wrapped around existing objects based on a flowmap texture that needs to be created per scene. This is done separate from the actual water surface, so they don't get refracted along with the below-surface refractions... though, for 2.0, I'm almost certain I have a good technique for automating this wave function (just a little more testing to do) and the waves should be integrated with the rest of the water surface.

    As for the ripples, yes they are calculated off an indexed/animated normal map texture. This can of course be replaced with a normal map of your choice. The current texture is based on an animating "ring" of ripples.

    For 2.0, I'm looking at techniques to do the ripples as actual geometry, along with ocean-type waves and shoreline interaction. I've coded some interesting prototypes, but they all have scaleability issues. I'd like to be able to do this without DX11 tessellation because I have a feeling most users aren't yet requiring dx11 for their projects, even though it's an awesome feature (and anyway Mac support would be out). Waves done exclusively with the GPU tessellation also creates problems when you need those waves to interact with the Unity physics system... this is less than ideal for Suimono which is why I've been looking into an alternative solution.

    Should have some previews up soon, hope everyone stays tuned!
     
  48. dbrian

    dbrian

    Joined:
    Jun 1, 2013
    Posts:
    32
    Chingwa, I love your work. Buying Suimono shortly.

    Can you tell me what ground textures or shaders you are using in your demo videos?
     
  49. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Thanks dbrian! The demo scene from the Suimono video is really old... I haven't even opened that project for some time. However pretty much everything in the video, textures, shaders, environment, etc I did myself. Was there something specific that caught your eye?
     
  50. dbrian

    dbrian

    Joined:
    Jun 1, 2013
    Posts:
    32
    Most everything about it. The vegetation, trees, texture color choices. That scene isn't included with Suimono, is it?
     
Thread Status:
Not open for further replies.