Quick Start
Configuration File
Located atPARC/motionscope/motionscope_config.yaml:
Basic Settings
Loading Motions
Terrain Settings
Loading MDM Model
To enable motion generation within MotionScope:Keyboard Controls
Playback Controls
- Space: Play motion from beginning
- E: Jump to end of motion
- Mouse Wheel: Adjust playback speed
Editing Controls
- A: Set terrain elevation at mouse position (use with Terrain GUI)
- C: Set contact body constraint point at mouse position
- N: Place path node at mouse position (for path planning)
- G: Generate motion using loaded MDM
Navigation
- Left Mouse: Rotate camera
- Right Mouse: Pan camera
- Scroll: Zoom in/out
GUI Panels
Access panels via the “GUIs” tree menu.Motion Playback GUI
Always visible at the bottom of the screen. Controls:- Paused: Pause/resume playback
- Looping: Enable/disable loop playback
- Previous Frame / Next Frame: Step through frames
- Motion time slider: Scrub through animation
- Total frames
- FPS
- Current frame number
Motion GUI
Edit motion data:- Frame-by-frame editing
- Root position/rotation adjustments
- Joint rotation modifications
- Apply transformations
- Time warping and retiming
Contact GUI
Edit contact labels for body parts. Usage:- Select body part from dropdown (e.g., left_foot, right_hand)
- Set start and end frame indices
- Click “Set Contact” or “Remove Contact”
- Labels updated in real-time on the motion
- left_foot, right_foot
- left_hand, right_hand
- left_knee, right_knee
- pelvis, torso
Terrain GUI
Edit terrain heightfields. Controls:- Terrain height: Set elevation value
- Mouse size: Brush radius for elevation changes
- Set desired height and brush size
- Hover mouse over terrain
- Press A to apply elevation at cursor
- Flatten regions
- Smooth heightfield
- Maxpool operations
MDM GUI
Generate new motions using the loaded diffusion model. Features:- Set target direction
- Configure generation parameters
- Generate motion from current state
- Preview generated candidates
- Select best motion
- Load MDM via config:
load_mdm: True - Open MDM GUI
- Set target direction with mouse
- Press G or click “Generate”
- Review generated motions
Optimization GUI
Run kinematic optimization on the current motion. Parameters:- Number of iterations
- Step size
- Loss weights (smoothness, penetration, contact, etc.)
- Open Optimization GUI
- Configure parameters (or use defaults)
- Click “Optimize Motion”
- View optimized result
- Save if satisfied
Path Planning GUI
Plan paths on terrain using A* pathfinding. Features:- Place path nodes with N key
- Visualize path on terrain
- Adjust A* parameters
- Generate motions along path
- Press N to place start node
- Press N again to place end node
- Click “Plan Path” to compute A* path
- Use with MDM GUI to generate motion along path
Recording GUI
Record motions from physics simulation (requires Isaac Gym on Linux). Features:- Configure recording settings
- Launch recording sessions
- Save recorded motions
Isaac Gym GUI
Linux only - Integrates with Isaac Gym for physics simulation. Features:- Launch simulation
- Visualize physics tracking
- Debug controller behavior
Kin Controller GUI
Real-time kinematic control using loaded MDM. Features:- Control character with target direction input
- Real-time motion generation (requires high-end GPU)
- Interactive character steering
- RTX 4090: Real-time
- RTX 3090: Slower than real-time
- Lower GPUs: May be too slow
Help GUI
Quick reference for commands and controls. Press H or open via GUIs menu.Visibility Controls
Under the “Visibility” tree menu:- View motion sequence: Show/hide motion trail
- Motion Sequence Visibility: Transparency slider
- View local hf: Show local heightfield around character
- Local Heightfield Visibility: Transparency slider
- View shadow: Show character shadow on terrain
- Target direction visible: Show target direction arrow
- Mouse spheres visible: Show cursor position indicators
- Body points visible: Show character collision points
- Viewing character: Show/hide character mesh
- Prev state visible: Show previous pose overlay
- Flag mesh: Show target flag
- Origin axes: Show world coordinate axes
Saving
Under the “Saving” tree menu:Save Options
- Save path with motion: Include path nodes in saved file
- Save motion as loop: Set loop mode to WRAP
- Save terrain with motion: Include terrain heightfield
Save Current Motion
Click “Save Current Motion” to save tooutput/_motions/new_motion.pkl.
Saved data includes:
- Root positions and rotations
- Joint rotations
- Contact labels
- FPS and loop mode
- Terrain (if enabled)
- Path nodes (if enabled)
- Body constraints (if computed)
- Camera parameters (if set)
Set Saved Camera Params
Click “Set Saved Camera Params” to store the current camera view. This camera pose is saved with the motion for consistent visualization.Legacy Save Format
Click “[LEGACY] Save Current Motion” for older file format compatibility.File Formats
Motion File (.pkl)
MotionScope uses pickle files containing: MSMotionData:root_pos: Root positions over timeroot_rot: Root rotations (quaternions)joint_rot: Joint rotationsbody_contacts: Contact labels per framefps: Frame rateloop_mode: “CLAMP” or “WRAP”
hf: Heightfield 2D arrayhf_maxmin: Min/max height valuesmin_point: Terrain origindx: Grid cell size
path_nodes: Path waypointshf_mask_inds: Terrain contact indicesopt:body_constraints: Body constraint datacam_params: Saved camera parameters
Advanced Features
Motion Editing Workflow
- Load motion in MotionScope
- Use Motion GUI to adjust poses
- Use Contact GUI to refine contact labels
- Use Terrain GUI to modify terrain
- Use Optimization GUI to smooth results
- Save edited motion
Terrain Editing Workflow
- Load or create terrain
- Set brush size and height in Terrain GUI
- Press A while hovering to sculpt
- Flatten regions as needed
- Save terrain with motion
Motion Generation Workflow
- Load MDM model (
load_mdm: True) - Open MDM GUI and Path Planning GUI
- Place path nodes with N key
- Plan path with A*
- Set generation parameters
- Press G to generate
- Review and select best candidate
- Optionally optimize with Optimization GUI
- Save result
Troubleshooting
Cannot Load Motion File
Symptoms: Error loading.pkl file
Solutions:
- Check file path is correct
- Verify file format (set
use_legacy_file_formatappropriately) - Ensure motion file is not corrupted
- Try loading with a minimal config
Terrain Not Visible
Symptoms: Character visible but no terrain Solutions:- Check motion file includes terrain data
- Try different
terrain_mesh_mode: “simple” or “greedy” - Verify terrain heightfield is not all zeros
- Check visibility settings
Character Looks Wrong
Symptoms: Character mesh distorted or in wrong pose Solutions:- Verify character model:
"humanoid"in motions config - Check joint rotations are valid quaternions
- Ensure character definition file exists
- Try reloading the motion
MDM Generation Fails
Symptoms: Generation produces no output or errors Solutions:- Verify MDM model path is correct
- Check model is compatible with current code version
- Ensure CUDA device is available
- Try generating with simpler parameters first
Performance Issues
Symptoms: Laggy playback, slow interactions Solutions:- Reduce motion sequence visibility
- Hide body points
- Disable local heightfield visualization
- Use “simple” terrain mesh mode
- Close unused GUI panels
Tips and Best Practices
- Workflow efficiency: Keep commonly used GUIs open, close others
- Visibility management: Use transparency sliders to see through overlapping elements
- Saving often: Save incrementally to avoid losing work
- Camera views: Save camera params for consistent presentation
- Contact editing: Edit contacts on a paused motion for precision
- Terrain sculpting: Use small brush sizes for detail, large for broad changes
Platform Notes
- Windows/Mac: Motion viewing, editing, and generation work fully
- Linux: Additional Isaac Gym integration for physics simulation
- GPU: Required for MDM generation; higher-end GPUs for real-time control
Next Steps
- View generated motions: Load motions from motion synthesis
- Edit contacts: Refine contact labels for better tracking
- Create variants: Edit and save motion variations
- Quality check: Review motions before using in tracking