Domain - Ocean Statistical Spectrum

This parameter set is used to apply a wave structure to a meshed Hybrido fluid, similar to the “Ocean Statistical Spectrum” modifier for RealWave. Before you start with the calculation of the displacement field, please visit the “Export Central” dialogue and check whether the appropriate resource is activated or not. All displacement data is stored as a sequence of TIFF files.

Please bear in mind that Hybrido’s displacement is not visible during the simulation by default – even if it is activated. But, there are three main methods to make it visible. The first one is based on RealFlow’s “Graphs” and very convenient, because we have already prepared an appropriate “Simulation Graph”. It can be found in RealFlow’s “scene” folder. You just have to add this graph to the “Simulation Flow” window. Please visit the “Simulation Flow” chapter to learn how to use graphs with a simulation. Please visit the “Simulation Flow (SF)” chapter to learn how to use graphs with a simulation.

Another way is to map the displacement onto an already existing Hybrido mesh. To make it visible, an appropriate shader is required:

GridMesh node > Node Params > Shader > Type > Displacement

GridMesh node > Node Params > Shader > Source > Domain

Finally, it is also possible to use a RealWave surface in combination with an "Ocean Statistical Spectrum" modifier. The "Node Params" sections from RealWave and Hybrido share the same parameters and you can transfer the values between both panels. When you change any of the parameters, the complete displacement sequence has to be re-simulated, while the core fluid itself can be read from the already cached files. During the re-simulation process, the grid fluid domain's “Simulation” parameter under “Node” has to be set to “Cache”. Then it is possible to reset the scene, load the existing core fluid data and change only the displacement. To check the quality and look of the displacement you can use the previously mentioned graph again


 

Calculate displacement

By default, RealFlow does not calculate the displacement information of the current grid fluid simulation, but by turning this on you will have access to a variety of settings. The displacement is only visible with a Hybrido mesh, not during the particle-based simulation. A fluid's displacement information can only be correctly mapped onto a Hybrido mesh and you can find appropriate options under “UVs Mapping”.

There are three methods to calculate the fluid's displacement:

Never

If you do not want to add displacement, please use the default option.

Always

When the displacement is created in a separate pass, for example after the simulation of the core fluid, you should select this mode.

Use cache

Once the displacement has been extracted and you want to proceed with the splash, mist or foam passes, you can reuse the already generated data with “Use cache”.

Time Factor

If you have already worked with RealFlow's Graphs system or one of the demo scenes, e.g. “apply_stat_spectrum” then you have most probably already seen the “Time factor” setting. This parameter allows you to control the wave surface's speed. Values greater than 1.0 will accelerate the waves, while values smaller than 1.0 can be used to decelerate them. The advantage is that the waves' speed can be adjusted without changing any other parameter. Another plus is that the “Ocean Statistical Spectrum” settings from RealFlow Graphs, Hybrido, and RealWave have been unified as far as possible. This way, you will be able to get exactly the same results with identical settings in all three environments. "Time factor" is a dimensionless value and accepts floats – it works as a multiplier.

Quality

You can choose from six different levels of quality. Of course, higher quality settings require longer simulation times, but also create more details. The chosen value is directly connected to the size of the final map – a “Quality” level of 4096 creates a squared image with 4096 x 4096 pixels. RealFlow's Hybrido displacement maps are stored as 16-bit TIFF files and can allocate more than hundred Megabytes per map with very high settings.

Quality” is also important for rendering with Maxwell Render: sometimes you can see artefacts and a faceting effect at highlighted waves. To create a smooth lighting situation, increase quality to at least 512, better 1024.

This parameter is dimensionless and only accepts the predefined values from the select list.

Auto depth

The appearance of the surface waves also depends on the ocean’s water depth, but this influence is often very subtle. With activated "Auto depth", RealFlow automatically “measures” the current depth of your grid domain fluid and uses this value for the statistical wave generation method. By setting this parameter to “No” the following value becomes unlocked.

@ depth

When “Auto depth” is set to “No” you can specify the ocean depth by entering any positive number. This parameter affects the dispersion of the waves and is only noticed if the length of the wave is close to the value of the depth. In these cases this parameter has a decelerating effect on the wave's dispersion. In most cases you will not see any effects or changes, because depth is normally rather high compared to the length of the waves. The parameter's unit is metres [m].

Vertical Scale

To alter the height of the statistical waves, “Vertical Scale” is used. You normally have to adjust this parameter when you are changing the surface’s dimension value. “Vertical Scale” has a significant influence on the credibility of the entire simulation and can also be used for the creation of heavy storms with high waves. The parameter's unit is metres per second [m/s].

Auto dimension

With this feature RealFlow specifies the horizontal dimensions of the grid fluid container which it uses for the calculation of the waves. By default it is set to “Yes”, but you can also specify your own settings if you change it to “No”.

@ dimension

With this parameter it is possible to change the appearance of the fluid surface. This value can be seen like a scaling factor and is given in [m]. When you, for example, enter a value of 500, the distribution and scale of the waves will look as if the domain covers an area of 500 m x 500 m, although the physical dimensions of the domain did not change at all. This parameter is only accessible when “Auto dimension” is set to “No”. Please note that you can enter only one value, because the shape of the displacement is always considered as squared. When you change “@ dimension” you will most probably have to modify “Vertical Scale” and “Choppiness”. “@ dimension” and “Quality” are directly connected:

Level of detail [m] = Dimension [m] : Quality

An example: Let’s assume you have created a surface with a “Quality” of 1024 and a “Dimension” of 400 m. The smallest structures you can observe on this ocean have a size of 0.39 m according to the formula above:

400 m (Dimension) : 1024 (Resolution) = 0.39 m

As shown above, the parameter is given in metres [m] and accepts floats.

Auto wind speed

RealFlow automatically calculates the used wind speed when this parameter is turned on. With “No”, you can enter the desired wind speed in the field below.

@ wind speed

This parameter is only accessible with “Auto wind speed” set to “No”. You can enter any positive or negative value, including 0. “@ wind speed” can strongly influence and affect the look of the surface. The parameter's unit is metres per second [m/s].

Auto wind direction

With this parameter set to “Yes”, RealFlow automatically reads the directions of existing wind daemons and translates their values into the direction the waves are travelling. With “No” it is possible to specify a custom wind direction.

@ wind direction

This is the wind direction in degrees [deg]. Please note that in the case of using the linked daemons, the velocity vector is projected on the XZ plane and then converted to degrees. If you use another axis setup, where Y does not serve as a height axis, the orientation of the wind direction will change. By default (with YXZ orientation), RealFlow uses this notation:

  • 0°: wind comes from the positive X axis (1,0) - positive wind directions are counter clockwise.
  • 90°: wind comes from the positive Z axis (0,1)
Wind alignment

With small values only waves which are totally perpendicular to the waves' direction are removed. When “Wind alignment” is increased, RealFlow will remove more and more waves; waves which are less perpendicular. If the value is very high, only those waves which are absolutely parallel to the wind direction will remain.

Min Wave Length

With “Min Wave Length” the amount of details on the surface can be controlled. Higher values flatten the surface and create fewer ripples. Please keep in mind that the parameter is connected to “Dimension”. When entering lower values, this parameter should be decreased, too, to guarantee that the RealWave object still shows enough structures.

Weight Against Wind

This is a weighting parameter for waves which are moving to some extent in the opposite direction to the wind. If “Weight Against Wind” is 0.0 then all waves against the wind are eliminated. If it is set to 1.0 then its normal strength is used. Values between determine the amount of waves being eliminated.

Seed

A seed value is used to generate different initial conditions. This helps you to create different looks of the waves with a single click. You might already know this feature from RealWave's “Fractal” modifier. There you can also influence the waves with a new seed. This value is dimensionless and accepts integers.

White caps channel

White caps can be seen on top of cresting waves as a result of wind forces. The stronger the wind, the more it pushes against the water. It transfers energy to the water particles and forms crests and white caps. These regions are chaotic and the water can move in random directions. So, white caps are a very good method to enhance the realism of a grid fluid simulation. The effect is not calculated as particles, but added to the displacement maps as an alpha channel. White caps cannot be seen during a simulation and they are only visible with a grid mesh. To activate them, please turn on the mesh's "Displacement" shader and set the "@ white caps threshold" value greater than 0.0:

GridMesh > Node Params > Shader > Shader Type > Displacement 

Please bear in mind that white caps can significantly increase simulation times, because this is a computationally intensive process.

Choppiness

With growing wind strength you can often observe near-breaking waves with pronounced crests. These sharp crests give you much more realism and are a direct result of the used statistical wave creation model. With “Choppiness” you can determine the sharpness of the surface waves and adjust them to the environmental conditions. By leaving “Choppiness“ at 0.0 the appearance is similar to the fractal modifier of RealWave. Very high values might create unwanted effects, such as self-intersecting areas. This value is dimensionless and accepts floats. In most cases, values between 0.0 and 1.5 are used.

Repeat U/V

Since the displacement is calculated from a texture map it is also possible to define the number of repetitions both in U and V direction of the mesh grid. U and V coordinates are related to the UV grid that is created with the mesh. Displacement maps are seamless, though very high values are very likely to create regular patterns on the surface. This value is dimensionless and accepts integers.