Skip to main content
3 of 15
added 282 characters in body
iKlsR
  • 43.7k
  • 12
  • 157
  • 190

There doesn't exist a way to do this in the options of the obj importer it seems so what you could do is run a script that loops over the items in your scene and export each to a different file relative to the path your blend file is saved.

import bpy

# get the path where the blend file is located
path = bpy.path.abspath('//')

# loop through all the objects in the scene and export each to its own file
# based on its name and by selection
for ob in bpy.context.scene.objects:
    # make the current object active and select it
    bpy.context.scene.objects.active = bpy.data.objects[ob.name]
    ob.select = True
    
    # make sure that we only export meshes
    if ob.type == 'MESH':
        # export the currently selected object to its own file based on its name
        bpy.ops.export_scene.obj(filepath=str(path + ob.name + '.obj'), use_selection=True)
    # deselect the object and move on to another if any more are left
    ob.select = False

To further tweak your export options, see the parameters that bpy.ops.export_scene_obj() accepts. For example, you can include normals with use_normals=True.

iKlsR
  • 43.7k
  • 12
  • 157
  • 190