I'm using version 3.3, but I think it's been this way awhile. What's the difference between the legacy wavefront .obj exporter and the normal one? Why are there two exporters at all?
The "normal one" is a new OBJ importer/exporter. The old OBJ addon (the legacy one) is in the process of being phased out and replaced by the new one. When that's done there will only be one again.
- Blender 3.2 The new OBJ exporter is added with the name
Wavefront (.obj) (experimental).
- Blender 3.3 The new OBJ exporter is renamed plain
Wavefront (.obj). The old one is renamed
Wavefront (.obj) (legacy).
- Sometime in the future The old one is planned to be removed, leaving just the new one.
You should generally use the new one (
Wavefront (.obj) in 3.3). It's much faster and also has some bug fixes and new features like vertex color support. You can still use the legacy one if you encounter a problem with the new one.
Base on my experience, the uv mapping is somehow wrong if I'm importing with the new obj. I've no problem with the uv mapping if I'm importing with obj legacy.
$\begingroup$ This is correct. I have also faced the same issue. The reason is that Blender in 2% cases does not preserver the Vertex ordering. This does not change the geometry but affects UV mapping. To force Blender not doing this do,
bpy.ops.import_scene.obj(filepath=file_loc,use_split_objects=False, use_split_groups=False, use_groups_as_vgroups=False, use_image_search=True, split_mode='OFF')$\endgroup$ Mar 10 at 1:08