Modificateur Ocean¶
The Ocean Modifier is an ocean simulation 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.
The Ocean Modifier 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.
When generating a mesh surface, the existing mesh object is completely overridden with the ocean grid. A UV channel is also added, mapping the (0.0 to 1.0) UV space to the simulation grid.
- Displace
- Uses the existing geometry rather than replacing it. Vertices are displaced along the local Z-axis.
- Repeat X, Repeat Y
- When generating a mesh surface, 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.
- Time
Le temps auquel la surface Ocean est évaluée. Pour faire un Ocean animé, vous aurez besoin d’insérer des keyframes
RMB
et animer cette valeur de temps. La vitesse que cette valeur de temps modifie déterminera la vitesse de l’animation de vague.- Depth
- The constant depth of the ocean floor under the simulated area. Lower values simulate shallower waters by producing higher frequency details and smaller waves.
- Random Seed
Un 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.
Les grillages internes sont des puissances de la valeur de résolution, aussi une valeur de résolution de 16 va créer des données de simulation de taill 256x256. Plus élevée la résolution, plus de détails seront produits, mais plus lents seront les calculs.
Note
When using the Generate modifier geometry option, this resolution value also determines the resolution of the generated mesh surface, equal to the resolution of the internal simulation data.
- 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, in Blender units. Of course you can scale the object with 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
Quand l’Alignement est utilisée, la direction en degrés à laquelle les vagues sont alignées.
- Damping
Quand l’Alignement est utilisée, la quantité qui les vagues. Cela a l’effet de rendre le déplacement des vagues plus directionnelle (pas seulement la forme des vagues). Avec un amortissement de 0.0, les vagues sont reflétées , avec un amortissmeent de 1.0, ces vagues sont complètement amorties, laissant les vagues 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
- Wind speed in meters/second. With a low velocity, waves are restricted to smaller surface waves.
Simulation Data Generation Options¶
Par défaut, le simulateur génére seulement les données de déplacement, puisqu’il . Des données de simulation supplémentaires peuvent aussi ê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
Simule des données d’écume supplémentaires. Ceci peut être tiré de la texture de l’Ocean pour lr texturage (peut-être comme un map), et active la génération des séquences d’images de map d’écume lors du précalcul.
- Couverture d’écume
Ajuste la quantité d’écume couvrant les vagues. Les valeurs négatives vont réduire la quantité d’écume (en laissant seulement sur les pics les plus hauts), les valeurs positives vont en ajouter. Typiquement intervalles de (-1.0 à 1.0)
- Nom du calque de données d’écume
- Optional name for the vertex data layer, used by the Ocean Modifier to store foam maps as vertex colors. This is required for accessing the foam data in the renderer.
Précalcul¶
Rather than simulating the ocean data live, the ocean data can be baked to a file on a drive. 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.
Autorise le rendu des données de l’océan avec des moteurs de rendu externes.
Active des maps d’écume plus avancés.
Fichiers de données¶
Simulation data is stored on a drive 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 from a drive,
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 frams courante. Dans le cas de map d’écume, ceci représente les cimes des crêtes de vague pour la frame 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 frames précédentes, le faisant persister sur la surface.
Options de précalcul¶
- Début, Fin
Les frames de simulation à précalculer (inclusives). Les frames de début et de fin du précalcul sont répétées lors de l’accès aux frames en dehors de l’intervalle du précalcul.
- Chemin du cache
Dossier pour enregistrer les fichiers EXR de précalcul. Les séquences seront sous la forme
disp_####.exr
,normal_####.exr
, etfoam_####.exr
où####
est le numéro de frame sous format de quatre chiffres. Si le dossier du chemin du cache n’existe pas, il sera créé.
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.