WaterType
WaterEdit
WaterType objects are found in the Object Window under WorldData.
To create a new WaterType,
- right-click in the list of WaterTypes in the Object Window
- select New from the menu.
To create a new WaterType based off an existing WaterType,
- right-click the WaterType you wish to use as a basis
- select Duplicate from the menu
- The duplicated water will appear in the Object Window under the Editor ID of the original waterType with waterTypeNameDUPLICATE###.
To delete an existing WaterType,
- right-click the WaterType
- select Delete from the menu
- click Yes to the comfirmation.
- If the waterType is in-use, a second confirmation box will appear listing where it is used. Users will have to confirm again to delete the waterType.
WaterType DialogEdit
GeneralEdit
IDEdit
Editor ID for the WaterType.
CausesEdit
When checked enables the water to cause damage to actors. Enter a number for how much damage per second is received by the actors.
Spell effectEdit
The spell effect applied when an actor comes into contact with the waterType.
NameEdit
Display name for the waterType.
Imagespace ModifierEdit
ImageSpace that is applied when the player is under the water.
Color PropertiesEdit
Shallow ColorEdit
The color of the water when the water is shallow.
Deep ColorEdit
The color of the water when the water is deep.
Reflection ColorEdit
The color mixed with the reflection texture (cubemap) when the Reflectivity Amount is set to less than 100%.
Water PropertiesEdit
Open SoundEdit
Sound that is played while in close proximity to the waterType.
MaterialEdit
Material that is applied to the waterType.
Directional SoundEdit
OpacityEdit
How clear the water is before the fog layer is reached. Affects both above and underwater.
Reflectivity AmountEdit
Blend between the solid reflection color (set on the "Water Color" tab) and the rendered reflection texture (cube-map). It is usually best to keep this value at 100% since the rendered reflection color most accurately corresponds to the world around it.
Reflection MagnitudeEdit
This value determines how much the normals (from the noise wave pattern texture) will affect the distortion amounts of the reflections on the water surface. At 0% you will have perfectly still reflections while at 100% you will have the full effect of distortion coming from the magnitude of the normals.
Refraction MagnitudeEdit
This is similar to the reflection magnitude in that it scales up/down the distortion of the refractions seen under the water.
Fresnel AmountEdit
The Fresnel effect gives the observation that the amount of reflectance you see on a surface depends on the viewing angle. The higher the value, the more reflective the surface will be due to allowing more reflective viewing angles.
Displacement SimulatorEdit
Displacement is the waves seen when an actor enters the water.
- Force: The initial force exerted on the water. (e.g. the initial speed of the displacement)
- Velocity: The overall speed at which the displaced water should travel. (e.g. how viscous the water is)
- Falloff: Determines the time range before the water displacement dissipates. (e.g. how quickly you want the displacement to disappear)
- Dampener
- Starting Size: The size of the ripple.
Linear VelocityEdit
The X, Y, Z direction that actors/objects are pushed while interacting with the waterType. This should match visual flow direction of the water.
Angular VelocityEdit
Specular PropertiesEdit
Sun Specular PowerEdit
The specular power of the sun color on the water surface.
Sun Specular MagnitudeEdit
Sun Sparkle PowerEdit
Sun Sparkle MagnitudeEdit
To increase the effect of the sun, we also use a static vector that covers more of the water surface to give a sparkle effect over the entire water surface rather then just from the direction of the sun. This value increases (or decreases) the strength of this effect.
Specular RadiusEdit
Specular BrightnessEdit
Specular PowerEdit
Noise PropertiesEdit
Texture SelectEdit
Which layer of the noise texture we want to adjust. Currently only use the first 3 layers (RGB channels)
Enable FlowmapEdit
Enables/disables use of flowmaps for waterType.
Blend NormalsEdit
Enables/disables the blending of the normal map textures for the waterType. Used for blending two different waterTypes together that are using different noise textures (e.g. rivers blended into oceans).
Flowmap ScaleEdit
Scales the size the flowmap texture.
Wind DirectionEdit
360 degree direction the height map is scrolled.
Wind SpeedEdit
Determines how fast the UV coordinates are scrolled.
Amplitude ScaleEdit
Determines the final scaled value of the heights in each height map layer. At 100%, we would be using exactly the heights that are in the texture. Since we combine all 3 height layers into a final normal, we don't want all 3 height layers to be at 100% (unless you have scaled the heights down in each layer manually already). This is because we will have height values reaching above 1.0 and cause the heights to become saturated. This would give us a very flat normal map with the incorrect wave formation. The final look would be as if all waves were at their peak and there was no falloff at all.
UV ScaleEdit
Scales the size the noise texture is applied to the layer.
Noise FalloffEdit
This determines the falloff curve used for the strength of the normals further from the camera position. The smaller the value, the closer to the camera position will cause the normals to be scaled down until they reach 0.
Select NoiseEdit
This determines what noise texture is used for the layer. In exteriors, this has to match up to the world-space water type or a warning will trigger. In interiors, the restriction is removed allowing each waterType to use whatever noise texture it desires. We only allow this since, on average, interiors run faster then exteriors. However, it will still be up to the artist/designer setting up the interior to make sure that they do not abuse the texture memory by going overboard with waterTypes using multiple unique height-maps.
Fog PropertiesEdit
Fog effects applied to water may be thought of as general 'murkiness'. The distance between the Near Plane and the Far Plane is a gradient between full transparency (no fog effect) and no transparency (full fog effect), and determines how quickly objects are obscured. The fog effect is achieved by changing the transparency of the water color, thus has no color in and of itself. To change the fog color, change the Shallow and Deep water colors.
Above Water/Under WaterEdit
Which fog values to adjust. Fog properties may be set in one of two modes: Above Water and Under Water.
- Above Water properties affect the appearance of water fog from above the water plane looking down into the water (i.e., shore).
- Under Water properties affect the appearance of water fog while under the water surface looking into the distance.
Fog AmountEdit
Controls the transparency of the Deep Color water plane. Values range between 0.0 and 1.0. At 0.0, the Deep Color water plane is completely transparent. At 1.0, the Deep Color water plane is fully opaque (no transparency).
Fog Distance - Near PlaneEdit
Sets the distance in game units below the surface of the water of the Shallow Color water plane. This is where the fog effect will begin. Objects rendered at or before the near plane are rendered at full visibility with no fog effects.
Fog Distance - Far PlaneEdit
Sets the distance in game units below the surface of the water of the Deep Color water plane. This is where the fog effect will end. Everything beyond this value is the full Deep color value. Objects rendered at or beyond the far plane are fully obscured by fog effects.
Depth PropertiesEdit
ReflectionsEdit
RefractionEdit
NormalsEdit
Specular LightingEdit
Wave Pattern PropertiesEdit
Texture SelectEdit
Which channel of the noise texture we want to adjust. Currently only use the first 3 channels (RGB)
Noise TypeEdit
Which type of noise we want to generate. Currently, only Fractal Brownian Motion (FBM) noise type is active since that is what the system is based off. We can change this later if need be.
X-FrequencyEdit
How much the noise is tiled along the X-axis.
Y-FrequencyEdit
How much the noise is tiled along the Y-axis.
OctavesEdit
The number of times we sum the noise at different powers to give us a much more interesting noise pattern that resembles choppier waves. The more octaves we sum, the choppier the waves will will get since we are compounding smaller waves on top of larger waves multiple times until it gets so small that we are limited by the resolution of the texture. Using a 256x256 texture, 4 octaves is about the limit of pixel resolution that will be visible on screen.
AmplitudeEdit
This determines the overall height range of the waves. The higher the amplitude is means the greater the range will be between 0 and 1 of the height values. 0.5 is the default to get the smoothest wave data per channel.
LacunarityEdit
This is a measure of how a fractal fills space. Dense fractals have a low lacunarity. As the coarseness of the fractal increases, so does the lacunarity [1]. So in the case of FBM noise, the higher the lacunarity value is, the less gaps you will see in the noise and it will add more sharp height values. This is not usually desired since smoother waves are more often visibly pleasing then very sharp differences in heights.
BiasEdit
This value will alter the final color output in favor of either its low or high values. For example, the higher the bias value is, the gray values will shift closer to white and black. Whereas, the lower the bias, the whites and blacks will approach gray. It is another way to define the contrast in the different color values through
GainEdit
This will increase or decrease the gradient of the final noise function around a given point. This causes shifts in the overall gradient color scheme coming from the noise function.
Random SeedEdit
Used to get different noise patterns for the waves. It is good to use different seed values for the different height map channels in order to get more unique noise patterns per channel.
NotesEdit
- Enabling water damage will disable water splashes.
- Wind Direction: Texture is not rotated, but rather the texture coordinates are scrolled based on the 360 degree vector direction. ​What this means is, users have to build any direction of the wave patterns into the height-map if some sort of actual directional movement is desired. (e.g. Users wouldn't want waves built on the Y-axis to scroll along the Y-axis causing the waves to appear to move sideways. Instead users would want them to scroll on the perpendicular X-axis so they appear to be moving forward in 3D space.)
- UV Scale: (original note; may not be accurate) We can scale down any specific height map channel to tile if necessary. I would recommend against using this per-height map channel. A better solution is just to generate the scales you want when you generate the height map channel to begin with. This is better suited for re-using the same height map on a different water surface but allowing you to get some different results to make the water surface look more unique while still using the same height map texture memory. Since artists are restricted to 1 height map per-world-space, this is a good way to have multiple waterTypes that still look different from each other while still using the same height map data.
- Noise Falloff: It is possible to have these values high enough so that the normals are at 100% across the entire 5x5 region. However, they will currently not blend correctly into the LOD water unless a solution is found.