Ceto has now been depreciated and is no longer available. Ceto: Ocean System.
Ceto brings advanced ocean effects to your game. From first person games where the ocean is just a back drop to fully interactive shipping simulations where the ocean is the focus of the application. Ceto has the ability to be customized to your needs.
There is also a manual that can be downloaded here.
Ceto requires a minimum of shader model 3 and is not recommended for mobile devices. Ceto does not work on some Android and iOS phones.
Features
Open source. All scripts and shaders included. No DLL’s or precompiled shaders used.
Ceto uses 5 shader key words. All can be removed if needed.
Edge fade around the shore line to provide soft edges where the ocean meets the terrain.
Caustics applied to all objects under the water automatically. No modification of the objects shader needed. All done cheaply via the ocean shader.
Uses a projected grid as the mesh to provide you with a infinite ocean plane while still retaining enough detail in the mesh for small scale waves.
Fast querying wave information (like wave height) at any location.
Wave generation is decoupled from the rendering. So If you need a server to just generate the wave data for buoyancy calculations and not render anything you can.
Wave generation using FFT. Option to run the FFT on the CPU using multi-threading or on the GPU. Allows the best performance options for your game needs.
Option for a range of spectrum types. Phillips, Unified or a mixture of the two. The choice of using between 1 to 4 grids for the wave textures. More grids means more detail but higher performance cost. Support for adding your own custom spectrums if required.
Ability to easily modify wave conditions in local areas using the overlay system. Mask out the waves near your shore lines, add foam trails to ships or clip away the ocean mesh for inland caves.
Ability to change waves conditions quickly. Go from calm to rough seas in a instant.
Uses Multi-threading for all performance intense operations. No blocking of the main thread.
Provides seamless transition from above to below the water with a underwater fog effect.
Uses a Custom BRDF lighting model so the ocean surface will look as realistic as possible.
I’m eagerly waiting for your progress in this project. Not just the graphics part (that already looks awesome) but also the simulation aspects (buoyancy, etc)
Hey there Luckymouse brought me here and told me that you’re developing a new ocean asset. What are your plans? Which features can we expect once you’re finished ?
I already use a version of the ocean you ported to Unity3D in conjunction with uSky but never had the time to add all those features such as foam, subsurface scattering and so on.
scrawk, hello! I admire your work! But I ran into a problem. In your examples, calculations of height, when a large wave height - there is out of sync position of the object and the waves. But I managed to find a solution - it was necessary to modify your method SampleHeight in WaveSpectriumCPU:
m_resolution - a Resolution setting from the settings of the Ocean script.
Also, in order to be able to use the high waves - it is possible to use the format RGBAFloat for m_map0 texture.
For the test, I used the following settings for Ocean:
I have done all these corrections in your project OceanSurfaceEffects_Indie_U5, since it uses the height calculation by CPU. My laptop does not support your later build a calculation by GPU, so I’m sorry if my edits remind slowpoke
Sorry for my english. I’m looking forward to the final version of your ocean!
@gbarnes : Dont have a feature list at the moment. Will have to see how things go. I have seen the AC link. I Dont think anything on that site would be a problem to implement and would expect the final ocean to be on par with AC’s ocean or better.
@hippocoder : Would love to have you as a beta tester.
@Arainami : Thanks, I will have a look into that. I did not know that Unity 5 has now added float and half formats to the Texture2D object. This is a real game changer and is long over due! Will update the project today.
Great to see you back working on your ocean. Once you got some foam in there if will look amazing. Following this thread as this is just what is been waiting for ages not being a coder, I need a good full ocean system that’s easy to implement.
Looking to create a ww2 naval simulation so this looks perfect fit that. Like hippocoder if you need a beta Tester, I would love to put it under my hammer and see what I can break :p.
Brilliant work once again Scrawk. With foam and perhaps buoyancy, this would be an instant buy for any project involving an ocean. There’s no shader as good looking as this available for Unity yet.
Are you considering support for realistic looking shorelines? as they would require some sort of distance-based transparency, that seems difficult to implement to me.
@Elecman : Yes, 12km should be no problem. There wont be any curvature though. The terrain engine Im working on is for personal use and wont be a asset sorry. In any case this project has priority.
@John-G Thanks. Will let you know when I have a beta version.
@Ahnuld : Not sure about shore lines yet. Will tackle that problem when I get to it.
Will be working on the underwater effects next.
First step, use the stencil buffer to mask of whats under water. You wont need to do anything to your shaders. The ocean code handles this. The image shows the stenciled area just fill with solid blue at the moment.
Next step, grab the screen and depth buffer and apply under water light scattering as a post effect.
Will it support realistic wave shape dynamics? Smaller waves seem to translate over the bigger waves, because of wind or current. And if you would follow the top of a bigger wave, it will eventually suddenly “stop”, only to be replaced by the one after it.
I have yet to see a simulation which nails this. Some of them have endless rolling waves (which is unrealistic), and some of them have just standing waves. Or a combination of both, which is still wrong.
Unfortunately it is hard to find a good video but I have seen it many times in real life.
I currently own (almost) every water sim from the asset store.
Bought Unity 4.x when it first launched and have been waiting for this moment ever since!
beta test approve me!
I tried throwing my wallet at the screen and it bounced off, landing near my keyboard. It did partially flip open so there’s that symbolic thing going on.
Shorelines, or rather how the sea meets the shore is usually a very hard thing, I guess simply fading the water near shallows would help in the meantime I guess.