MCreator supports custom OBJ models for item and block-based mod elements; however, when possible, use JSON models instead as they offer better compatibility with Minecraft. OBJ support in Minecraft is not native and is added by Forge and unpredictable errors may occur.
Importing OBJ model
Go to the Workspace tab, in the Resources sub-tab, select the 3D models and texture mappings section. Click the import OBJ model button.
Select your OBJ model and the MTL material file of the model. If your model has textures, MCreator will ask you for texture mappings (starting from 1.8.3). To use the model for a block or item, simply select it as the model when creating the block or item.
OBJ model limitations
- The OBJ model must meet all general OBJ model standards. Click here to validate your model.
- All faces must be triangulated when being exported
- All parts of the model must be connected together into one polygon
- All meshes should be optimized. Complex spheres, for example, will not load.
- No S references are allowed in the obj file.
If your model is not properly affected by lightning, edit your model's MTL file before importing. Find line
Ka 1.0 1.0 1.0
and change it to
Ka 0.0 0.0 0.0
or some value in-between if you want the light to have a partial effect only.
Only very basic materials are supported. Only basic transparency is supported for the time of writing. It is said that this support is to be improved in the future, but this depends on when Minecraft adds support for this as we use their model loader. Advanced shading will be reduced to basic shading and all advanced material settings like metalness or roughness will be ignored.
From MCreator 1.8.3 onwards, support for UV textured OBJ models were introduced.
There are two main limitations:
- Textures need to be in PNG file format. The aspect ratio should, at best, be 1:1. If the texture you use is not square, just stretch it so its aspect ratio will be 1:1. This will not affect how your model looks as it will be down stretched later, but Minecraft works best with square textures.
- All textures can be mapped only on the scale from 0 to 1. This means that no vt parameter (UV texture coordinates) in OBJ can be larger than 1 or smaller than 0. You need to consider this when mapping the textures on the model in your OBJ modeler.