WaterType

From the CreationKit Wiki
Jump to navigation Jump to search

Water[edit | edit source]

WaterType objects are found in the Object Window under WorldData.

To create a new WaterType,

  1. right-click in the list of WaterTypes in the Object Window
  2. select New from the menu.

To create a new WaterType based off an existing WaterType,

  1. right-click the WaterType you wish to use as a basis
  2. 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,

  1. right-click the WaterType
  2. select Delete from the menu
  3. 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 Dialog[edit | edit source]

General[edit | edit source]

ID[edit | edit source]

Editor ID for the WaterType.

Causes[edit | edit source]

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 effect[edit | edit source]

The spell effect applied when an actor comes into contact with the waterType.

Name[edit | edit source]

Display name for the waterType.

Imagespace Modifier[edit | edit source]

ImageSpace that is applied when the player is under the water.

Color Properties[edit | edit source]

Shallow Color[edit | edit source]

The color of the water when the water is shallow.

Deep Color[edit | edit source]

The color of the water when the water is deep.

Reflection Color[edit | edit source]

The color mixed with the reflection texture (cubemap) when the Reflectivity Amount is set to less than 100%.

Water Properties[edit | edit source]

Open Sound[edit | edit source]

Sound that is played while in close proximity to the waterType.

Material[edit | edit source]

Material that is applied to the waterType.

Directional Sound[edit | edit source]

Opacity[edit | edit source]

How clear the water is before the fog layer is reached. Affects both above and underwater.

Reflectivity Amount[edit | edit source]

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 Magnitude[edit | edit source]

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 Magnitude[edit | edit source]

This is similar to the reflection magnitude in that it scales up/down the distortion of the refractions seen under the water.

Fresnel Amount[edit | edit source]

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 Simulator[edit | edit source]

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 Velocity[edit | edit source]

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 Velocity[edit | edit source]

Specular Properties[edit | edit source]

Sun Specular Power[edit | edit source]

The specular power of the sun color on the water surface.

Sun Specular Magnitude[edit | edit source]

Sun Sparkle Power[edit | edit source]

Sun Sparkle Magnitude[edit | edit source]

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 Radius[edit | edit source]

Specular Brightness[edit | edit source]

Specular Power[edit | edit source]

Noise Properties[edit | edit source]

Texture Select[edit | edit source]

Which layer of the noise texture we want to adjust. Currently only use the first 3 layers (RGB channels)

Enable Flowmap[edit | edit source]

Enables/disables use of flowmaps for waterType.

Blend Normals[edit | edit source]

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 Scale[edit | edit source]

Scales the size the flowmap texture.

Wind Direction[edit | edit source]

360 degree direction the height map is scrolled.

Wind Speed[edit | edit source]

Determines how fast the UV coordinates are scrolled.

Amplitude Scale[edit | edit source]

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 Scale[edit | edit source]

Scales the size the noise texture is applied to the layer.

Noise Falloff[edit | edit source]

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 Noise[edit | edit source]

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 Properties[edit | edit source]

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 Water[edit | edit source]

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 Amount[edit | edit source]

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 Plane[edit | edit source]

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 Plane[edit | edit source]

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 Properties[edit | edit source]

Reflections[edit | edit source]

Refraction[edit | edit source]

Normals[edit | edit source]

Specular Lighting[edit | edit source]

Wave Pattern Properties[edit | edit source]

Texture Select[edit | edit source]

Which channel of the noise texture we want to adjust. Currently only use the first 3 channels (RGB)

Noise Type[edit | edit source]

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-Frequency[edit | edit source]

How much the noise is tiled along the X-axis.

Y-Frequency[edit | edit source]

How much the noise is tiled along the Y-axis.

Octaves[edit | edit source]

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.

Amplitude[edit | edit source]

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.

Lacunarity[edit | edit source]

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.

Bias[edit | edit source]

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

Gain[edit | edit source]

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 Seed[edit | edit source]

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.

Notes[edit | edit source]

  • 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.