Vixen
02b45cc4
csharp
public record class StickDeadzoneProcessor

Cuts out the centre of a stick's range and rescales what is left, radially.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Radial, on the magnitude, not per axis. An axial dead zone applied to each component separately makes a stick pushed diagonally at half deflection read as zero on both axes, and makes the live region a square with the corners of the circle cut off — which is why diagonal movement feels wrong in games that get this wrong. The defaults are Unity's, which are the values a decade of shipped games converged on.

On a one-dimensional binding it degenerates to the axial form, which is correct: a trigger has no direction to preserve.

Fields and properties (3)

  • public float Min

    How far from centre the live range starts.

  • public float Max

    Where it saturates — below 1 because a real stick never reaches its corners.

  • public string Name

    The name it is written under in a .vxinput.

Methods (2)

  • public StickDeadzoneProcessor(float Min = 0.125, float Max = 0.925)

    Cuts out the centre of a stick's range and rescales what is left, radially.

  • public Vector2 Process(Vector2 value, int dimensions)

    Reshapes a value.

Used by (1)

  • InputProcessorFactoryVixen.Input