[Wavefront Export] Bug: active image from UV-Editor is set als map_diffuse #57339

Closed
opened 2018-10-21 23:01:50 +02:00 by David Goeth · 10 comments

Hello Everyone,

When exporting an object with the Wavefront exporter, the exporter overwrites the diffuse color map of the material with the active face image set in the UV image editor (if any is set). This problem doesn't occur when using the Cycles renderer. There, the face image is always 'None'.

I've looked on the addon code and it seems that this behaviour was programmed on purpose, but it is questionable for the following reasons:

  • It happens very easily to assign accidently an image to a group of faces in the uv image editor (at least it happens to me all the time).
  • The active face image is only visible on "Textured" mode and ignored when rendering for the "Blender internal" renderer. If an artist not only uses a diffuse channel but
  also specular and normal maps she/he won't use the "Textured" mode and thus not realizing that the final export might look different.
  • The active face image isn't a material property and thus shouldn't be treated as a diffuse color map.
  • In Cycles mode you don't have an active displayed face image, even when using the "Textured" mode. Thus the behaviour of the exporter is different when being in "Blender internal Renderer" mode or "Cycles Renderer" mode.

All in all, the behaviour is not intuitive, buggy, and i think it should be fixed.
I changed the addon for myself, so that the active face image isn't used anymore.

But i think this fix should also be applied to the official Wavefront addon.

The code for the export_obj.py, that includes all the changes i did, can be found on the following commit on my bitbucket site:
c9329d525a/io_scene_obj/export_obj.py

Hello Everyone, When exporting an object with the Wavefront exporter, the exporter overwrites the diffuse color map of the material with the active face image set in the UV image editor (if any is set). This problem doesn't occur when using the Cycles renderer. There, the face image is always 'None'. I've looked on the addon code and it seems that this behaviour was programmed on purpose, but it is questionable for the following reasons: - It happens very easily to assign accidently an image to a group of faces in the uv image editor (at least it happens to me all the time). - The active face image is only visible on "Textured" mode and ignored when rendering for the "Blender internal" renderer. If an artist not only uses a diffuse channel but ``` also specular and normal maps she/he won't use the "Textured" mode and thus not realizing that the final export might look different. ``` - The active face image isn't a material property and thus shouldn't be treated as a diffuse color map. - In Cycles mode you don't have an active displayed face image, even when using the "Textured" mode. Thus the behaviour of the exporter is different when being in "Blender internal Renderer" mode or "Cycles Renderer" mode. All in all, the behaviour is not intuitive, buggy, and i think it should be fixed. I changed the addon for myself, so that the active face image isn't used anymore. But i think this fix should also be applied to the official Wavefront addon. The code for the export_obj.py, that includes all the changes i did, can be found on the following commit on my bitbucket site: https://bitbucket.org/goeth/blender-wavefront/src/c9329d525a0b6dfeb91984fa7dbdf6388fa53a3f/io_scene_obj/export_obj.py
Author

Added subscriber: @Necon

Added subscriber: @Necon

Added subscriber: @brecht

Added subscriber: @brecht

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Brecht Van Lommel self-assigned this 2018-10-22 11:05:01 +02:00

Thanks for the report and patch.

In Blender 2.80 we removed Blender Internal, and the (OBJ) material export code was completely changed along with it. It now exports materials for shader nodes, and textures from Image Texture nodes.

We are not planning to do any more 2.79 feature releases, it's basically in bugfixing only mode now. We rather not make any changes to the behavior of exporters at this stage since people do depend on it exporting certain data.

Thanks for the report and patch. In Blender 2.80 we removed Blender Internal, and the (OBJ) material export code was completely changed along with it. It now exports materials for shader nodes, and textures from Image Texture nodes. We are not planning to do any more 2.79 feature releases, it's basically in bugfixing only mode now. We rather not make any changes to the behavior of exporters at this stage since people do depend on it exporting certain data.

Added subscriber: @mont29

Added subscriber: @mont29

I think that’s not the case anymore in 2.8 version of the add-on…

I think that’s not the case anymore in 2.8 version of the add-on…
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

This got an overhaul recently (at least in 2.8) as of f9c31589f6 [where this was also removed at first glance]

@mont29: think this can be closed?

This got an overhaul recently (at least in 2.8) as of f9c31589f6 [where this was also removed at first glance] @mont29: think this can be closed?
Member

oops, everyone was faster here :)

oops, everyone was faster here :)
Author

In #57339#544857, @brecht wrote:
Thanks for the report and patch.

In Blender 2.80 we removed Blender Internal, and the (OBJ) material export code was completely changed along with it. It now exports materials for shader nodes, and textures from Image Texture nodes.

We are not planning to do any more 2.79 feature releases, it's basically in bugfixing only mode now. We rather not make any changes to the behavior of exporters at this stage since people do depend on it exporting certain data.

Ok, alright. I didn't know that. Sorry for wasting your time.

> In #57339#544857, @brecht wrote: > Thanks for the report and patch. > > In Blender 2.80 we removed Blender Internal, and the (OBJ) material export code was completely changed along with it. It now exports materials for shader nodes, and textures from Image Texture nodes. > > We are not planning to do any more 2.79 feature releases, it's basically in bugfixing only mode now. We rather not make any changes to the behavior of exporters at this stage since people do depend on it exporting certain data. Ok, alright. I didn't know that. Sorry for wasting your time.
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#57339
No description provided.