Vixen
c7401864
csharp
public sealed class WaterZoneSettings

What the zone panel edits, and the numbers it derives from them.

Read the guide page for this →

Remarks

[35 § The zone panel](../../docs/plan/35-water.md#the-zone-panel), and the derived half is the point of it. A resolution somebody types is meaningless and a metre per texel is not; the panel shows both, updating as the resolution changes, in [31](../../docs/plan/31-terrain-grass-and-trees.md)'s create-dialog style. Doc 35 § D3 puts it plainly: "a number an author types into render_target_resolution with no idea what it buys is how the reference gets configured wrongly".

⚠ The readouts are computed by the kernel rather than by the panel. MetresPerTexel, Bytes and HeightQuantum are the same properties the renderer sizes its texture from — a panel with its own arithmetic is a panel that can be right about a configuration the renderer refuses.

Fields and properties (16)

  • public float Extent

    How wide and deep the sliding window is, in metres.

  • public int Resolution

    How many texels along each axis.

  • public WaterInfoPrecision Precision

    How many bits a channel of the info texture carries.

  • public float ScrollThreshold

    How far the view may move before the window is re-rasterised, as a fraction.

  • public float CoarsestTexel

    How many metres a texel of the coarsest thing reading the field covers.

  • public string WaveAsset

    Which .vxwaves the sea state comes from, or empty for the one below.

  • public float WindSpeed

    How hard the wind blows, in metres a second.

  • public float WindDirection

    Which way, in degrees about the vertical axis.

  • public float DirectionalSpread

    How far off the wind a wave may travel, in degrees.

  • public WaterWaveCount WaveCount

    How many waves the sum runs over.

  • public int Seed

    Which sea, of all the seas with these numbers.

  • public float AttenuationDepth

    The depth at which waves reach their full height, in metres.

  • public WaterZone Zone

    These numbers as the kernel's own description.

  • public WaterWaveSpectrum Spectrum

    And the sea state.

  • public WaterZoneComponent Component

    What a scene entity carries, built from these.

  • public WaterWavesAsset Asset

    The sea state this asset would hold, for the Create ▸ entry that writes one.

Methods (2)

  • public string? Validate()

    Why this zone cannot be created, or if it can.

  • public IEnumerable<(string Label, string Value)> Facts()

    The derived facts the panel shows under the form, in the order it shows them.

Used by (4)

  • Describes_Vixen_Editor_Water_WaterZoneSettingsVixen.Editor.Water
  • WaterEditTestsVixen.Editor.Water.Tests
  • WaterModeVixen.Editor.Water
  • WaterModuleVixen.Editor.Water