Skip to content

t2m: foot-contact cleanup — detect ground contact + IK-pin feet post-pass #856

Description

@fernandotonon

Part of epic #837. Retargeted clips slide/float feet on rigs whose proportions differ from the source (cartoon characters especially) — the direction retarget (PR #843) transfers bone directions, not world foot positions.

Plan

  • Contact detection on the generated clip: per foot role, frames where the foot's world height is within a band of the clip's ground level AND its horizontal velocity is near zero → contact spans.
  • Pinning: during each contact span, lock the foot's world position to its span-start position with a 2-bone analytic IK (hip–knee–foot; knee axis from the existing pose), blending in/out over a few frames at span edges.
  • Post-process on the animation tracks (same architecture as the Retarget post-processing controls: Mixamo-style arm-space slider #854 arm-space slider: idempotent, undoable, qtme.* binding to store state).
  • Surfaces: on-by-default toggle in generation (GUI checkbox, CLI --no-foot-pin, MCP arg); standalone application to an existing clip.
  • Pure-data core (contact detection + 2-bone IK) unit-tested without GL.

Acceptance

  • Fox walk: feet visibly plant instead of skating; no knee pops (blend windows).
  • Idempotent re-apply; legacy/template/model paths all supported.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions