Search Unity

  1. Unity 2018.3 is now released.
    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. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  5. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

Assets Hydroform Ocean Renderer [RELEASED]

Discussion in 'Works In Progress' started by Xix-Interactive, Feb 11, 2016.

  1. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    ASSET STORE LINK: Hydroform Ocean System

    waterShoreTwitter02.jpg
    waterTwitter.jpg
    seaFoamTwitter02.jpg
    sunsetOcean.jpg








    What makes Hydoform different from other ocean renderers is that it is entirely GPU based, which has many advantages:

    • Parameters (amplitude, frequency, speed, direction, wave complexity, etc) can be modified in realtime
    • It will pretty much run everywhere PC, Mac, Linux, consoles, etc.
      • *Note, not optimized for mobile, not recommended for that platform
    • It's lightweight, easy to integrate and it runs fast (image above runs at 1500 fps on Geforce GTX 660)
    • Truly infinite water, it'll always render to whatever your far plane distance is without any extra performance hit

    I've been a pro game developer for 20 years, about half that time in AAA and engine development. I've designed this to look great and run fast.

    ASSET STORE LINK: Hydroform Ocean System

    Stay tuned on this thread for latest news and updates!
     

    Attached Files:

    Last edited: Jun 30, 2017
  2. NikProductions

    NikProductions

    Joined:
    Oct 29, 2014
    Posts:
    95
    Woah, really nice! It looks alot better than most solutions on the asset store.
     
    Xix-Interactive likes this.
  3. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Thanks much! More good stuff to come!
     
  4. Dark_Tiger

    Dark_Tiger

    Joined:
    Oct 21, 2014
    Posts:
    32
    That looks absolutely incredible, will you be putting this up on the asset store?
     
    Xix-Interactive likes this.
  5. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Thank you, yes it will be in the store in a few weeks!
     
  6. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    532
    Looks great. Especially like the simulated subsurface scattering in the unlinked second pass video!
    A few questions:
    1. Is it all PBS-ey? (technical question, this ;-) )
    2. Does it do cresting waves? (tips toppling over)
    3. Will it handle views from below the water (like Ceto, etc)? (not vital, just curious)
    4. Can one get height infomation (for bouyancy calculations, etc)? (I realize this might be hard if it's on-GPU.)
    5. How smoothly do changes to the parameters get represented? (e.g. straight tweening of a value but see waves jumping around as phase moves too fast?)
    6. Can it handle / how to handle updates to area covered? (e.g. in a procedural world, one wishes to remove one area and add some more -- perhaps simply translating the GameObject with the mesh is sufficient if waves are based on global position?)
    7. Rough pricing expectation?
    Thanks & GL, Rupert.
     
  7. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Thank you!

    My responses:

    1. PBS-ey? Not sure what that means
    2. Sorry, no cresting waves
    3. Yes, but probably not on initial launch
    4. Yes, I just simulate the shader in script for a getHeight() call, so bouyancy calculations are possible
    5. Well it's all floating point, so you can do very smooth transitions in realtime. Changing the frequency might look a bit strange, but you could probably get away with it if it's gradual enough
    6. I'm not sure what you mean. The ocean is infinite and the waves are based on global position if that helps.
    7. I'm thinking around $50 on initial launch and increase the price as more features go in. Unity may have some input on this, so this is not concrete at all
     
  8. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Updated screen and video, added specular and subsurface scatter

    waterTwitter.jpg

    VIDEO HERE
     
    Eric2241 and Dark_Tiger like this.
  9. roryo

    roryo

    Joined:
    May 21, 2009
    Posts:
    1,237
    Wow - looks fantastic! Especially the translucency with the subsurface scattering.
     
  10. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,298
    Looks nice but some waves seem to go in the opposite direction.
     
  11. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    532
    Sorry, bad joking phrasing given everything these days seems to advertise "physically based shading/rendering" :)

    Yes, that's cool. So could have multiple non-infinite meshes? Or one mesh that is non-infinite? (the old 'terrain caves' problem springs to mind -- or does one need to solve with funky render order / operation things here for things like holes (static) and/or inside rowing boats (moving)?)

    Thx, Rupert.
     
  12. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Looks good - count me in as interested! What AAA games have you worked on? Always nice to see a pedigree!
    Hopefully will turn out to be the fastest solution.

    Questions:
    - culling it out for inland (ie perf/overdraw)?
    - lod?
    - SSR support (unity's maybe?)
    - support for lights or deferred?

    Thanks :)
     
    Last edited: Feb 19, 2016
    Xix-Interactive likes this.
  13. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Ya, they do in the video, that can be adjusted if you want them to go in the same direction. Opposite directions look good for smaller waves close to shore.
     
  14. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Yes, I could make non-infinite patches, "lakes" essentially that might work for holes depending on the case. I don't want to increase complexity or hurt performance by checking cases in the shader. For terrain caves, I would imagine occlusion culling or just a simple trigger that deactivates the ocean object would work well. Row boats could be solved with render-order.
     
    Arkade likes this.
  15. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Ha, well my AAA career was quite a while ago, if you are a shooter fan, the most popular game I worked on was probably Tribes 2.

    The biggest performance hit is the fill-rate, so if you are inland there won't be much fill, so it should be fine. You can change the wave complexity in realtime and I attempted an LOD system that reduced wave complexity with distance from the water plane and it made almost no difference, so I'm not sure it's necessary. The geometric waves do fade out in the distance, and you can set how far out they render. The quality settings are very granular, so it's easy to set whatever performance target you want, mostly by changing the vertex density, wave complexity, and the patch size.

    I would love to do SSR (screen space reflections I hope you are referring to), but it requires access to the previous frame's render. AFAIK there's no clean way to get that - you'd have to have the main camera render render to a texture and then somehow flip to it without doing a screen copy? I haven't looked into it too much, if Unity allows access to the last frame rendered, that would make it a lot easier.

    I'm not going to add lights to the water renderer other than the sun/specular. It should have deferred support however, so that should handle lights if you want it.
     
  16. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Thanks for reply! by SSR I mean the built in SSR effect over on Unity's bitbucket in beta at the moment. It's also available on asset store. It's a post FX so it doesn't require anything special other than your shader to support outputting smoothness so it can reflect.
     
    Arkade likes this.
  17. Lee7

    Lee7

    Joined:
    Feb 11, 2014
    Posts:
    136
    Xix, are you a Tribes fan?

    We are making a Tribes 1 inspired game (our Ski and Jet physics are almost exactly T1). It will be on Steam Greenlight by around the end of next week. We will be looking for additional team members after that time.

    http://i.imgur.com/Pz5ugVP.png

    Anyways, sorry to threadcrap, let me know if you are interested. I only brought this up because you worked on Tribes 2, were you a member of Dynamix? <3

    The ocean rendered looks AMAZING btw.
     
    Last edited: Feb 21, 2016
  18. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    It's post-fx but it requires a frame buffer (usually previous frame so there's no pipeline stall) to reflect - that's the hard part, getting that efficiently. Thanks for the info, I'll check it out, hopefully they have a good built in solution coming.
     
  19. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Ya, of course I'm a Tribes fan, that's why I went to Dynamix to work on the second one! ;) Good to hear you are modeling the physics on T1. The screenshot looks nice, good luck with the GL, what's the project name?
     
  20. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Got deep ocean foam going:
    seaFoamTwitter02.jpg
     
    Teila, snuoq and Elecman like this.
  21. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Whoops, forgot link to new video:

     
    Teila likes this.
  22. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,298
    Web player?
     
  23. Dark_Tiger

    Dark_Tiger

    Joined:
    Oct 21, 2014
    Posts:
    32
    Would be nice to see how it looks closer to shore, if you've done anything there.
     
    Xix-Interactive likes this.
  24. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    What's happening? could use a new ocean toy to play with. Specially if its super optimised :)
     
  25. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Not yet, but that's under serious consideration.
     
  26. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Ya, I have shorelines working; it's nearly done, I just have to do more testing and create a new island that I can hopefully release - my test island is using paid assets right now. Screens coming soon!
     
  27. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Happy to help test on various hardware, love the thought that this might be really quick.
     
  28. trialnterrorgames

    trialnterrorgames

    Joined:
    Feb 20, 2014
    Posts:
    57
    Does this work on spheres? Looking for an ocean renderer for planets, and most only work on planes...
     
  29. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Awesome, I do need some testers who have Mac or Linux, let me know!
     
  30. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    I have PS4 dev kits coming out of my ears, does that help? :)
    Although if it works on DX11 it should just work providing you're using SV_TARGET etc...
     
    JamesArndt likes this.
  31. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    It is planar, however I believe it could be adapted to work on a sphere relatively easily since the verts are procedurally modified in the shader. I am available for contracting if you would like that kind of modification.
     
  32. mensch-mueller

    mensch-mueller

    Joined:
    Nov 25, 2014
    Posts:
    156
    Hi
    I´m on a Mac, if that helps! By the way, looked at this thread since the beginning and your water looks marvelous! I hope its the same on Mac ;)

    Cheers
    Michael
     
    Last edited: Mar 9, 2016
  33. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Yes definitely, I'll be in touch when I'm closer to launch!
     
  34. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Thank you very much! Yes it should look the same on all platforms except mobile, where I'm going to have to cut down wave complexity.
     
  35. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Sweet - I should be doing more on device tests from next week onward. Looking forward to what you get up to. I adore nice effects and nice things, but when I buy them, I end up not using them because they're way over budget in a real world game scenario - something I hope your system will avoid :)

    Did you do some thinking about shore lines or lakes or rivers and whatnot or is that out of scope?
     
  36. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    I really built this as a practical ocean renderer that looks great, but performs well for real-game use. I definitely do not want to release a pretty, but useless asset! It's highly granular on the quality level so you can hit whatever performance target you've got. You could easily set up different quality profiles for games too, ie (low, medium, high).

    Shorelines are pretty much done, I'm just working on a new island to show them off better. Lakes are a maybe, rivers are out for this asset. I've got an idea for a river-specific asset that I think would be pretty great, but I want to see how this one does in the market first.
     
    Teila and christoph_r like this.
  37. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Sounds good! Rivers do seem like something that would be a separate asset, ie being able to do a low res vertex based flow map around rocks and whatnot.
     
    Teila likes this.
  38. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Yo! any updates?
     
  39. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    If it is up to Hippo's standards, I will buy it too. :) Also, a river asset would be most welcome. I know dozens of people who would buy that. :)
     
    hippocoder likes this.
  40. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    Hold on, I've got a stalker! a welcome one but still :D my needs might not always be quality driven but they will always be performance driven ;)
     
    Teila likes this.
  41. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    Exactly! That is what I need. I want something that is fast. Pretty is just an extra at this point. Lots of pretty out there, but not a lot of fast. :) I trust you to give an honest opinion once you try it.
     
  42. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Sorry I've been crunching on another project so I haven't had time to get more work done on this. Hopefully I'll be back on it next week.
     
  43. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Just curious, what platform and target spec are you guys targeting? It would be good to know if I do another round of optimization.
     
  44. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    PS4, but you know PS4 is busy with the thousand npcs, the whole city and surrounding island as well as the compute shader sky. So I guess "as fast as possible" qualifies.
     
  45. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Ok, so that would be comparable to a good PC GPU - it should perform well on there.
     
  46. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    PC, DX11 although DX9 would be fabulous. :) I have a Nvideo Geforce 970 graphics card but would like it run on a newer i7 or i5 laptop with the newer intel graphics cards if possible, even if that means reducing quality a bit through a player preference panel. I don't expect anything that looks great in DX11 to look as great on a i5 with intel integrated graphics.

    My target audience will be people who might not have the top of the line system but probably not far behind. Oh, and mine is a small MMO or a large multiplayer, depending on where you gut the numbers of for each. :) So would like 500-1000 players.

    However..I doubt your ocean would have to have deep water quality close to shore, and offshore will be only in small boats with a handful of players/npcs. So not entirely worried about that. I don't know if it is possible, but would LOD's be useful for a water system?
     
  47. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Thanks for the feedback! I might be able to hit DX9 if the wave complexity is reduced and some loops unrolled. I'm not sure if I can do that cleanly yet, have to think about it. I had it running about 60fps on my old i5 laptop with an Intel 4000, but I feel that's a little slow. I'm not sure what the settings were on the water with that, so I should go back and do some more tweaking to see what looks best on those low-end profiles.
     
  48. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    23,809
    So long as the optimisations for the low end do not slow down the high end, which can happen :)
     
    Teila likes this.
  49. Xix-Interactive

    Xix-Interactive

    Joined:
    Aug 26, 2015
    Posts:
    348
    Na, that will not be a problem, I'm more worried about keeping the code clean than slowing down the high end.
     
    Teila likes this.
  50. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,477
    That is great! I am with Hippo though, don't want to slow down the high end. :)

    Having this as an option will extend it usability though which would be very nice for you. Most of the water systems out there are somewhat limited, at least those that are not flat water.