Maya Cadence Cam // Documentation

CADENCE.CAM  //  FOOTSTEP MATRIX

Version 1.0  |  Non-Destructive Layout Cadence Cam

01  —  Annotated UI Overview Hover a callout number to highlight it. Image size: 616x1366

The tool builds a non-destructive camera shake on top of your existing layout animation. Dial in a movement style, preview it live on the built-in oscilloscope and velocity heat-map, then bake it onto a clean group rig that can be removed at any time without damaging your original camera path.

  • 1
    Camera Selector

    Dropdown of every camera in the scene (Maya's default persp/top/front/side cameras are filtered out). The Refresh button re-scans the scene — handy after importing or renaming a camera.

  • 2
    Preset Buttons — Walk / Jog / Sprint / Custom

    One click loads a fully tuned movement style across every slider. Custom simply clears the active highlight so you can hand-build your own feel. Selecting a preset updates the live waveform instantly.

  • 3
    Footstep Engine — Cadence

    Steps per second. Drives how frequently footfall impacts are generated along the timeline (e.g. 1.8 for a walk, 3.5 for a sprint).

  • 4
    Footstep Engine — Impact

    Master strength of each footfall. Scales both the vertical bounce and the rotational roll produced by a step.

  • 5
    Footstep Engine — Bounce

    The vertical (translateY) drop the camera takes on each step, modelled as a damped spring so it settles naturally.

  • 6
    Footstep Engine — Roll

    Side-to-side rotational rock (rotateZ) added per step. The direction alternates left/right foot for a believable gait.

  • 7
    Footstep Engine — Randomness

    Humanises the timing of each step by jittering when it lands, so the cadence never feels metronomic.

  • 8
    Handheld Motion — Body Sway

    Amplitude of the slow lateral drift (translateX) that simulates the operator's weight shifting from side to side.

  • 9
    Handheld Motion — Sway Freq

    Speed of the body sway in Hz. Lower values read as a relaxed walk; higher values feel hurried.

  • 10
    Handheld Motion — Tremor Amp

    Amplitude of the layered high-frequency micro-shake (rotateX/Y/Z) — the subtle hand-held nervousness on top of the larger motion.

  • 11
    Handheld Motion — Tremor Freq

    Speed of the tremor in Hz. Three offset sine waves are blended at this base frequency for an organic, non-repeating jitter.

  • 12
    Handheld Motion — Breathing

    A very slow rise/fall added to the sway, mimicking the operator's breathing cycle.

  • 13
    Master — Intensity

    A single 0–200% multiplier over everything. Perfect for dialling the whole effect up or fading it out without touching individual sliders.

  • 14
    Master — Seed

    Randomisation seed. The same seed always produces the identical shake, so results are repeatable; change it to roll a different variation.

  • 15
    Waveform Preview

    An oscilloscope of the combined vertical displacement. It redraws live as you move any slider, with faint vertical markers showing where each footstep lands.

  • 16
    Velocity Heat Map

    A thermal bar of the camera's real per-frame speed (cool = stationary → white-hot = fast), populated after you press ANALYZE. White tick marks overlay the generated footstep timing.

  • 17
    Analyze Camera

    Samples the selected camera's world-space velocity across the playback range and draws the heat-map. Read-only — it never changes your scene. Run this before building to match shake intensity to how fast the camera is actually moving.

  • 18
    Build & Bake Shake

    Builds the non-destructive rig under the selected camera and keys the shake across the full playback range. Your original camera is never modified — its animation drives the rig, and a new preview camera (<cam>_shakeCam) shows the combined result. Wrapped in a single undo chunk. This is step one — build the rig first, then use Auto Live to iterate.

  • 19
    Auto Live

    On by default. While active, any change to a preset or slider automatically re-bakes the shake onto the existing rig after a short pause — so switching Walk → Jog → Sprint feels immediate. The Preview spinbox (default 100 fr) limits the re-bake to the first N frames so tweaking stays fast on long shots. The button turns amber and shows … BAKING while updating. When you're happy, press BUILD & BAKE to commit the full range, or go straight to BAKE STANDALONE CAMERA.

  • 20
    Look Through Shake Cam

    Looks through the rig's preview camera so you can see the shake live in the viewport — the original camera stays exactly where it was. Scrub the timeline to review the Auto Live preview range.

  • 21
    Bake Standalone Camera

    Bakes the combined original-motion + shake into a brand-new, independent camera (<cam>_shakeBaked) with its own keyframes — rig-independent and ready to hand off or export (e.g. via the Solaris exporter). The rig and original are left intact. Uses a constrained bakeResults pass so every frame evaluates correctly.

  • 22
    Remove Shake Rig

    Deletes the rig and its hidden helper locator. Because the original camera was never touched, it is already pristine — there is nothing to restore.

02  —  Rig Architecture Why it never breaks your camera path

The rig is built under the original camera, so the camera's own animation drives the whole chain through Maya's hierarchy — the original node is never baked, reparented, or modified in any way. A new preview camera at the end of the chain shows original motion + shake, and everything updates live as you scrub.

Hierarchy

camera
  └ _SHAKE_MASTER  — identity; rides the original camera
    └ _SHAKE_WORLD  — orient-constrained to world identity
      └ _SHAKE_TRANS  — translation shake (bounce = world‑up, sway)
        └ _SHAKE_AIM  — orient-constrained back to the camera
          └ _SHAKE_ROT  — rotation shake (roll + tremor)
            └ _shakeCam  — preview camera (no keys; lens live-linked)

World-Up Bounce, Camera-Relative Tremor

A node's translation lives in its parent's space, so the translation group (_SHAKE_TRANS) sits beneath a group that is orient-constrained to world identity (_SHAKE_WORLD). That keeps footstep bounce aligned to world up even when the camera pitches. Orientation is then snapped back to the camera (_SHAKE_AIM) so roll and tremor read correctly as camera-relative rotation.

Live Lens & Preview

The preview camera's focalLength, film aperture, clip planes, fStop and focus distance are live-connected from the original, so it frames identically — even with an animated lens. Only the shake offsets are keyframed; the original's motion and the two orient-constraints are evaluated live, so scrubbing shows the result instantly with nothing to bake for preview.

Reversible & Export-Ready

Remove Shake Rig simply deletes the rig and its hidden world-reference locator — the original camera was never touched, so there is nothing to restore. When you're happy, Bake Standalone Camera samples the preview's combined motion (via a constrained bakeResults pass) into a fresh, independent camera with keyframes — perfect for hand-off or USD/Solaris export. Build, Bake and Remove each run inside a Maya undo chunk.

03  —  Movement Presets Tuned starting points

🚶 Walk

Gentle, slow gait. Cadence 1.8, light impact and bounce, soft sway and a barely-there tremor. The everyday handheld look.

🏃 Jog

Faster and heavier. Cadence 2.8, doubled impact, stronger roll and a more noticeable sway/tremor for an energetic feel.

💨 Sprint

Fast and aggressive. Cadence 3.5, full impact and roll, the widest sway and the most tremor — a hard-running camera.

Custom Mode

Start from any preset, then nudge individual sliders — or click Custom to clear the highlight and build a movement style from scratch. The Seed field keeps every variation repeatable.

04  —  Workflow From layout to baked shake

Run It

exec(open('C:/path/to/CadenceCamGenerator/CadenceCamGenerator.py').read())