Hi everybody, I need some help regarding constraints. I am working on a project that requires several animations and in many of them there is a character that interacts with other objects. The character picks up the object, drops it, picks it up again. etc
It should be noted I do not have much experience animating. So far I have been using the constraint “Child of” to make my character pick up and place the objects he interacts with. I finally understood the “set inverse” and “clear inverse” buttons that let me make the transition of the constraint taking effect to be seamless. Before this, whenever I added the constraint to the object the location and rotation of the object would change, often disappearing from my view. I would have to manually place the object in the hand of the character trying to match the location of rotation of the previous frame (when the constraint influence was 0). The final animaiton looked like the object snapped to the hand of the character instead of a seamless and natural transition, it looked horrible.
Sorry for the lengthy explanation but it is relevant to understand the issue. Anyway, my problem is that “set inverse” does fix this issue initially, but if the character needs to pick up the object several times during the animation, it stops working. If the interaction goes as:
- Character grabs mug
- character leaves mug on the table
- character does something else, then returns and picks up mug again
- etc
The issue happens when the character picks up the mug the second time. The “Set inverse” correction is set so it works seamlessly with the first pick up. I can clear inverse and set it again for the second pick up but then the location and rotation of the mug during the first pick up will be messed up.
My current solution to the problem is to add a “Child of” constraint for every interaction. In this case there would be one constraint for the first pick up and another constraint for the second pick up, so I can set more than one inverse corrections.
My question is, how do animators work in an scenario like this? I can imagine that having 40 constraints in the stack for every single interaction is not very efficient.
Thanks a lot beforehand! I cannot share screenshots due to NDA, hence my rant