Skip to content

A CLI for processing composite Wavefront OBJ files for use in MuJoCo.

License

Notifications You must be signed in to change notification settings

kevinzakka/obj2mjcf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

obj2mjcf

PyPI Python Version PyPI version

obj2mjcf is a CLI for proccessing composite Wavefront OBJ files for use in MuJoCo. It automatically:

  • Splits an OBJ file into sub-meshes that are grouped by the materials referenced in the OBJ's MTL file
  • Generates an MJCF XML file that is pre-filled with materials, meshes and geom elements referencing these OBJ files
  • Optionally generates a collision mesh by performing a convex decomposition of the OBJ using CoACD

obj2mjcf was used to process model meshes for MuJoCo Menagerie:

Motivation

As of June 2022, MuJoCo does not support composite OBJ files consisting of groups or objects (o or g OBJ tags) and only 1 material can be assigned per mesh. This means that you have to manually split your OBJ file into sub-meshes, a process that is tedious and error-prone. This tool is meant to automate this process.

Installation

Important. MuJoCo support for OBJ files is only available in versions 2.1.2 and above. Make sure you upgrade to the latest version via the Releases page.

The recommended way to install this package is via PyPI:

pip install --upgrade obj2mjcf

Usage

Type the following at the command line for a detailed description of available options:

obj2mjcf --help