View Full Version : Best way to make an ocean effect?
Fardreamer
03-20-2002, 01:16 PM
I've been spending quite some time recently researching the ways oceans and sea shores are modelled in games. From simple texture tricks, to environment-mapped bump-mapping, to real-time wave calculation with foam and spray particle systems, there are many different beautiful and convincing ways to make a large body of water.
The effect I am after is the type of waves you get near the shore: waves that gather momentum as they move in towards the shore, till a certain point at which they crash into themselves, creating foam the dissipates and making the waterline advance a few feet onto the shore.
I wanted to ask for you opinions on making realistic oceans in the Serious Engine, considering the engine is so versatile. What is the most realistic method? What is the most efficient effect?
sh0dan
03-20-2002, 01:45 PM
I'd most definately go for particles, as I find that the motion is often more important than the pure look of it, and polygons always reveal themselves if you try to do watermotion with transparent .
You can actually do quite a lot by using the particleholder and modifying the parameters of the waterfall and the waterfall foam. However to get good breach-waves, I would probably recommend getting a coder to modify the particleholder entity.
An example is a moving speed-boat with particles to make water movements. There is a 'waterfall' type particleholder in the back (adjust the parameters and XYZ-stretch to make it fit). And there is a 'waterfall foam' type particleholder below the front.
Earthling
03-20-2002, 01:55 PM
Would a procedural model with some attached particles work? It would require some heavy coding, though.
Fardreamer
03-20-2002, 01:57 PM
I appreciate the input.
I am a coder, not a level designer :) But I don't quite understand how modifying the particle system would increase realism. It might be useful for the foam, but there is a whole other array of issues that need to be addressed... animated waves, light reflections, moving waterlines, etc. Those are more important, IMO.
Kenobi
03-20-2002, 10:11 PM
If you wanted realism and not tricks, you'd really have to go to the base and mess with the physics engine, I'm talking true calculations and giving the water some weight settings. If you don't want to go that far, advanced bumpmapping can work.
Fardreamer
03-21-2002, 06:56 AM
I'm after appearance, not realism. Whatever looks best and is most efficient.
Here's an idea, but it might involve things that aren't possible in the Serious Engine, so I'll be very happy if you voice your opinions:
A animated model of a water plane, textured with an environment mapping texture and with a waterFX texture. That would come pretty close to environment mapped bump mapping, as seen in Kenobi's screenshot.
I used two procedural textures(they're fun to play with in the editor) on top of each other to make a sea-like effect, but I too have no seashore waves. I don't think there's really a decent solution to this problem within the existing SS engine. Splitting it into a mass of triangles that bob around isn't currently supported, and generally looks ugly besides. The existing particle effects look nice but won't suffice for waves big enough to surf on(or sink ships with), not without some major reworking. A model of the entire seashore would be cumbersome and limited. Models for individual waves generated by entities placed by the mapper might work nicely, if the models are well-made and the textures bled together.
But the only true solution, I think, would involve simulating liquids. I don't know very much at all about that, and I'm not sure how well it would work in SS.
Kenobi
03-22-2002, 02:23 AM
Originally posted by Fardreamer
I don't quite understand how modifying the particle system would increase realism. It might be useful for the foam, but there is a whole other array of issues that need to be addressed... animated waves, light reflections, moving waterlines, etc. Those are more important, IMO.
Originally posted by Kenobi
If you wanted realism and not tricks, you'd really have to go to the base and mess with the physics engine, I'm talking true calculations and giving the water some weight settings. If you don't want to go that far, advanced bumpmapping can work.
Originally posted by Fardreamer
I'm after appearance, not realism. Whatever looks best and is most efficient.[/B]
Well I sure feel like an idiot :)
Fardreamer
03-22-2002, 08:27 AM
Yeah, my definition of "real" seems to have changed a bit :O
What I mean by "real" is "looks real", not "physically-correct".
Kenobi
03-22-2002, 08:37 AM
I was thinking about this earlier, usually I'm pretty good with work-arounds.. What do you want to do with the water though? Look at it from close or distance? Swim and jump in it. Boat in it?
Fardreamer
03-22-2002, 12:49 PM
Stand on the shore and look at it. You will not be able to enter it, you will not be able to throw things in it, only look at it.
Over a certain distance a simple scrolling texture will be more than enough, I believe, it's only the up-close scenes that worry me. I was at the beach today, and that special feeling - of standing on the sand, with wind blowing in your face, watching the waves roar as they crash just a few feet ahead of you, and then dissipate into surf - is what I want to recreate.
After watching the waves for the better part of an hour, I'm pretty sure that every wave will have to be a sperate model, created at a random location at a radnom size. The only problem with this is getting the textures to blend in with the wter surface.
vBulletin v3.6.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.