Blender to Daz rigging problem: SPIKES
I make rigged rigid models in Blender for use in Daz.
Somewhere in my workflow, the vertex group / face group assignment gets corrupted, such that a rouge vertex will end up in the wrong face group and create spikes. See the attached screen capture picture that shows these spikes extending from some car doors when the doors are opened.
This keeps happening to me on almost every model I make.
When it happens, I have to abandon hours of rigging work in Daz, go back to Blender to try to find and correct the rouge vertices, and do over. Makes my blood boil.
I do have a way to prevent this, but it also makes UV mapping way difficult.
I therefore seek advice on how to prevent the spikes without making UV mapping so difficult.
So let me explain how I prevent the spikes, and why UV mapping gets really difficult when I do that method.
I prevent the spikes in Blender, by breaking up the model into separate models, one model for each moving part. I assign every vertex in a given model to one and only one vertex group. No model ever has more than one vertex group, and every vertex in the model is assigned to that one vertex group.
In the case of the car, for example, those car doors would each be separate models from the car body.
This works. It has so far prevented the spike problem every time.
The problem is that separate models will have to be UV mapped separately from one another, producing UV maps that have different scales for different parts. In this case, the texture scale for the doors would be different from the texture scale for the car body. The metal flakes in the paint would come out at different densities.
The car model had no spike problem when I had the doors as separate models from the car body. I did several test riggings in Daz Studio that confirm no spike issue. It was only after I merged all the separate part models together, for the purpose of UV mapping them all at a consistent scale, that the spikes appeared.
Is there a way for me to prevent the spikes AND easily make UV mapping at consistent scales?
Comments
you might be better off using legacy rigging in D|S, as long as the parts are separate groups you can drag them into a hierachy fairly easily
It shouldn't be necessary to break your model up into separate exported files to just get the mesh to behave the way you want. IMO what is probably happening is that those points are getting merged on export/import, whether by Blender or D|S. What format are you using? Can I see a copy of one of the problematic models in the exported format (not the blender file or the post-repair one)
Thanks for your help, Wendy-who-loves-cats.
Perhaps so. I've never heard of this "legacy rigging" process. I'd like some clarification about it.
When you say "parts are separate groups", do you mean that the parts are actually separate models (separate meshes) that can be translated and rotated intepedently of one another?
Or,
Do you mean the parts are just different vertex groups (or what Daz calls "face groups"), that together comprise one single model?
Of the two situations I just described, which one is required to use this legacy rigging process?
If the legacy rigging process can work with the first option, where the parts are separate meshes, than I can do that, and legacy rigging may help me.
If the legacy rigging process must work using the second option, where it takes one mesh comprised of multiple face groups, then I can't use it. My problem is precisely that I can't get Blender to reliably assign verticies to face groups in the first place.
Thanks for your help, Squishy.
"It shouldn't be necessary to break your model up into separate exported files to just get the mesh to behave the way you want."
I totally agree. I think Blender has a major flaw here.
"IMO what is probably happening is that those points are getting merged on export/import, whether by Blender or D|S."
Yes. And I suspect it is Blender that is doing it.
"What format are you using?"
I am using .obj format for transfer from Blender to Daz, what Blender calls the "Wavefront obj".
"Can I see a copy of one of the problematic models in the exported format (not the blender file or the post-repair one)"
Totally. I can E-mail you the obj file used for transfer, and/or the Daz .duf file of the car as it is in the picture I attached - minus the driver.
just the OBJ is fine, and if you could do me a favor and also export FBX format that would be great.
Ok got it. Edit it out.
thanks :)
Ok I can see in the FBX version your mesh is fine, although the polygon groups for rigging do not seem to be included (this is in my modeler but I don't see them in D|S either):
the OBJ version is also fine pre-DAZ|Studio:
but I see the same problem you had when I import your OBJ into D|S and rig the door, it has somehow welded a couple of points there:
I don't see any way to prevent this behavior in D|S and I really don't think the problem is with your model. See if you can get Blender to export FBX with your rigging part polygon selections intact.
are many tutorials but the Cloudflare Gateway is giving me issues
if you can Google DAZ Legacy rigging site:daz3d.com
I really don't think the problem is with how it's rigged, the problem is that the mesh is welded there post import.
lmao you left my email in your quote if my post
What are your export setings from Blender and Import settings to Daz Studio?
Richard could you do me a solid please and edit my email address out of his post?
Done
thank you
Thanks for your help, Richard.
The settings are these:
Blender 2.79 Export Settings Used, with the single unified model of the whole car selected.
Forward: = -Z Forward
Up: = Y Up
Selection Only = Checked
Animation = Unchecked
Apply Modifiers = Checked
Use Modifiers Render Settings = Unchecked
Include Edges = Checked
Smooth Groups = Unchecked
Bitflag Smooth Groups = Unchecked
Write Normals = Checked
Include UVs = Checked
Write Materials = Checked
Triangulate Faces = Unchecked
Write Nurbs = Unchecked
Polygroups = Checked
Objects as OBJ Objects = Checked
Objects as OBJ Groups = Unchecked
Material Groups = Unchecked
Keep Vertex Order = Checked
Scale: = 1.00
Path Mode: = Auto
Daz Studio 4.11 Pro Import Settings Used in the OBJ Import window that appears when loading the model through the Figure Setup window.
From: = Custom
Scale: = 10000 %
Axis Conversion
Lateral (X): = X
Invert Positive Direction = Unchecked
Vertical (Y): = Y
Invert Positive Direction = Unchecked
Depth (Z): = Z
Invert Positive Direction = Unchecked
Read UV Coordinates = Checked
Read Faces = Checked
Read Polylines = Checked
Read Groups = Checked
Read Surfaces = Checked
Read Material Library = Checked
Damn. I failed to notice this problem of yr E-mail address in my quote. And then I just went off to bed.
Sorry about that, Squishy.
And so the problem remains, all mysterious and whatever.
I found an acceptable workflow work-around for the problem, namely that I unify the model for UV mapping, but then break it into moving parts again for transfer to Daz.
So I been makin' progress on the car model.
But I'd still like to know the cause of the problem 'cause I'm gonna encounter it again I'm sure.
imo if you can figure out how to get Blender to export FBX with your polygon selections for selecting parts and posing then you'd probably have better luck.
Yes. I will investiget your speculation later, and try a text transfer using the FBX format.
Oh no. I just now tried to transfer my car model from Blender to Daz using the FBX format as you suggested, but it won't let me use that format. It seems to only accept OBJ format.
What I mean here is that the special way of imprting in Daz that one must do to for rigging a model does not accept FBX. It is the import dialog box that is part of the "Figure Setup" process tab/window.
Well that's unfortunate, although maybe you can still get some help from Richard/DAZ in getting OBJ to behave better with this problem.
Have you considered open the doors before export, and then rig them for closing.
No. I have not considered it. But I am now. I suspect your idea might work. Next time it is convenient for me to try this idea. I will.
Thanks, Felis!
yeah if you can physically separate the parts that's very probably going to work around this behavior of points getting welded and also make it easier to rig anyway. good idea.
NB: when you are done rigging and have it posed the way you want it to load, you can "memorize figure" before saving it to the library and it will remember that state when a user does "zero figure".