Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Ceto (Scrawks Ocean)

Discussion in 'Assets and Asset Store' started by scrawk, May 4, 2015.

  1. kittik

    kittik

    Joined:
    Mar 6, 2015
    Posts:
    565
    KDcybeR likes this.
  2. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    Ive seen a few definitions of Ceto but most seem to suggest she was a goddess of the dangers of the ocean and of sea monsters. Either way I though it sounded cool. The thing that got my attention was that she was the daughter of Gaia.

    Gaia is the name of a terrain engine I was working on which this was part of but I decided to split the ocean stuff off and turn it into a asset.
     
    Konst, kittik and John-G like this.
  3. sashahush

    sashahush

    Joined:
    Sep 5, 2012
    Posts:
    75
    Super happy to hear that you are making this an official asset! I've been using your basic ocean tech for prototyping for a while so this is a dream come true! Truesky support with this would be stunning, keep up the fantastic work!
     
    Konst and John-G like this.
  4. Konst

    Konst

    Joined:
    Aug 26, 2013
    Posts:
    78
    My $$ ready
     
  5. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    No Naughty Dogs ocean paper??
     
  6. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    I only just got that yesterday from Lazygunn. Its looks great, dont know how I missed that one.
     
  7. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    They use a "Depth based reflection color". Have I missed something? That sounds like artistic nonsense for me.
     
  8. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Well the interesting part of that paper are the tsunami wave and ocean mesh cut (when the ship are upside down).
    Also for the ocean mesh they use almost similliar technique with the community ocean except they added the fixer ring mesh for the transition part
     
  9. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    Not too sure. Just read it but must have missed that bit.

    So just been doing the foam the last few days. Did say I was doing it a while back but got a bit distracted by other things.

    This is just the first attempt so things will change and develop a bit from here. Ive also got a few different foam types and methods in mind. Also there is no foam texture applied at the moment. The solid white ares will be textured at some point. The foam done so far is very cheap to compute. Its just based of the wave heights which is a pretty common method.

    Ocean19.jpg
    Ocean20.jpg

    Ocean21.jpg

    I also found this nice image in a article. Hoping to have all the foam types mentioned. Looks like a CG render. To crisp to be a photo.

    FoamTypes.jpg
     
    Teila, Karearea, John-G and 4 others like this.
  10. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    *FOAMS WITH EXCITEMENT*
     
    moure, LeftyRighty and hopeful like this.
  11. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Wow even as foam stands now, it's looking great.
    Finally an ocean that renders foam to the horizon and not just distance x from camera. :D:D:D
     
  12. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    Looking good. When are you going to be taking beta testers? I have a Rift and quite a few really nice ship models that are just waiting to give it a shot.
     
  13. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    You've got a feck of a lot of literature to get through from what I gave you aha, Naughty Dog's paper is pretty good, its not so much about physical accuracy however and more creating a very particular water effect with a very particular scene, like the tsunami isn't really something that can be used in a general scenario. They do some amazing stuff with water to suit their cinematic style, like the water level through the ballroom window bit in Uncharted 3

    A really good paper i linked which ill link again is related to wave generation but also surface behaviour which is almost always missing from water effects in games even the realistic ones are usually just normal map thingummabobs, its http://www.cemyuksel.com/research/waveparticles/ and i'm quite sure it was referenced by Naughty Dog too but has a fairly complete explanation on achieving decent 3D wakes and wotnot
     
  14. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    ND use that for the small wave generation isn't?
     
  15. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Yes I think it's used in the boat graveyard scene which iirc is what constitutes most of the Naughty Dog paper, its good for that small wave bobbing effect where the waves arent really doing much, and this is surprisingly undramatic for videogame water, but my favourite part about the approach is that it handles surface disturbances well, which is what ive been wanting to see in an all-in-one water simulation in realtime for ages
     
  16. Karearea

    Karearea

    Joined:
    Sep 3, 2012
    Posts:
    386
    I seem to follow all the same threads as you, @John G. That ocean is just begging for a Supermarine Walrus! looks amazing.
     
  17. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    That makes yourself, captmurphy and myself then :D
    Definitely looking at doing flying planes for my naval project down the road.
    So can't wait to get something like the Warlus taking off from a nice ocean.
     
  18. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    @hippocoder: lol, that sounds dirty.

    @CaptainMurphy: New Logo? Still to early to have a date for beta testing but things are moving along well. Have you on the list for beta testing.

    @lazygunn: Yes you gave me bit of information overload. I read the wave particle paper a few weeks ago and was thinking of implementing it in this project.

    @ddnharris: lol, I thought you meant a super large real walrus.

    John G.: I then realized that flying walrus must be a plane.

    Just some foam tweaks. Not sure if I like this better. Think I will leave it at this for now and move onto boat wakes. Will come back to it.

    Ocean22.jpg
     
  19. radimoto

    radimoto

    Joined:
    Aug 23, 2012
    Posts:
    257
    Can you please add me to the beta list? I will definitely pick this up once it hits the Asset Store. Cheers!
     
  20. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
  21. Karearea

    Karearea

    Joined:
    Sep 3, 2012
    Posts:
    386
    @scrawk : Said with tongue in cheek ;) I always quite liked the idea that a fairly lightweight, even rickety flying boat was named walrus. Back on topic, if there's a beta list, I'd love to be added to it.
     
  22. Rycons

    Rycons

    Joined:
    Nov 23, 2013
    Posts:
    31
    @scrawk Can't wait to see your implementation of boat wakes because very few assets currently provide that. Keep up the great work!

    If you ever need any additional Beta testers, we can make really good use of an ocean system.
     
  23. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Last edited: Jun 10, 2015
  24. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
  25. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    What is the minimum Unity version that you are targeting? Will this be Unity 5.x only?

    Any support for ocean ice or icebergs or things of that nature?
     
  26. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    @scrawk I am not sure what the foam looks like, but it makes me think of leopard print for some reason. The peaks appear to be far too solid white and the sections that are fading away are much too repetitive. The locations, however, look great. It is usually pretty easy to change the textures/maps of something once it is in the right place, but getting it there is the hard part.All in all I can't wait to see how it progresses.

    Speaking of foam:


    That is, by far, one of the best ocean simulations made for real time. I would love to get a chance to recreate that scene with this asset. To be able to finally watch a system go from calm seas to full on beaufort 12+ would be fantastic advertising. One of the biggest draws is the ability to run it in a non-rendering mode so that it can be used to send the current state to clients so that they are all synced up. That would be invaluable for some of the projects I have planned.

    @John G. is correct that no system gets even close to making realistic wakes/bow waves. As much as I would love a deforming surface, sometimes just being able to use something like projectors to make a good looking wake can be enough for high level games that don't get super close. There is a system I saw recently in Ship Simulator Extremes (annoying game, but pretty good water) that had the mesh deforming under the ships and even creating a bow wave lift for the ships that had bulbous bows as well as a split bow wave for those with cutter bows.
     
    John-G likes this.
  27. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    @CaptainMurphy
    You never will be happy with water till you can run complex CFD in real time on low end hardware. I'm working for 6 years on water for games now and you always will think about how you could improve it next while keeping the performance (in my case on mobile).

    When I see this I'm getting frustrated because it is still so far away:



     
    Last edited: Jun 10, 2015
  28. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    Thanks to everyone who have volunteered for beta tests but I have far more people than I need already.

    @longroadhwy: This will be Unity5 only. If it was in Unity4 it would be Pro only. No plans for any ice related things.

    @CaptainMurphy: Now you mention it it does look like leopard print. Im not to fond of how it looks at the moment. Decided to try a different method (see below).

    That NVIDA video is stunning. Good new is that the method they are using for the waves is similar (as far as I can tell) to the one I am using and Im pretty sure I can get the waves to look like that. The foam however is a different story. I have a fair idea how they did it (Conversion of Jacobi breaks into particles) but it would hard to do and costly.

    I can say with 99% certainty that this project will scale from calm conditions all the way to beaufort 12+ scale. There is still some work to do for the bigger waves to work but will start posting screen shots of that in a few weeks if all goes well.

    The bow wakes will deform the surface of the ocean. I already have this code set up. You will be able overlay anything onto the surface such as bow wakes, splashes, rouge waves etc. The ocean shader samples the wave height from a texture and this is independent to the number of overlays. It will always just be one sample for height, one for slope and one for foam.

    Will have a think about the non-rendering mode. Dont think it will be a issue.

    @John G.: Those links were helpful thanks. Hopefully my wakes will look like that.

    @VIC20: Maybe in 10 years everything will be done by fluid sim.

    So I couldnt leave the foam alone today. Not happy with doing it based on height. Decide to implement the method (Jacobi breaks) used in the white cap project. This may not be practical on lower end hardware but I need to set it up to see. Worst case scenario is that it can be a optional extra.

    This method just generates the foam where the wave would break and does not persist after that. Would need some more work but let me know what you think.

    I have a web player and I have made it so the camera can move. Just be aware that there are some issue with grid at the moment. The grid WILL move away from the screen sometimes and is worst when high up looking up. There is still some code that needs to be done.

    You can download it here or view it here.

    Ocean23.jpg
     
    elias_t, moure and John-G like this.
  29. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    Looks good, but a bit too much foam being generated for the sea state. For that much foam waves would be around 6 meters in gale force 7 conditions.
    But I do like the way the foam is coming of the back of the crests, it's coming along nicely.
     
  30. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    On my 580 the old white caps project was never a performance concern, still got several hundred fps and with a bit of configuring they could look amazing, so obviously I like that method, definitely worth considering as an option anyways
     
  31. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    Little problem on Mac OS X:
    Bildschirmfoto 2015-06-11 um 12.32.33.png
     
  32. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    I think the new demo looks really good, definitely coming along nicely. That method of foam generation is a lot better looking for the peaks. Once you can get those foam pieces to fade down the back of the wave then you are going to be doing better than pretty much any other water out there. It might help to have some sort of frame of reference to it for now like a very tall 1x1 unit box that we can see. That way we can see whether these are really small waves with lots of foam or actually really big waves that are moving fast. As for being 'too much' foam, our bay locally looks like that in about 30kt winds. Really short waves and a LOT of peak foam on it. It is going to really depend on getting some scale in there to know how the waves are moving and then it will be easier to see if the amount is a bit too high.

    Are you planning to manage the water through just a wind speed component with maybe a speed factor and handle all of the generation or are you going to expose the parameters so the user has to select the matching states? Suimono has a need little preset function that lets you define certain states and then lerp between them. Maybe something like that could work, even if the states are hard coded in.
     
    John-G likes this.
  33. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    @John G.: The foam is a overdone a bit. I have the waves choppyness set a bit to high.

    @lazygunn: Good to know performance is ok on older cards.

    @VIC20: Thanks. will look into it. Did the previous web player work OK?

    @CaptainMurphy: The waves there are about 2m high.

    There will be a wave condition script with settings like wind speed, choppyness, wave age, sea color, foam color etc.

    Each script has a beaufort level and you can have one for each level you want. The ocean script then has beaufort scale and this just lerp's between the settings on your condition scripts.
     
    John-G likes this.
  34. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    @scrawk at high up and looking forward/up it looks like the projected grid (that is what you are using, right?) is getting cut off ahead of the camera frustum.
    http://puu.sh/ikRwn.png

    Also, from high up and looking down the waves don't have a definite direction pattern. It almost looks like a repeating fractal type of noise with starting points where the waves seem to start from and go in several directions until they fade out.
     
  35. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    There is something that does not look good (a brighter part with hard transition) - hard to tell if it is an error or just how it looks. But the performance of the old player is extremely bad. On my Mac mini 2011 (2,5GHz i5, 16GB RAM, AMD Radeon HD6630M) it runs at average 15 fps.

    Bildschirmfoto 2015-06-11 um 18.47.10.png
     
  36. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    The Ceto 3 demo runs at 30 fps (is it capped?).
    It generates a different visual error sometimes when you reload it - looks like it is accessing memory garbage instead of texture data or it can't handle the precision or whatever in the shader.

    Bildschirmfoto 2015-06-11 um 18.47.04.png
    Bildschirmfoto 2015-06-11 um 18.46.59.png
     
  37. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122

    Getting the same here, also if you rise the camera high enough the ocean is not rendering to horizon, distinct gray bar between ocean and sky (gets larger the higher you get), Possible camera draw distance.
    As for the the waves direction that @CaptainMurphy mentioned, watching it very closely in full-screen mode.
    You can see that the foam in generating at front wave and travelling up to the crest and then down back of wave.
    So even though wave is travelling forward this has the optical illusion that foam is moving forward and backwards at the same time.
    Removing foam from front base of wave to close to top of crest would fix this (and would be more realistic to nature).

    Here is a good video showing foam in very rough seas


    You'll notice that the main foam is generally just if front of crest of wave and fades out as it travels down the back of wave.
    Whereas most of the foam in the Trough of the waves is streaks and not large splotches (you will get this in areas where the crest rides forward and collapses on to water surface below) as most water packages do, and generally fail in giving convincing foam depiction.



    The one at 6:40 is very good and shown what I mean perfectly.


    EDIT: Getting close to 200fps in full screen mode (59fps in windowed), but cant get screen captures for some reason only seeing a white box were the unity player is???
     
    Last edited: Jun 11, 2015
    CaptainMurphy likes this.
  38. Karearea

    Karearea

    Joined:
    Sep 3, 2012
    Posts:
    386
    Is the demo using USky? I think the render to horizon issue would be solved by increasing the scattering fog density and making the ocean plane larger. Looks good from here, I'm mainly interested in whether it holds up to high speed/ high altitude movement, which I could simulate to some degree using the controls.
     
  39. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    I was running the demo in fullscreen mode using full speed and forward to simulate view from plane, and it was amazing how well it holds up. This ocean is going to be amazing once all the kinks are worked out.
    Oh and the view at night, with the moon reflection over the ocean as you travel across the water at low altitudes at full speed is superb.
    (To enable full screen in unity web player right click and select fullscreen from the menu)
     
    CaptainMurphy and Karearea like this.
  40. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    @CaptainMurphy: The grid pulling away is a know issue and I mentioned it will happen when I posted the link to the web player. I just havnt got around to finishing some code that will fix that. The foam does have a repeating and no directional pattern. Needs a lot more work.

    @VIC20: The first one looks correct. The performance is bad because I had the settings up to high. Looks like the issue is with the foam method used.

    @ddnharris: Yep its uSky. Should hold up with high speed movement fine as there is no data that needs to be generated as the camera moves.

    Need to go back to the drawing board with the foam. I think the Jacobi break method has to many issues as is.

    Im going to take some time away from the forums and will have some new updates in a week or two.
     
    Last edited: Jun 12, 2015
    Karearea likes this.
  41. ddutchie

    ddutchie

    Joined:
    Apr 29, 2015
    Posts:
    7
    I played Dying Light this weekend and the water that Techland has used/developed (first game to use the Chrome Engine 6) is spectacular. I dont think I have ever seen better water in a game. From any angle, above and below, from crystal clear to muddy water.

    I was so inspired by their water that I had to write this post.

     
  42. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    I am not impressed by that water at all. It looks like a flat plane with some normals scrolling across it. There are no effects of the player walking in it, the transition from under/over was the only thing that even had a small semblance of interest. There are so many much nicer systems out there that this is about as simple as it gets.
     
    Konst and VIC20 like this.
  43. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    Want some impressive water? THIS is some nice looking water!

     
  44. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    That is some nice water. Cool looking game too. Looks like UE4.
     
  45. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    According to the wiki, you are correct.
     
  46. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    Funny how each engine has a tell. For this game they must be using light propagation volumes not just the UE4 light-mapping. Really amazing.

    Man. Seeing that water makes me excited and extremely jealous;).
     
    Last edited: Jun 16, 2015
  47. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    They give the waves a lot of energy with those foam effects, particularly the sprays, particle system I presume, along with the vivid blue colours it's a really nice look. Seem like tessendorf fft style waves too, so maybe scrawks effort couldn't be too far from that at some point.
     
  48. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    @John G.: Sorry, forgot to mention in last post (Just got to work and was in a rush) that the angry sea video was awesome . Not sure if you know but that is from a documentary called Oceans and is worth watching.

    @ddutchie: Thanks for sharing. The refraction colors look quite good.


    That Sea of Thieves video is stunning. Would be great if they release a video that just showcases the ocean. Makes me jealous too.

    I have almost two weeks off work and will hopefully be spending all that spare time working on this.
     
  49. scrawk

    scrawk

    Joined:
    Nov 22, 2012
    Posts:
    804
    Just been working on a foam trial script. You can attach multiple copies to a object and output a trail from different areas.
    So you could have one at the end of the ship like here and maybe another thinner two along the sides.

    Each script has a set of attributes such as texture, spacing, size, duration, spin, expansion, momentum, alpha and jitter.

    Ocean24.jpg
     
    Venryx, ddutchie, Konst and 8 others like this.
  50. sashahush

    sashahush

    Joined:
    Sep 5, 2012
    Posts:
    75
    This is looking quite stunning! keep up the great work! Can't wait for this to be released