Mesh not binding to Bone after Bone Split
Hi all, Can't say I've totalled out the forums on this one, but I don't think I've seen anything similar. So...
Had a bespoke model that had rigged successfully with all bits of the mesh bound to the appropriate bone. [Probs is irrelevant - but done by GeometryEdit the mesh to have face groups named as per the bones and then NodeWeightMapBrush/ WeightEditing/FillByBoneSelectionGroup ].
I then decided I needed to split a bone, and did so. Since then, I've done any number of iterations of NodeWeightMapBrush polishing and Edit/Geometry/UpdateBaseGeometry/UpdateVerticesOnly.
And now I find that, for both of the split bones and for some other bones near them, the mesh is no longer attached to the bone, giving some seriously weird X Y Z translation outcomes. For all of these bones, the weight maped Xrot Yrot Zrot and Scale are working fine (to the best of my ability). But the XTtrans, YTrans and ZTrans are broken.
In JointEditor, each bone Node is properly associated with the correct SelectionGroup and in GeometryEditor, each FaceGroup has the correct surfaces.
At this point, I have not saved the item as any asset - it is just a scene node heirarchy in a developmental scene.
Any thoughts as to what has gone wrong and how to rectify? Because this can be catastrophically one-way and I don't want to lose all the weight map polishing I've done. I've avoided trying re-doing the FillByBoneSelectionGroup.
Cheers, Lx
Comments
Hi, I see by the explanation that you know what you are doing.
As far as I can tell there is only one way to have the XTtrans, YTrans and ZTrans working like intended on bone chains and that is to set the Figure Setup to Legacy Rigging, select all bones and set Weld to Parent from the right-click menu that is for some reason only available in Legacy Rigging. Lateron you can convert the rigging to TriAx or General but the "weld to parent" behaviour still remains.
My suggestion:
Export the current figure with al the alternations to shape and FaceGroups to an OBJ file. Import it to the Figure Setup and like I saied earlier set it to Legacy Rigging, setup the Hierarchy (those can be saved as a presets in the Oprions Menu) and set set Weld to Parent. Then create the figure and convert the rigging Edit>Figure>Rigging>Convert Figure to Weight Mapping. Choose TriAx or General depending on wat you need.
Now if you are still working in the "developmental scene" you can use the Transfer Utility to copy over the WeightMaps and Morphs you have already on your previous figure. Maybe select "Replace Source with Target" at the bottom of the Transfer Utility dialog options this will make shure all Properties and Morphs will get transfered.
In this video I notice the translations are not working like I want to at minute 8:40. At least if you don't want to animate the figures like in disneys "The Incredibles" lol. To fix this I used the Figure Setup like described above.
DazStudio Twi'lek for G8F 01 Editing ZarconDeeGrissom's Version
See the full video series here:
In case you need help with the Transfer Utility settings here I've made a short explanation of the various options.
1. Weight Maps: have this checked - Merge Hierarchies - you don't need to have that checked since the new mesh object set as Target has no rigging so there is nothing to be merged
2. Selection Map: have it checked - not shure what it is good for the Joint Editor got Selection Group settings and the Geometry Editor got Selection Sets maybe it has something to do with those
3. Face Groups: uncheck this - if your updated geometry object you've imported still got the Face Groups or updated Face Groups - I haven't had good results with the Face Group projection of nearly identical meshes
4. Morph Targets: you defenatly need to have this checked - it is important to switch the From Source: None to All in the extended options to have all morphs from the Source transfered over to the Target
5. Region Groups: I don't know exactly what this is for - the Geometry Editor shows some body area Region Groups but if you mouse over a body part the Face Groups are actualy used to select the bone
6. Surface Groups: uncheck this - it's the same like with the Face Groups the Surface Groups also refered to as Material Zones gets imported by the OBJ anyway and don't have to be projected/transfered
7. Reverse Source Shape From Target: let it unchecked - if your geometry mesh is unmorphed and represents the default base shape
8. Replace Source With Target: this is the most important setting to make shure all property sliders (not just morphs) from the Source gets transfered - Post Transfer Options gets greyed out with this
Hey SD, thanks for the detailed comments. One other action I took which may have contributed to the issue on some bones is reparenting a bone.
I'll spend time today playing as you suggest. But I'll also rig up a simple model and then do some splitting and reparenting because this sounds like a bug to me and if I can reproduce it I'll put in a bug report.
Thanks agaim, Cheers, Lx
I just remember why I named the last video Transfer Utility Failed. I was working on the figure that was saved embedded in the scene file.
I came to the conclusion that you need to save the Figure/Prop Asset set as Source figure in the dialog first and reload it from the library before the Transfer Utility can work properly.
Great - important to know. Cheers, Lx
I also tend to give the items that I save with the Figure/Prop Asset Save dialog an increamental version number at the end just in case something goes wrong with saving.
Don't try to overwrite an already saved Figure/Prop Asset with the same item name because older Morph Assets from the previous may remain in the data folder.
For the final Product Item name you can save the item without the incremental number at the end. They all end up side by side in the Product folder and you can delete the older items once you have tested that your final version works.
Just checking in- updating etc. And man have I wasted a ton of time on both that more nuanced model and then a very simple model where the same issue occurred from the get-go (mesh not properly attaching but without any bone splits or re-parentling) and I was trying to figure ways around the issue. It appears Weight Node Brush Map / Weight Editing / Fill by Bone Selection Groups gets grumpy about different, unconnected bits of geometry that are physically close to each other (the model was a hinge of sorts, so there were different parts almost overlapping).
The upshot of it all ...
So at this point, I appear able to make progress again at last. And FWIW, I'm still only working in the embedded scene, not a saved asset. Cheers, Lx
I'm glad you found a solution. Yeah after Weight Editing: Fill by Bone Selection Groups and Weight Editing: Fill Selected I would use Weight Editing: Smooth Selected. have a look at this post.
I had to watch my video again to see what didn't worked there. And to be more precise I tried to transfer embedded morphs only this is what I meant with "Transfer Utility didn't work properly".
It seems to be no issue for the Transfer Utility with transfering customized rigging and weight maps with an embedded Figure/Prop Asset.
But if you try to transfer embedded morphs it failes. I can see what the issue may be in the progress dialog. By default the list shows the Morph Asset files loaded and transfered one by one but in this case it tries to load the scene file itself multible times exactly the ammount of morphs to transfer. Depending on the file size of the scene file and the ammount of morphs to transfer Daz Studio hung up on me in the past and I had to kill the task.
See the attached screenshot.
Had the same issue occur again after adding a bone and spent quite some time trying to work out how to fix. This model has 'General Weights' only
The answer is in the 'Binding' tab of the 'Node Weight Map Brush'. For reasons I dopn't understand, but dead easy to fix, the 'Binding/Weight Mapping Node' was set to 'TriAx (local)' [for which, of course on this model, there are no weights]. Change it to 'General' and all good again.
Phew! Cheers, Lx