Control Joints without deformaing jeometries

I would like to control joints of a model. Is it possible to move “bones”, without deforming geometries? Think about a mechanical mechanism. Is there any option to set not to deform geometries, but only to move them in accordance with controlled joints?

Thank you

Don’t take my word for it but I think … yes, you can.

Look at the “Looking and Gripping” demo, When you attach a model to a joint (sword in hand) that model just fallows the movement of that joint and nothing more. I imagine you could take it into the extreme and build a whole actor from a skeleton and separate models.

Oh, yes.
You’re right. So, it depends on how export the model from Blender through Chicken?
If anyone knows which is the option I have to enable/disable please tell me. I did’nt find. I tried with the “deform” option but no good result I’ve been to achieved.
Thank you!

I was thinking of assembling the model in code like (you wrote “control joints” so I figured you want to control the joints from code):

self.robo = Actor("robo")
self.rightHand = self.robo .exposeJoint(None, 'modelRoot', 'RightHand')
self.leftHand = self.robo .exposeJoint(None, 'modelRoot', 'LeftHand')
self.rightLeg = self.robo .exposeJoint(None, 'modelRoot', 'RightLeg)
self.leftLeg = self.robo .exposeJoint(None, 'modelRoot', 'LeftLeg')
self.Head = self.robo .exposeJoint(None, 'modelRoot', 'Head ')
self.Torso= self.robo .exposeJoint(None, 'modelRoot', 'Torso')

lefHandModel=loader.loadModel("lhand").reparentTo(self.leftHand )
rightLegModel=loader.loadModel("rleg").reparentTo(self.rightLeg )
rightLegModel=loader.loadModel("lleg").reparentTo(self.leftLeg )

Don’t know much about blender. maybe there’s a “rigid” option?

I know nothing about Blender, but what you’re describing is called “hard skinning”, and it just means that every vertex is assigned 100% to exactly one joint.

(In the more common “soft skinning”, a vertex might be assigned to multiple joints at various percentages, which is what causes the model to deform.)

If you assign all of the vertices in each piece of the model to the same joint, then the vertex animation will be rigid, like a mechanical robot.


Thank to your observation I looked to vertex groups in Blender and found the solution.
Extremely useful.
Thank you very much!

just give a bone the name of a vertex group and it will influence only that particular vertices. weight painting or envelopes are a bad choice for mechanical models

Thank you!!!