Character morph(s) breaks the clothing mesh (custom-made)
![feldarzt](https://farnsworth-prod.uc.r.appspot.com/forums/uploads/userpics/347/nCTQE2BXPV583.jpg)
Hi guys!
I'm not entirely sure which section to post this in, so let it be here. I guess it fits this section more than the Tech one.
A necessary note: I'm pretty new at this, so some small details and know-hows of the modeling/rigging process may be unknown to me. Heck, "may be" means "probably are."
So I have a custom-made cuirass mesh that by itself rigs and works okay. However, I want to update it with some actual geometry of, let's call them, rivets. The rivets are made from sphere primitives combined with torus primitives and located all over the body area of the cuirass.
The initial idea was to hold them in their places with Rigid Follow Nodes, but those turned out to be not so rigid, as in "moving like hell in any direction when I fit the cuirass to a morphed character." So no luck here.
The next idea was (and still is) to combine the cuirass and the rivets into a single mesh. I did that in Blender by knifing and merging vertices, and now it's kind of a single mesh but not entirely. The rivets are connected to the cuirass, I can select everything - both cuirass and rivets - with the Select Connected command, and so on. However, when I fit the new single-mesh cuirass onto a morphed character and not onto a basic G8F to which it is rigged, I get severely deformed rivets on a nicely shaped cuirass (see the screenshot attached).
The rivets are parts of the weight and rigidity maps, i.e., rigged as parts of the cuirass itself.
Naturally, I'm confused because I'm not sure how to fight this. Any working advice would be super-welcome.
![](https://farnsworth-prod.uc.r.appspot.com/forums/uploads/thumbnails/FileUpload/e5/6b357dbc63d4b35c9ba3fbe39ae341.png)
![](https://farnsworth-prod.uc.r.appspot.com/forums/uploads/thumbnails/FileUpload/e5/6b357dbc63d4b35c9ba3fbe39ae341.png)
Comments
What happens if you pose the unmorphed character?
It looks to me as the rivets are not included in the rigging.
Hmm. When posing a basic G8F, the rivets behave similarly. They basically follow the cuirass but deform in the same way. Like they're being held by the basic cuirass shape. This also puzzles me because they're parts of the corresponding bone weight map and so on, and so on.
Oh, I almost forgot. A Rigidity Map is included in the system. The cuirass part is 50% rigid, and the rivets are 95%. To make the cuirass somewhat flexible and the rivets totally rigid.
Though removing rigidity from the rivets doesn't fix the situation and even makes it worse.
What do you mean that removal of the rigidity map makes it worse?
As I see it, the correct way is to use rigid follow node, one per rivet. You said it didn't work. What happended?
Somehow, it makes the cuirass part more flexible than when the rivets are rigid. And the rivets travel hell knows where anyway.
Basically, they behave(d) in a similar manner. Maybe I place the Rigid Nodes wrong? Anyway, when posing and/or fitting the cuirass to that morphed character, the Rigid Nodes move randomly. Not too far, but enough to say that changing a character's pose would require moving the Nodes into their places again.
Rigidity nodes, must be created by one or more polygons where the rivets shall be attached.
This is the method used for buttons on a shirt.
This isn't actually what "rigidity map" means. The name is a bit misleading, as it doesn't actually make the bone based deformations of the mesh any stiffer, just the auto-follow morph copying. (Auto-follow, not auto-fit).
And, as a rigidity map averages out the morph transformations from auto-follow based on the set reference, it cannot meaningfully be applied over a very wide area, as it tries to average out morphs based on details that are nowhere near them, and mostly ignores nearby details, so it then no longer fits the body shape.
It's a useful tool, but this is not what it's made for.
Aaaaaaand... I think I see what I did wrong. As the rivets are numerous enough, I placed a half of them like I'm supposed to, by polygon, but copied and mirrored it to create the second half; of course, not attaching the second-half ones to the cuirass. Naturally, they move as they want.
Okay, as I killed the cuirass's geometry in the earlier scene by saving it as a Figure Asset and then replacing its file with an updated version, I'll have to re-import the cuirass mesh, re-rig it, and re-attach the rivets. That's gonna take some time.
In any case, thank you for the reminder. I'll be back :)
Oh. Wow. Yeah, that could be in a dictionary under the Misleading article :)
So, is there a correct way to do what I'm trying to do? Like I wrote earlier, to make the cuirass somewhat flexible (like it's made of, IDK, kevlar) and the rivets rigid and unbendable (made of metal)?
If you want to cotnrol how it bends in posing you need to edit the weight maps, and then almost certainly add a lot of morphs cotnrolled by the bends to stop it from poking in/out (and limit the poses you apply, just as a real vest would affect possible movements). And of course the rivets need to match the weights on the piece they move with if they are not handled via follow nodes.
You may still want to rigidity map each individual rivet (for which it needs its own separate reference and rigidity group) to stop it being warped by morph following, but you can't use a rigidity map over the entire mesh except in quite specific situations. (The Daz centaurs do this, in order to stop the auto-follow messing up the mesh, but it's not a problem in that case, because only a relatively small area of the figure has to be fitted neatly to its parent).
What you want is difficult at best and impossible at worst. Some careful weight painting and JCM manufacture can make the mesh seem stiffer, but it will then have problems fitting a model in all poses or shapes. It's a common complaint about armour that it's hard to keep it properly stiff, but it's an extremely hard problem to solve within the limits available - our methods assume that clothing follows the body, but with something stiff like armour plate, it shoves and squishes the body in return, forcing it to stay inside its tin can.
There are cumbersome workarounds (I've experimented with using dForce for soft body stuff), but the key word there is cumbersome.
I'm back :)
And I feel really dumb. I think I'm missing something again... still. I created each one Rigid Follow Node from (on?) the polygons where the rivets are supposed to be, parenting them to the bones that are the closest. Then I positioned them according to the mesh to have their Z axes perpendicular to the mesh. Then I parented the rivets to them.
Still, no luck :( The Follow Nodes move noticeably when I fit the cuirass to the morphed character. Also, what surprises me, is they don't follow the mesh when I morph it without a character it is attached to.
So, um... Could you guys point me to my mistake? I mean, they do make those clothing items with buttons that follow the clothes when morphed, posed, and so on. It can't be that complicated?
Rigid Follow Nodes should be parented to the figure, it's the reference pol;ygons that need to be placed correctly.
Okay. I re-parented the Nodes to the figure itself. It brought a double effect: the Nodes still move from the cuirass mesh, although in a more acceptable and fixable way - vertically. I guess it won't be too hard to combine them into a Group and move it up a bit.
However, an even better result must be possible?
The Follow Nodes polygons are located exactly where I want those Nodes; should I move them?
And each node has its own reference group?
Ah, here it is, the missing part.
I'm pretty sure no Node has a reference group unless they're assigned to Nodes automatically. How do I assign a reference group to a Node?
Sorry, ignore me - I was getting my Rigidity Groups and my Rigid Follow Nodes muddled.