A powerful Isaac Sim extension for converting MuJoCo XML Configuration Format (MJCF) files to Universal Scene Description (USD) format.
Welcome to the Lightwheel open-source community!
Join us, contribute, and help shape the future of AI and robotics. For questions or collaboration, contact Frank Chen at ming.chen@lightwheel.ai.
MJCF2USD is a user-friendly tool that enables seamless conversion of MuJoCo simulation files to USD format, making it easy to integrate MuJoCo models into Omniverse workflows and other USD-compatible applications.
- Batch Conversion: Convert multiple MJCF files at once
- Intuitive UI: Simple and clean interface with step-by-step guidance
- Flexible Output: Choose custom output locations or use default paths
- Progress Tracking: Real-time conversion progress with time estimates
- Error Handling: Detailed success/failure reporting
- XML Modification: Optional temporary XML file saving for debugging
- NVIDIA Isaac Sim
-
Clone this repository to your Omniverse extensions directory:
git clone <repository-url> /path/to/isaacsim/extensions
-
Enable the extension through the Extensions Manager in Isaac Sim.
-
Set the Import Path in Isaac Sim:
- Open Isaac Sim and go to
Window>Extensions. - Click the
Settings(gear) icon. - In the
Extension Search Pathssection, click the+button. - Copy and paste the parent path of the
mjcf2usdfolder (the path where you cloned this repository).
- Open Isaac Sim and go to
π For detailed step-by-step instructions with screenshots, please refer to Installation.pdf included in this repository.
-
Launch the Extension:
- Open IsaacSim
- Go to
Window>Extensions. - Enable "MJCF2USD" extension
- The MJCF2USD window will appear
-
Select MJCF Files:
- Click "Select File or Folder" in step 1
- Choose either a single MJCF file or a folder containing multiple MJCF files
- The extension will automatically scan and list all found MJCF files
-
Choose Output Location (Optional):
- Click "Select Folder" in step 2
- Choose where you want the USD files to be saved
- If left empty, USD files will be saved in the same directory as the MJCF files
-
Configure Options:
- Check "Save Temp MJCF XML" if you want to save modified XML files for debugging
-
Start Conversion:
- Click "MJCFs to USDs" button
- Monitor the progress in the status area
- View conversion results and timing information
- Success: USD files will be created in the specified output location
- File Naming: Output files follow the pattern
{parent_folder}_{filename}.usd - Reports: Detailed conversion statistics including:
- Total conversion time
- Number of successful conversions
- Number of failed conversions
- List of successful and failed files
MJCF2USD/
βββ config/
β βββ extension.toml # Extension configuration
βββ data/
β βββ logo.png # Extension icon
β βββ preview.jpeg # Extension preview image
βββ lightwheel/
β βββ MJCF2USD/
β βββ connection/
β βββ extension.py # Main extension entry point
β βββ window.py # UI window implementation
β βββ mjcf2usd_utils.py # Core conversion utilities
β βββ option_widget.py # UI components
β βββ ui_utils.py # UI utility functions
β βββ style.py # UI styling
βββ LICENSE.txt # License file
βββ README.md # This file
omni.kit.uiapp: Omniverse UI frameworkomni.ui: Omniverse UI componentsomni.usd: USD manipulation utilitiesomni.kit.commands: Omniverse command system
The extension is built using Omniverse Kit's extension system. No additional build steps are required beyond the standard Python module structure.
Current version: 1.0.0
For issues and questions, please contact the development team or create an issue in the repository.