Blender 4.0 obj import/export.
Pickle Renderer
Posts: 236
Blender 4.0 doesn't have the "legacy" OBJ importer/exporter, which has a switch for "Keep Vert Order". Is there a workaround? It exports all the vertices but they're in the wrong order and you end up with a mess when you apply the morph.
Comments
Bug report to Blender.org, I guess, though you might try exporting to another format and then exporting that to OBJ in some other tool (you could use FBX and import/export through DS to get the OBJ).
"Legacy" way is discontinued in Blender 4.x, and vertex order is kept as default with Wavefront (*.obj) importer / exporter. There won't be any issue as long as you DO NOT change vertex order, remesh, retopo, etc. I've been using Wavefront (*.obj) importer / exporter since 3.x... so far so good.
1. Clear Daz Scene
2. Load Genesis 8 Basic Female, remove lashes
3. Set Mesh Resolution to Base, SubDivision Level 0
4. Export .obj
5. Blender 4.0 import .obj (split By Object, etc. all unchecked)
6. Blender 4.0 export .obj (selected only, groups all unchecked, no modifiers)
7. Daz Morph Loader Pro, create the morph, reverse deformations
8. Apply the morph.
...
Blender bug report? Or is it something esoteric like "you must check Object Groups on import"?
I could not reproduce the issue.. But 1st, you don't have to remove Eyelashes, select G8F, use the Options below to Export OBJ, with Filter Objects checked. 2nd, no need to set SubD Level to 0 'cause SubD doesn't work if Resolution Level is set to Base...
Export to OBJ in DS with Scale 100%. Import / Export OBJ in Blender with Scale 1%.
BTW, what's your DS version?
Am using 4.21 Pro Public Build at the mo. I don't change the scale at all between export and import. It exits Daz in cm, Blender interprets it as "m", so it's huge. It exports "m", which are interpreted by Daz as cm, so it's the same size.
If so, that is wrong... even if there may be no distortion, there'll be a wrong Scale after importing OBJ with MLP...
I don't know how your issue came from... or maybe you can double check if you dialed the right property / morph in the right path... because if you did nothing in between step 5 and 6 as you described..., you should have no way to import OBJ back to G8F as there's no delta change in terms of geometry... or if you did sculpt sth.. then you should have got wrong scale after import rather than a distortion. So "the issue" looks pretty odd to me....
If the vertex order has changed then the apparent vertex positions will have changed, so it will generate deltas on loading as a morph even though nothing was actually moved.
As for scaling, that will depend on the scale on export from DS - OBJ doesn't havea set size, so as long as it isn't scaled in Blender the only requirement is that export from and import to DS use matching settings.
I just tried, in Blender 4.0.2, and there was no issue (other than my forgetting various steps along the way first time through).
That's odd... Which items did you have checked on the import and export dialogs? There's something basic I'm missing here...
Here's a short video for your ref.: https://mega.nz/file/WSpyECoI#BCtScFl9_iorVjFZZ5cLgKkDJ0Ti_iFXb2Us3kJyMmA
OK that was useful, thanks. First thing I noticed was you have "Spltit By Object" checked on import to Blender, so that's different to what I was doing. Secondly I noticed if I don't change the geometry at all, Daz will skip the node on import as there's nothing to do (I think Richard mentioned that above), so I did a little sculpting. Thirdly you uncheck UV Cords and Normals on export from Blender. I did that too, though I'm pretty sure that won't make any difference on import. I'm almost certain "Spltit By Object" is the culprit.
Thanks.
You're welcome ~
Yes, that's right, no delta, no import with MLP....
As for "Split by Object", actually it won't matter if you only export a single Genesis figure (or a single object) from DS... This option is used for the case of exporting multiple figures / objects...
For instance, if you export a G8F and a G9 together by checking the option "Write Separate Objects" in OBJ Export dialogue from DS, then when importing OBJ in Blender, if you tick "Split by Object", G8F and G9 will be imported as two separate objects... If you leave it as unchecked, G8F and G9 will be imported as a single object with geometry merged.
But it must be the issue, as almost nothing else was any different.
As I said before, I just doubted the problematic morph you dialed was not the one you'd imported in such a way... otherwise it didn't make sense.
Some tests can simply prove that...
And as per my exp., that sort of distortion you posted usually comes from applied Modifier(s)...