Vixen
02b45cc4
csharp
public readonly record struct CurveCompressionSettings

How far a compressed curve may stray from the one it replaces.

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

Remarks

Three tolerances rather than one, because the three tracks are not in the same units and a single number would have to be wrong for two of them. The rotation one is the one that matters: it is what decides how much of a hundred-joint character's data survives, and the error it admits is amplified by the length of the chain below the joint — which is why the default is conservative and a shoulder deserves a tighter one than a finger.

Fields and properties (5)

  • public float Position

    In metres. A tenth of a millimetre by default.

  • public float Rotation

    In radians. A twentieth of a degree by default, which at the end of a one-metre limb is under a millimetre.

  • public float Scale

    As a ratio. A ten-thousandth by default.

  • public static CurveCompressionSettings Default

    The defaults: visually lossless on the rigs this was measured against.

  • public static CurveCompressionSettings Aggressive

    Tolerances loose enough to be worth a screenshot before shipping.

Methods (1)

  • public CurveCompressionSettings(float Position = 0.0001, float Rotation = 0.001, float Scale = 0.0001)

    How far a compressed curve may stray from the one it replaces.

Used by (3)

  • CompressionBenchmarksVixen.Benchmarks.Animation
  • AnimationCurveCompressorVixen.Animation
  • CompressionTestsVixen.Animation.Tests