This doc compares various methods for simulating waves.
1. VrayWater
2. AA Ocean Suite
3. PhxShaderOceanTex
1. VrayWater
VrayWater is a procedural texture used for creating vector displacement based on the Tessendorf model for simulating ocean waves.
Height Multiplier -Wave height.
Controls the height of the waves. To the see the larger waves more clearly, lower the resolution.
Wind Direction - Wave direction (perpendicular to wind).
Specifies the angle in degrees that the wind is moving. Generally values between 0-90 work best. Higher values do work, but sometimes they can make your ocean waves look like they are moving backwards, depending on where you position your camera. The waves will be perpendicular to the wind direction
Wind magnitude - Wave width.
Controls the breadth of the waves. Higher values produce larger (i.e. broader or wider) waves.
Wind Direction Multiplier - Waves move with wind or against it.
If directional wave movement is required, use this slider to give preference to waves moving in the direction of the wind. A value of 1 will completely eliminate waves that move opposite to the wind. A value of 0 will have waves moving in towards and against the wind with equal magnitude.
Choppy Multiplier - Waves have sharp peaks.
A multiplier for the choppiness of the waves. Often you will need to go higher than 1 to see sharp peaks (for example 10), but be careful as too high a value makes the tops of the waves intersect themselves. Note, you will need a high subdivision level on the geo to see this affect.
Rate - Wave animation.
Speeds up or slows down the movement of the waves. This value has effect only in an animation. Zero (0) turns off the animation. Note that if you increase the size of the virtual grid, the speed of the waves will appear to slow down. This is in accordance with waves needing to travel over a greater distance, since the size of the virtual grid has increased.
Seed - Random generator.
An integer used to set the starting point for the random generator. Different values produce different waves randomly.
Resolution - Wave detail.
Specifies the amount of detail in the generated map. Increasing the resolution adds more and more detail to the surface, thus refining the basic shape without changing the overall structure or position of the big waves. It's therefore good to begin with low res and gradually increase the detail.
Patch size - Area of ocean before tiling.
Specifies the real world size (depending on what the scene units are set to) of one patch of the VRayWater texture outside of which the texture will repeat. Thus if your scene units are set to centimeters, you would need to have a rather large patch size. For example 10,000 cm = 100 m which is roughly the size of a football field.
Think of this slider as the width of the patch of ocean that you are generating in meters. Increasing this slider adds more waves to the grid patch, thus giving an appearance of wider scale.
2. AA Ocean Suite
The AA Ocean Suite is a plugin written by Amaan Akram which is used to interactively deform geometry. It is based on the Houdini Ocean Toolkit (HOT) which also follows the Tessendorf model.
Once installed and loaded, the plugins can be called with the Mel command:
deformer -type aaOceanDeformer;
Before applying the deformer, scale the geo to the desired size, but do not freeze transforms or delete history.
Where attributes parallel the VrayWater above this in indicated in blue text.
Ocean Parameters
Resolution:
Resolution
Ocean Size:
Patch size
Ocean Depth:
Simulates waves slowing down as the depth decreases.
Surface Tension:
Provides very small-scale ripples traveling over the surface on an ocean.
Seed:
Seed
Current Time:
enter expression: =time
Time Offset:
A time offset
Repeat Time:
The point where the animation loops
UV map label:
Specifies the UV set of the geometry
Wave Parameters
Wave Height:
Height multiplier
Wave Size:
Wind magnitude
Wave Speed:
Rate
Wave Chop:
Choppy Multiplier
Wave Smooth:
Removes small waves from big ones. The visual result of increasing this value is an overall smoothing of the ocean surface.
Wind Parameters
Wind Direction:
Wind Direction
Wave Reflection:
Wind Direction Multiplier
Wave Align:
stretches the waves perpendicular to the direction of the wind.
3. PhxShaderOceanTex
The Phoenix Ocean Texture is a vector displacement texture written for Vray's Phoenix dynamics engine. It differs from the VrayWater texture in that it is an infinite non-cyclic procedural texture, and so does not have tiling issues like Tessendorf waves do. It can be loaded from the Vray plugins ( create>vray>load vray plugin). Note that it must be connected via the object (create>Vray>Vray displacement) rather than via the material SG. Further, you may need to explicitly set the displacement bounds to avoid clipping. Where attributes are similar to the VrayWater above this in indicated in blue text.
use wind (Control by wind speed)
Switches between physically accurate and absolute mode. When this option is checked, you set the physically accurate mode, where the height and the speed of the wave are calculated according to the wind speed. When this option is not checked, you will be using the absolute mode, where the height and the speed of the wave are directly set by the Wave height and Velocity parameters.
wind (wind speed)
Wind magnitude Controls wind speed (if use wind is selected) and therefore wave width
lod (Level of detail)
Resolution
Sharpness
Choppy Multiplier
velmult (Velocity)
Rate
Controls the speed of the waves. When in physically accurate mode this is a multiplier, in absolute mode it directly sets the velocity in system units per second.
velcoh (Velocity coherence)
Wind Direction Multiplier
rgbmult (Wave height)
Height Multiplier
When in physically accurate mode, this is a multiplier of the amplitude. When in absolute mode, this is the final wave height measured in system units.
Rgboffset (Level offset)
Introduces additional shift to the displacement.
Meter Scale
If scene units are set to centimeters, set this to 0.001.
Up Vector
Set to "2" for "Y is up".
Seed
Seed
Bell (Wave crest)
Controls the length of the waves crest, that is whether the waves are stretched long like waves on a beach or not. This parameter is closely related to the Velocity coherence, for better results you have to use short crest when the coherence is low and long crest when the coherence is big.
|