public interface IGaitModelTurns what a body is doing into numbers a move can be measured against.
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