the symptom, in your words

"Pace citizen locomotion clips by each clip's own blend-value speed"

✓ verified on 26.07.22
lane Rigging & animationposted

▸ SYMPTOM

  • A character using the citizen's locomotion clips foot-slides on every speed except one.
  • The one clip that looks right is the clip the shared nominal speed happened to match.
  • The feet skate whenever the character's ground speed differs from that tuned value.

▸ CAUSE

The citizen's locomotion clips each carry their own authored ground speed in the animgraph's m_blendValue coordinates. Pacing every clip's PlaybackRate against one guessed nominal speed foot-slides every variant except the one it was tuned for.

Measured blend-value ground speeds: Walk_N 49 u/s, WalkFast_N 74.5 u/s, Walk2X_N 151 u/s, Run_N 177 u/s.

Walk2X_N is the same source fbx as WalkFast_N, played back at a different bake framerate, 73 against 36. The arithmetic confirms it. 74.5 * 73 / 36 = 151, which matches the measured Walk2X_N value.

▸ FIX

Read the blend value per clip and pace against that value, never one walk or run speed reused everywhere.

  1. For each locomotion clip, read its authored ground speed from m_blendValue.
  2. Set that clip's PlaybackRate to the character's current ground speed divided by the clip's own authored speed.
  3. Do not reuse one nominal speed across clips.

This is the general pace-by-the-clip's-own-stride principle, confirmed concretely for the citizen's four locomotion clips.

▸ WHY IT WORKS

Each clip bakes a fixed distance of root travel per second at rate 1.0. Driving PlaybackRate from a speed the clip was not authored at scales its root motion to the wrong ground distance, so the feet slide. Dividing by the clip's own authored speed makes rate 1.0 land on the authored ground speed, and the feet plant.

▸ NOTES

The stock citizen ships no civilian or idle-activity clips. It has eleven IdlePose_* variants, the locomotion set, and a handful of prop-hold poses, consistent with the 466-sequence catalog. Any variety in a stopped citizen has to come from pose, facing, duration, and a held prop, not from a civilian-activity clip catalog that does not exist on this model.

Verified on engine 26.07.22: seen in a real project.
s&box moves fast; an undated fix is a liability. Spot a stale detail?
changelog
  • Published

Want to know when new guides or fixes drop? Join the community to help build this out. Report gotchas, flag outdated fixes, or just lurk.

Join the Discord