Le modificateur Ocean

The Ocean modifier is a tool to simulate and generate a deforming ocean surface, and associated texture, used to render the simulation data. It is intended to simulate deep ocean waves and foam.

It is a port from the open source Houdini Ocean Toolkit.

Options

../../../_images/modeling_modifiers_simulate_ocean_panel.png

The Ocean modifier.

Géométrie

Géométrie
Generate

Crée un grillage maillage carrelé qui correspond exactement à la résolution des données de simulation.

Lors de la génération d’une surface maillage, l’objet maillage existant est complètement outrepassé par la grille de ocean. Un canal UV est aussi ajouté, faisant la correspondance entre l”UV space (0.0 à 1.0) et la grille de simulation.

Repeat X, Repeat Y
Controls the number of times the grid is tiled in X and Y directions. UVs for these tiled mesh areas continue outside of the (0.0 to 1.0) UV space.
Displace
Utilise la géométrie existante plutôt que la remplacer. Les sommets sont affichés sur l’axe Z local.
Time
The time at which the ocean surface is being evaluated. To make an animated ocean, you will need to animate this value. The speed that the time value is changing will determine the speed of the wave animation.
Depth
La profondeur constante du plancher de l’océan sous la zone simulée. Les valeurs basses simulent des eaux moins profondes en produisant des détails de fréquence plus élevée et de plus petites vagues.
Random Seed
A different seed will produce a different simulation result.
Resolution

Le contrôle principal de qualité vs vitesse dans le moteur de simulation. Ceci détermine la résolution des grillages 2D générés par la simulation.

The internal grids are powers of two of the resolution value, so a resolution value of 16, will create simulation data of size 256×256. The higher the resolution, the more details will be produced, but the slower it will be to calculate.

Note

L’utilisation de l’option de géométrie du modificateur Generate, cette valeur de résolution détermine aussi la résolution de la surface de maillage générée, égale à la résolution des données internes de simulation.

Size
un simple facteur de mise à l’échelle qui n’affecte pas la hauteur des vagues ou le comportement de la simulation.
Spatial Size
The width of the ocean surface area being simulated, in meters. This also determines the size of the generated mesh, or the displaced area. Of course, you can scale the object with the Ocean modifier in Object Mode to tweak the apparent size in your scene.

Wave

Choppiness
The choppiness of the wave peaks. With a choppiness of 0, the ocean surface is only displaced up and down in the Z direction, but with higher choppiness, the waves are also displaced laterally in X and Y, to create sharper wave peaks.
Scale

An overall scale control for the amplitude of the waves. It approximates the height or depth of the waves above or below zero.

Rather than just scaling the ocean object in Z, it scales all aspects of the simulation, displacement in X and Y, and corresponding foam and normals too.

Alignment

The directionality of the wave shapes due to wind. At a value of 0, the wind and waves are randomly, uniformly oriented.

With higher Alignment values, the wind is blowing in a more constant direction, making the waves appear more compressed and aligned to a single direction.

Direction
When using Alignment, the direction in degrees that the waves are aligned to (using local X axis as reference).
Damping

When using Alignment, this will define the amount that inter-reflected waves are damped out. This has the effect of making the wave motion more directional (not just the wave shape).

With a Damping of 0.0, waves are reflected off each other in every direction, with a Damping of 1.0, these inter-reflected waves are damped out, leaving only waves traveling in the direction of the wind.

La vague la plus petite
Une limite minimale pour la taille des vagues générées. Agit tout comme un filtre low-pass, supprimant le détail de vague de fréquence plus élevée.
Vitesse du vent
La vitesse du vent en mètres/seconde. Avec une vitesse faible, les ondes sont limitées à des ondes de surface plus petites.

Simulation Data Generation Options

../../../_images/modeling_modifiers_simulate_ocean_foam-layer-name.png

Utilisation de couleurs de sommet mousses avec un calque de données nommé.

By default, the simulator only generates displacement data, since it takes the least amount of work and gives the fastest feedback. Additional simulation data can be generated for rendering as well.

Génération de normales

Simulates additional normal map data.

This can be used by the Ocean texture, when mapped to Normals, as a bump map, and enables generating normal map image sequences when baking.

Génération de l’écume

Simulates additional foam data.

This can be retrieved by the Ocean texture for use in texturing (perhaps as a mask), and enables generating foam map image sequences when baking.

Couverture d’écume
Tweaks the amount of foam covering the waves, negative values will reduce the amount of foam (leaving only the topmost peaks), positive values will add to it. Typically ranges from (-1.0 to 1.0).
Nom du calque de données d’écume
Nom optionnel pour le calque de données de sommet, utilisé par le Modificateur Ocean pour enregistrer les maps d’écume en tant que couleurs de sommets. Ceci est requis pour l’accès aux données d’écume dans le moteur de rendu.

Précalcul

Rather than simulating the ocean data live, it can be baked to files in a given directory. When a simulation is baked, the simulator engine is completely bypassed, and the modifier/texture retrieves all information from the baked files.

Le précalcul peut être avantageux pour quelques raisons :

  • Il est plus rapide d’utiliser les données enregistrées plutôt que de les recalculer.
  • It allows rendering of ocean data in external renderers.
  • It enables more advanced foam maps.

Fichiers de données

Simulation data is stored as sequences of OpenEXR image maps, one for each of displacement, normals, and foam (if enabled to be generated). Upon loading the data from these baked files, when a frame of the bake sequence is read, it is cached in memory. This means that accessing loaded frames subsequent times is fast, not incurring the overhead of drive access.

Since these baked files are plain OpenEXR’s, they can also be opened and rendered in any other application or renderer that supports them.

Précalcul de l’écume

Le précalcul offre aussi des capacités d’écume améliorées. Le simulateur d’océan tire seulement des données pour la trame courante. Dans le cas de map d’écume, ceci représente les cimes des crêtes de vague pour la trame donnée. En réalité, après la création de l’écume par les interactions des vagues, il persiste à la surface des vagues pendant un moment, à mesure qu’il se dissipe. Avec le précalcul il est possible d’approcher ce comportement, en accumulant de l’écume des trames précédentes, le faisant persister sur la surface.

Options de précalcul

Début, Fin
Frames of the simulation to bake (inclusive). The start and end frames of the bake are repeated when accessing frames outside of the baked range.
Chemin du cache
Folder to store the baked EXR files in. The sequences will be in the form disp_####.exr, normal_####.exr, and foam_####.exr, where #### is the four digit frame number. If the cache path folder does not exist, it will be created.

Moteur interne de simulation

Le simulateur lui-même utilise les méthodes FFT pour générer de façon interne les informations de simulation de grillages 2D, très semblables aux maps de texture 2D. Le simulateur peut générer trois types de données : déplacement, normales et données supplémentaires, qui sont utilisées pour calculer les intersections de crêtes de vagues (càd écume). Après la simulation, ces maps sont utilisés pour déplacer la géométrie de la surface de l’océan en 3D, et peuvent aussi être utilisés pour le shading via la texture de Ocean. La moteur interne de simulation est multithreadé avec OpenMP pour exploiter les cores multiples.

Exemples

Simulated and baked to image maps in Blender, rendered in 3Delight.