Rigging with parent and its children.

:confused: Why is that when I rotate the parent bone, the scaling of the object does not change but when I rotate any of its children bones, the scaling does change? I am sure that when I was changing the scale of the armature bones, that the I was in Edit Mode and not in Object Mode. To avoid having their scale of (1,1,1) change.

Rotating Parent Bone



Rotating Children Bone

Solved it! Took me a while to find that one little thing that messed it up. A checkbox. Make sure for the armature that the preserve volume checkbox is checked. If you donā€™t click the preserve volume checkbox, the objects will change their volume as shown in a picture above with the gun slide rotation.


Hi and welcome to the forums!!

So what you are saying, and what I am seeing, is that the ā€˜slideā€™ bone scales as itā€™s rotated? Also the mesh slide isnā€™t following the bone. Check the scale of the armature in object mode in the transforms panel, just to be sure itā€™s still 1,1,1ā€¦ Not sure why the mesh isnā€™t following the boneā€¦ is it weighted to the bone or parented to the bone?

Best chance of getting help is to the post up the blend file so someone can look at itā€¦

Randy

Hey Randy,

I actually solved it. Yes, that is the slide bone as itā€™s rotated. The scale of the armatures and its bones all have an appropriate scale of (1,1,1). The issue was as you said as well, that it was parented to the bone. I had to select all vertex of the gun object and remove the vertex group named ā€˜controlā€™, which controlled everything. An additional solution was to check preserve volume as well. Your quote is funny and true ā€œThereā€™s no such thing as gun control, but there is people controlā€¦ā€!

Alex

Hey Alex,

Well this is strange, I did not see your reply and the fact that you solved the problem, when I wrote my reply. Which is really strange because you solved the problem and posted it 3 hours before I didā€¦ I dunno what happened that I didnā€™t see that you solved your problem.

However, just a tip, there are 2 main ways of controlling a mesh object with an armature in blender. First way is to use an armature modifier and weighting the mesh to the bones. This is what happens when you parent a mesh to an armature and choose auto weighting. This method is good for organic things, humans, plants, animals, etcā€¦ The 2nd way to control a mesh object is by parenting the individual mesh object to a specific bone. This is great for mechanical objects, like a backhoe, all parts of the backhoeā€™s arm would be separate mesh objects, and you just parent the object to the bone controlling it. Using this method, the mesh objects wonā€™t deform (bend or twist) but just move as the bone does.

In your case, it appears all the parts of the gun are just one mesh object. Itā€™s mechanical and you donā€™t want to deform it, but it is one mesh object so itā€™s parts canā€™t be parented to itā€™s control bones. The best way to rig this is to add an armature modifier to the mesh object, then create vertex groups manually for the parts. If you have a bone named ā€˜slideā€™, then in edit mode, select all the verts that make the slide object, and assign them to a vertex group named ā€˜slideā€™. Same name as the bone to control it. Like wise, if you have a trigger bone, select the trigger vertices and create a group call trigger. When you do this, by default the weight is set to 1 for the vertex group and now all the verts are controlled 100% by the bone, like a mechanical object.

Hope that makes senseā€¦

Thanks for the comment on my quote.

Randy