Le modificateur Ocean¶
Le modificateur Ocean est un outil pour simuler et générer une surface océanique déformante, et la texture associée, utilisées pour faire le rendu des données de simulation. Il est conçu pour simuler les vagues et l’écume de l’océan profond..
It is a port from the open source Houdini Ocean Toolkit.
Options¶
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
Un seed différent va produire un résultat de simulation différent.
- 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 size256×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 du 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.
- Spectrum
Used to choose the wave spectrum model to use. Wave spectra are used to describe how energy moves through the waves at different frequencies. Energy travels through waves differently depending on the depth of the water and the wind speed.
- Turbulent Ocean
Use for turbulent seas with foam (Phillips).
- Established Ocean
Use for a large area, established ocean where the ocean would extend for miles with wind blowing for days allowing the waves to reach a point of equilibrium (Pierson-Moskowitz method).
- Established Ocean (Sharp Peaks)
Similar to regular Established Ocean however, waves will continue to grow with time creating sharper peaks (JONSWAP and Pierson-Moskowitz method). An extra parameter is used to define the sharpness of these peaks.
- Shallow Water
Use for shallow water with depths less than about 10 meters which makes it great for small lakes and ponds without heavy wind (JONSWAP and TMA – Texel-Marsen-Arsloe methods).
¶ - Sharpness Peak
An artificial factor to control how sharp the peaks of the waves are in the Established Ocean (Sharp Peaks) and Shallow Water spectrum models.
- Fetch
Distance from a lee shore, called the fetch, or the distance over which the wind blows with constant velocity. Used by Established Ocean (Sharp Peaks) and Shallow Water spectrum models.
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
Quand Alignment est utilisé, ceci va définir la quantité que les ondes inter-réfléchies sont amorties. Cela a pour effet de rendre le déplacement des ondes plus directionnelle (pas seulement la forme des ondes).
Avec un Damping (amortissement) de 0.0, les ondes sont réfléchies les uns par les autres dans toutes les directions, avec un Damping de 1.0, ces ondes inter-réfléchies sont complètement amorties, laissant les ondes voyageant uniquement dans la direction du vent.
- 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¶
Par défaut, le simulateur génère uniquement les données de déplacement, puisqu’il prend la moindre quantité de travail et donne le retour le plus rapide. Des données de simulation supplémentaires peuvent également être générées pour le rendu.
- 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.
Il autorise le rendu des données de l’océan avec des moteurs de rendu externes.
Il active des maps d’écume plus avancés.
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.
Étant donné que les fichiers précalculés sont de simples fichiers OpenEXR
, ils peuvent être ouverts et rendus dans n’importe quelle application ou moteur de rendu qui les prend ou charge.
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, la faisant persister sur la surface.
Options de précalcul¶
- Début, Fin
Trames de la simulation à précalculer (inclusif). Les trames de début et de fin du précalcul sont répétées quand on accède aux trames en dehors de l’intervalle de précalcul.
- Chemin du cache
Folder to store the baked EXR files in. The sequences will be in the form
disp_####.exr
,normal_####.exr
, andfoam_####.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¶
Simulé et précalculé en image maps dans Blender, rendu dans 3Delight.