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.
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.
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ā¦
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ā¦ā!
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.