That's good to know.Nuts. where I said the former, I meant the latter. Poser's OBJ exports do not trigger the bug in Blender.
Out of order would produce explosion (a'la using the a poser exported welded mesh). Loads without error. Useless, though.Well if anything is out of order Poser won't accept it and nothing will happen when you dial up the morph. I really hope they see your report and fix that unreal. YIKES!
Me too as the performance in 3 in blazing. Some things went from fast to instant. OBJ i/e was one of those things. But it wasn't bad before and 2.9 worksI hope they move that one up the list for a faster fix.
The included OBJ importer (and exporter) in Blender is an add-on (this means you can enable or disable it). It's part of the official add-ons (blender maintained and included). You can enable or disable specific import/export formats as you wish. I tend to turn off formats I'm not using.SO now I'm confused. So there is an add on included with Blender that has to be enabled to keep winding order or all that?
No worriesThank you!
They closed the bug with 99% fixed. I haven't tested it. They said they have to wait for the import code to be be changed to C++ for a complete fix. Something about how face groups are converted to vertex groups. I think It's because in OBJ, there's no exclusion for faces. A face can be in multiple groups. In Blender a face can be only in a single group. The vertices and edges can (naturally) be in multiples, but not faces. Currently, they opt for the first group a face shows up in to be the one.I hope they move that one up the list for a faster fix.
Turns out Poser does something similar, for different reasons.They closed the bug with 99% fixed. I haven't tested it. They said they have to wait for the import code to be be changed to C++ for a complete fix. Something about how face groups are converted to vertex groups. I think It's because in OBJ, there's no exclusion for faces. A face can be in multiple groups. In Blender a face can be only in a single group. The vertices and edges can (naturally) be in multiples, but not faces. Currently, they opt for the first group a face shows up in to be the one.
Fix T96824: New 3.1 OBJ exporter writes incorrect polygon/vertex groups in some cases
The new 3.1 OBJ exporter code had incorrect code to determine which vertex group a polygon belongs to -- for each vertex, it was only looking at the first vertex group it has, and not using the group weight either.
This 99% fixes T96824, but not 100% on the user's submitted mesh -- exactly two faces from that mesh get assigned a different group compared to the old exporter. Either choice is "correct" given that on these two faces there are two vertex groups with equal contribution. The old Python exporter was picking the group based on internal python group name map order, whereas the new C++ exporter is picking the group with the lowest index, in case of ties. I'm not sure if it's possible to fix this TBH, will have to wait until the importer is also C++.
While at it, the new vertex group calculation code was doing a lot of redundant work for each and every face (traversing group lists several times, allocating & freeing memory), so I fixed that. Exporting a 6-level subdivided Monkey mesh with 30 vertex groups was taking 810ms, now takes 330ms.
Reviewed By: Howard Trickey
Differential Revision: ⚙ D14500 Fix T96824: New 3.1 OBJ exporter writes incorrect polygon/vertex groups in some cases