0
$\begingroup$

<----BLEND FILE I am a kid learning to use blender to make an animation for a school project. I want to add bones to my mesh such that it can bend its legs in a knee-like fashion. I had already animated the mesh to walk forward and at the end of that animation I wanted to add armatures to the legs.enter image description here

However, after positioning the bone inside the legs and doing Ctrl-P and setting as automatic weight, the leg displaces. enter image description here Even if i parent it and check the 'Keep Transforms' box, it stays there as if it parented properly but once on a different frame it gets displaced again. I am at a loss as i have looked through many posts which seem to have the same issue but none of them seem to work.

$\endgroup$
2
  • 1
    $\begingroup$ pls provide blend file so we can see what you did since you didn't provide any technical informations. thx. $\endgroup$
    – Chris
    Commented Dec 19, 2023 at 6:23
  • $\begingroup$ A first suggestion would be to ensure that all your objects have their scale (Ctrl-A) applied, before rigging. It might not work, but it's a common problem. $\endgroup$
    – Robin Betts
    Commented Dec 19, 2023 at 7:05

1 Answer 1

0
$\begingroup$

The mesh object should not move after parenting and weighting it to an armature. Since you already keyframed the position of the leg mesh, an armature modifier will break regardless. You should remove the keyframes from the mesh object and place them on the armature object instead.


Update: Here is the edited model:


Here are the steps I followed with GIFs:

  1. Copy the keyframes from the right leg mesh object to the armature object.

1

  1. Since the keyframes were created for the right leg in the body space, we need to replicate the parenting for the armature object to give the transferred keyframes the same context.

2

  1. The armature bones don't start from the armature origin. For the best results, we should cancel out this displacement. I copy, paste, and negate each location component into the Move operator fields to achieve this.

3

  1. There is another issue. The armature bones were created in a different orientation than the one in the keyframes. I correct this by rotating the bones in Edit Mode.

4

  1. The results so far are shown below. Notice how the armature object is moving just like the right leg mesh now.

5

  1. Since we successfully replicated the movement on the armature object, we can safely delete the keyframes of the right leg mesh object.

6

  1. Now, we can parent the right leg mesh to the armature with automatic weights.

7

  1. The last step is to add the bending keyframes using the armature's Pose Mode.

8

Please note that all of these steps were only necessary to salvage the work we have. The current setup is still not ideal. The right approach is to parent the whole character to an armature with bones for everything (body, neck, head, arms, legs, eyes, ...), and animate solely in the armature's Pose Mode. I recommend against learning these steps if you're still starting out. You should learn the correct process and leave workarounds for a more advanced stage.

$\endgroup$
2
  • $\begingroup$ Thanks for the answer, but I do not exactly know what you mean by removing the keyframes. You sshould probably answer as if i know nothing about blender because i think that is the best way to go for me. What exactly does placing it on the armature object mean as well? Do forgive me for my lack of knowledge. I have added the blend file. If it isnt too much to ask, could you potentially add the knees to the model? $\endgroup$ Commented Dec 20, 2023 at 2:38
  • $\begingroup$ I would like to give you more details, but you're not following the recommended approach here. The recommended approach is to rig then animate. You've animated the model (object-level keyframes). Then, you realized that you need a proper rig, so you tried to introduce it to an animated model. Even an experienced 3D artist won't know what to do. I will fix it for you, but please follow the normal approach in the future. If you still want to know more, let me know. $\endgroup$
    – Mr A
    Commented Dec 20, 2023 at 9:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .