It’s been a while since the last update, but things have been quite crazy last two weeks, so I didn’t have time to work on this ‘internal’ project for a while.
Before I get into wave shading I thought, I’d first finish the setup part of the tool. In a previous post I had given a first glance in the ‘setup / advanced’ tab where the forces in the water are defined as it plunges in the wave’s trough.
In the mean time the advance tab has been updated quite a lot.
The advanced section of wave setup deals with forces in the wave and the way they influence the lip of the wave. The forces also determine the origin and behavior of the white water particle simulations to a large extend as well.
The first tab in this section is the Forces tab. It has three sub tabs Force Distribution, Main Force Noise and Detail Force Noise. The Force Distribution settings define the distribution of force both in time and in position. These are defined with two ramps. The ‘Force Factor’ parameter is a value that is divided from the Force as defined by the ramps before its fed into the Main and Detail force noise (I’m likely going to change that to a value between 0 and 1 that will be multiplied).
Force distribution over wave life
The ‘Force distribution over wave life’ ramp defines the amount of force during each time in the life cycle of each wave profile. The horizontal dimension is the wave time dimension (the relation between wave profiles and wave time is discussed in the previous post: Getting the look ‘in the zone’). The vertical dimension represents the amount of force. Note that ‘force’ in this context doesn’t represent any real life physical kind of force. It is just a value that is used in the wave to drive the look of the lip and white water sims.
In the default setup seen in the image above you can see the force gradually gets bigger towards the center of the wave time and then decreases again. The center of the wave time dimension relates to the ‘middle’ wave profile which represents the wave as the lip of the wave crashes fully down into the trough.
Force distribution over wave profile
The ‘Force distribution over wave profile’ ramp defines the distribution of force from the rear to the front of the wave profiles. The horizontal dimension represents the position of a wave profile from the rear to the front of the wave surface. The center of this dimension is the position of the tip of the lip of the wave.
In order to see what these parameters mean in context of the wave system you can turn the ‘visibility’ of the wave to: ‘Wave Visualise Force’. This will show something like this in the view port:
The blue shows the general ‘force’ on the wave as defined by the two ramps. The red shows the result of the Main and Detail noise that is defined in the ‘Main Force Noise’ and ‘Detail Force Noise’ tabs of the advanced section of wave setup.
The two noise options add noise to the force. This force is used to break up the shape of the lip and influences the white water particle simulations. In the image of the visualisation above you can see the effect of the noise has on a displacement of the lip. This displacement is performed along the velocity of the lip of the wave in stead of the normals of the wave surface. This means that the lip is always displaced in the direction the lip of the wave is moving. The velocity includes the movement of the lip as it falls down into the trough (through the animation of the wave profiles) as well as the overall velocity of the wave surface in relation to world space.
The overall effect of the noise functions can be attenuated by the ‘Force Factor’ parameter discussed above.
The Lip section of advanced setup defines additional detail on the lip of the wave. In real waves there tends to be an area on the lip of the wave that becomes rougher than the general wave surface. This rough area is a place where foam and white water (lip spray) is generated. This section has three sub tabs: ‘Force Modify’, ‘Rough Position’ and ‘Rough Lifecycle’.
In this tab its possible to specify a modifier on the force defined in the previous section. It will modify the force with noise applied. This can be used to enhance the overall distribution of the noise in the force.
In this tab the position of the rough area on the wave is defined. The position is defined in term of a ramp and two fall off parameters.
The ‘Position over wave time (rear to front)’ parameter defines the center point of the rough area in relation to ‘wave time’. The vertical dimension in the ramp represents the position on a wave profile from the rear to the front. As the rough area is located around the tip of the lip of the wave the effect of the ramp is limited to a range on the wave profile from 0.4 to 0.6 of the total length of each profile (from 0 to 1).
The ‘Falloff Backward’ and ‘Falloff Forward’ define the fall off of the rough area from this center point.
Setup/Advanced/Lip/Rough Life cycle
In this tab the amount of roughness in relation to the ‘wave time’ is determined. This is done through the ‘Roughness over wave time’ ramp. The horizontal dimension again represents wave time. The vertical dimension represents the amount of roughness.
Visualising the rough area and how it’s created
By selecting ‘Wave Visualise Lip Roughness’ in the visibility menu of the wave object the view port will show the rough area of the wave. This makes it very easy to setup the roughness area.
This visualisation only shows the area of the roughness. The actual roughness is based on the displacement of the wave surface itself.
It is possible to see the roughness itself by rendering out the wave in this visualisation mode:
The roughness is used to render a lip foam pass as well, which is a separate render pass that contains the same info as the image above. In addition to this it is used to determine the distribution of the scattered points that define the particle source for the lip spray white water particle system (visibility set to: ‘Wave Particle Source’):
This concludes the wave setup settings. As you can see there is a lot of control available to determine the behavior and look of waves. These settings have defaults that should in most cases generate decent results from the start. But when needed its possible to tweak virtually any aspect of the system to fit specific requirements. To make it easier to get from these parameters to concrete results many visualisations have been added, which I hope make it fairly straight forward to figure out what the results of changes to the parameters are.
Next up will be shading the wave zones.