Vixen
02b45cc4
csharp
public interface IGaitModel

Turns what a body is doing into numbers a move can be measured against.

Read the guide page for this →

Remarks

The one place a body's kind shows up in selection. A biped, a quadruped and something with wheels differ here and nowhere else in this namespace, which is why the interface exists before the second implementation does.

⚠ The boundary with the character controller, drawn once and enforced by the signature. A body's movement model has two halves with different owners:

How the body may move Acceleration and braking, top speed per gait, turn radius, whether it strafes or turns first. The controller's, in doc 29. Simulated, replicated, server-authoritative. What the animation should therefore be The numeric targets a query is scored against. This. A presentation detail that may legitimately differ per client and per level of detail.

They are easy to confuse because a quadruped differs in both, and the temptation is one object answering both questions. A gait model reads the controller's state and never sets it — which is why Describe takes the state by value and writes only into the targets.

Methods (1)

  • void Describe(in MoveState state, ref MoveTargets targets)

    Describes what the animation should be doing.

Used by (3)

  • BipedGaitModelVixen.Animation
  • SeamTestsVixen.Animation.Tests
  • WheeledTestGaitModelVixen.Animation.Tests