English | 中文
motion_editor is a web-based tool for editing and visualizing robot models and motion data. It is built on top of the motion_viewer project, extending its functionality to support motion creation, editing, and export.
Its core purpose is to quickly load robot models in the browser, create and edit motion sequences, and export them in various formats for model validation, data inspection, debugging, and demos.
Space: play/pauseR: reset to frame 1Tab: switch view mode (root lock/free)Shift: toggle SMPL mesh/skeleton- Motion slider: seek by frame
- Motion panel:
FPSinput for CSV playback speedBVH Unitdropdown (m,dm,cm,inch,feet)
- Create Motion: Click the "Create Motion" button in the dataset panel to create a new motion file if you don't have motion file.
- Adjust Total Frames: Modify the total frames input field to change the motion duration.
- Insert Keyframes: Click the "Insert Keyframe" button to add keyframes at the current position.
- Adjust Joint Angles: Use the sliders in the motion controls panel to adjust joint angles for each keyframe.
- Root Joint Controls: Use the sliders to adjust root joint position and rotation (Euler angles).
- Smooth Root Motion: Click the "Smooth" button to smooth root motion between adjacent keyframes.
- Export Formats: Support exporting to CSV, GMR .pkl, and MimicKit .pkl formats.
- Export Process: After creating or editing a motion, use the export functionality to save the motion data.
- Load a URDF robot model by dragging and dropping the urdf folder.
- Click the "Create Motion" button in the dataset panel.
- Specify the FPS and total frames for the new motion.
- Use the timeline slider to navigate to different frames.
- Click "Insert Keyframe" to add keyframes at desired positions.
- Adjust joint angles and root joint parameters using the sliders.
- Use the "Smooth" button to smooth root motion between keyframes.
- Preview the motion using the playback controls.
- Export the motion to your desired format (CSV, GMR .pkl, or MimicKit .pkl).
- Install npm.
- Install dependencies, build and start dev server:
npm install
npm run build
npm run dev- Open the URL printed by Vite.
- 2026-3-20: 1.Optimize the interface and add keyframe control buttons, allowing keyframes to be switched using the keyframe button. 2.Optimize joint control window UI 3.Add joint highlighting feature
- Download LAFAN1 or lafan1-resolved.
- Drag and drop
.bvhfile.
- Download Unitree-LAFAN1-Retargeting.
- Drag and drop
g1/h1/h1_2folder underrobot_descriptionto load urdf. - Drag and drop any motion file (.csv) under corrospond folder.
- Download SMPL model SMPL-H (.npz), SMPL-X and AMASS dataset.
- According which motion you want to play, drag and drop corrospond model folder first, then drag and drop the motion file (.npz).
- eg. To visualize
AMASS/ACCAD/SMPL-X G/Female1General_c3d/A1_-_Stand_stageii.npz, chooseSMPL-X.
- eg. To visualize
- Download SMPL-X model.
- OMOMO dataset includes all motions in one .p file so it's to big to load using browser.
- You can download original dataset OMOMO (~21G) and use scripts to transfer and split it.
pip install joblib
python3 tools/convert_omomo_seq_to_motion_npz.py \
--data-root <path-to-omomo-dir> \
--output-dir-name <path-to-output-dir> \
--overwrite- Or you can download the preprocessed dataset omomo-resolved.
- Drag and drop
SMPL-Xmodel folder. - Drag and drop
captured_objectsobject model folder. - Drag and drop motion file (.npz).
- Download unitree_ros for unitree robots urdf.
- Drag and drop
g1_description/go2_descriptionfolder underunitree_ros/robotsto load urdf. - Follow MimicKit readme to get motion data.
- Drag and drop any motion file (.pkl) under corrospond folder
Mimickit/data/motions/.
- Download unitree_ros for unitree robots urdf.
- Drag and drop
g1_description/go2_descriptionfolder underunitree_ros/robotsto load urdf. - Follow GMR readme to get motion data.
- Drag and drop any GMR motion file (.pkl).
dance1_subject1.bvhbvh from LAFAN1.g1,h1,h1_2urdf and corrospnddance1_subject1.csvfrom Unitree-LAFAN1-Retargeting.go2SMPL-X Femalemodel from SMPL-X.SMPL-X G/Male2MartialArtsExtended_c3d/Extended_3_stageii.npzfrom ACCAD.largetable_cleaned_simplified.objfrom OMOMO.sub1_largetable_013.npzfrom omomo-resolved.
These motions are provided for website feature demonstration only. No model or motion downloads are offered. Please obtain assets from the original source and follow its license terms. If you have any issues, please communicate through GitHub issues.
- motion_viewer
- robot_viewer
- urdf-loaders
- BVHView
- amass
- body_visualizer
- human_body_prior
- omomo_release
- GMR
- This project was completed using Trae vibe coding.