public static class RigidBodySolverMoves one rigid transform to satisfy a set of goals. No chain, no hierarchy.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The same solve twice over, which is the argument for the type existing. A character's root placement and a camera are the same problem: a single transform with position, orientation and aim goals and nothing below it. Writing it once means the camera inherits regions, additive goals, weights and priority for free, and means a bug in the averaging is one bug.
⚠ Distance goals are ignored here and that is deliberate. A distance goal is about the separation of two joints; a body with no joints has no pair for it to be about, and quietly reinterpreting it as a distance from the origin would be a different constraint wearing the same name.
Methods (1)
public static BoneTransform Solve(in BoneTransform body, ReadOnlySpan<ResolvedGoal> goals, out float moved, out float turned)Works out where a body should be.
Used by (2)
- CameraConstraintsVixen.Animation
- ConstraintStackVixen.Animation