Sea.ini is a technical file that can be imported into world files.

File name: S3_1F886EAD_00000000_D89F9D186B7BB372%%+_INI.ini


Sea.ini controls visual tunings related to the sea, such as the texture of the water surface, and visibility below the water's surface. Builders may find that, despite not understanding what each tuning does, they can get nice effects by trial and error. However those with a clear understanding of each tuning's effect can share their research in the annotations below.

Annotated FormatEdit

EA annotations in red
Wiki editor annotations in green


Texture coordinate scales for normal map levels 1 and 2
What are the effects of this tuning?

Level1ScaleU= Numerical range?
Level1ScaleV= Numerical range?
Level2ScaleU= Numerical range?
Level2ScaleV= Numerical range?

Time scales for normal map levels 1 and 2
What are the effects of this tuning?

Level1TimeScale=Numerical range?
Level2TimeScale=Numerical range?

Normal scales for levels 1 and 2
What are the effects of this tuning?

Level1NormalScale=Numerical range?
Level2NormalScale=Numerical range?

Water angles (in radians) for normal map levels 1 and 2
What are the effects of this tuning?

Level1WaterAngle=Numerical range?
Level2WaterAngle=Numerical range?

Angles (in radians) and heights for big waves
What are the effects of this tuning?

BigWave1Angle=Numerical range?
BigWave2Angle=Numerical range?
BigWave1Height=Numerical range?
BigWave2Height=Numerical range?

Time and world scales for big waves
What are the effects of this tuning?

BigWave1TimeScale=Numerical range?
BigWave2TimeScale=Numerical range?
BigWave1WorldScale=Numerical range?
BigWave2WorldScale=Numerical range?

Noise texture offset for sine wave ripples
What are the effects of this tuning?

The noise texture itself is stored in GameData/Textures/

NoiseScaleU = Numerical range?
NoiseScaleV = Numerical range?

Global scaling rate for normal map scrolling for waves.
What are the effects of this tuning?

MinimumTimeRate is independent of the game clock. ClockTimeScale is a multiple of the game clock. A MinimumTimeRate of 0 will allow the wave motion to come to a complete halt when the game is paused. A ClockTimeScale of 0 will make the wave animation completely independent of clock time. At least one of these needs to be nonzero or the waves will always be frozen. Note that this is just for sea; ponds have their own value.

MinimumTimeRate = Numerical range?
ClockTimeScale = Numerical range?

Sun vertical stretch factor
What are the effects of this tuning?

Sun radius and falloff function can be adjusted by editing GameData/Textures/ This variable is being used for the ponds as well.

SunStretchFactor = Numerical range?

MIP selection parameters: the water shader uses a the MIP level lookup of a dummy grayscale texture to determine the relative influence of the blurry+flat versus crisp+rippled effect. The texture used for this can be adjusted by changing Adjusting the tiling density will affect which mip levels get chosen, thus setting the beginning and endpoints for the MIP lookups. Higher numbers mean blurrier water.

MipLookupScaleU =
MipLookupScaleV =

Defines the water depth at which murkiness completely takes over.
This value influences how far underwater players can see. Setting this value very low can make the water very see-through, as is the case with Bridgeport's default tuning (1.0). This can have an unpleasant effect, exposing edges that should be concealed. To avoid this it is best to keep the value higher (10.0).

0 is always clear(refractively) and any depth above this value will be dominated by the Sea Water Color defined by the weather timeline (unless it's being reflective due to fresnel). Lower numbers mean murkier water. Note that this value gets baked into the verts at geometry generation time, and currently is not getting re-applied per-frame.

WaterDepthFactor = 1.0 - 10.0+

Amount of difraction in the shoreline lookup
What are the effects of this tuning?

RefractionDistortionScale = Numerical range?

Controls blend of shoreline depths.
Controls how gradually the shoreline transitions down into opaque water color.

ShoreDepthStart cannot be zero since it is used in a division operation.

ShoreDepthStart = 1.0+
ShoreDepthEnd = End of numerical range?

Community content is available under CC-BY-SA unless otherwise noted.