Prerequisites
- MuJoCo installed on your system. See mujoco.org for download and installation instructions.
- A Python environment (recommended: Python 3.9+) with the
mujocoPython bindings, or the MuJoCo standalone viewer. - A Gizmo account with alpha access. Contact viswajit@antimlabs.com if you need access.
- At least one asset generated in Gizmo (see Generate Your First 3D Asset).
Steps
Generate an asset in Gizmo
Sign in at gizmo.antimlabs.com and generate the asset you want to use in your MuJoCo simulation.Write a descriptive prompt that captures the object’s materials, dimensions, and functional purpose. For example:See the Generate Assets guide for detailed prompt-writing tips.
Export as MuJoCo XML / MJCF
In the asset panel, click Export and select MuJoCo (MJCF/XML) as the target format.Gizmo will compile the asset’s geometry, articulation graph, and physics properties into a single MJCF-compliant XML file (and any associated mesh assets).
Download the exported file
Click Download to save the exported package to your local machine. The archive typically contains:
model.xml— the top-level MJCF filemeshes/— STL or OBJ mesh files referenced by the MJCFtextures/— texture maps, if applicable
Do not move mesh or texture files out of the folder structure produced by Gizmo. MuJoCo resolves asset paths relative to the XML file’s location.
Load in MuJoCo viewer or Python
You can inspect the model interactively in the MuJoCo viewer or load it programmatically in Python.
- Python
- Standalone viewer
Use the Replace
mujoco Python package to load and step through the model:"path/to/model.xml" with the actual path to your downloaded MJCF file.Verify joints and geometry
Once the model is loaded, inspect the following:
- Bodies and geoms — Confirm the kinematic tree matches the expected structure (links, sub-links, end-effectors).
- Joints — Check joint types (hinge, slide, ball, free), axes, and range limits in the viewer’s Joints panel.
- Collision geometry — Toggle contact visualization to see collision shapes overlaid on the visual mesh.
-
Inertial properties — If you need to verify mass and inertia, inspect the
<inertial>elements in the MJCF or query them via Python:
About MJCF
MJCF (MuJoCo Modeling Format) is MuJoCo’s native XML-based model description language. A single MJCF file describes the complete physics model of an object or robot:| MJCF element | What it defines |
|---|---|
<worldbody> | The root of the kinematic tree |
<body> | A rigid link with pose, inertia, and child elements |
<geom> | Collision and/or visual geometry (box, sphere, mesh, etc.) |
<joint> | A degree of freedom between a body and its parent |
<actuator> | Motors, position servos, or general actuators |
<asset> | Meshes, textures, and materials referenced in the model |
Physics fidelity and articulation
Gizmo exports include pre-configured articulation for all moving parts inferred from your description. Joint types, axes, and range limits are set automatically — for example, a Rolling Stool will have caster joints on its wheels, and a Wall Cabinet will have hinge joints on its doors.Mass and inertia values are estimated from geometry and material density. For high-precision dynamics research, you may want to override these values in the MJCF after export.