Hello Blender users
While I was rigging my character, I came across the tedious part of setting multiple pivot point to animate the limbs of the character.
I’m usually a Maya user and I’m used to rig inside of Maya, which is really complete and efficient in terms of custom rigging, however, this problem was still there and it’s still going to be inside of many 3D applications. Pivots points are really important in animation because they are the source of transformation when moving parts of an object or a character.
However, in 3D graphics multiples limitations comes with it; one of them is that they shouldn’t be moved or be animated.
To counter these limitations, we have to create multiples Null empty groups or nodes as parents object and these said empty nulls will define a new pivot point to move the object right? This is the usual method used generally in rigging inside of most 3D applications.
However, the problem that comes with it is that these new ‘‘parent pivot points’’ are still going to be static; basically, you can’t animate them. In the end, you have to create multiple of them for every point the animator wants to use right? Which means you’re still limited by fixed pre-made static points.
Let’s take the example of the rolling cube, or you are animating a dice:
Following this picture, for every rotation on each side of the cube, you would need a new pivot point right? Say you wanna make the dice dance and roll on everyone of it’s corner, you would need like 8 null empty groups, each one placed over each vertex AND all of these said empty groups would have to be parented one over each other (all of that hierarchy stuff can also cause headache).
Well, let’s be honest, the fact that this method is the most used and practical doesn’t make it intuitive at all.
Another downside of this method, is that not only it takes time for the rigger to add these pivot points but they’re fixed and can’t be moved by the animator.
Let’s say you controlling the foot of a character and once again, you are bound to the usual rotation points: the heel, the side (banking) and the ball rotation right?
Now imagine if we only had two bones for the foot, on to control and rotate the IK leg (as most rigs) and just another one to control and rotate the toe. No heel bone or ball bone. The artist would simply click on any of the spot he wants and place the 3D cursor on any points (that could be the heel, the ankle,the ball, the tip of the toe) and rotate the whole leg from there just like he would with a usual leg rig, but without having all of these bones (or properties depending on the rig) to animate the leg.
Even better, imagine animating without having to switch between that usual unintuitive IK-FK system. Basically, you would move an IK arm as you usually would however, imagining then moving the pivot point of the IK control to the shoulder. At that moment, the IK rotation would rotate just like if it was in a Forward kinematic system. Imaging just how simple it would be!
However, I’m not that stupid. Just like the Gimbal lock, there are alot of mathematical constraints inside of a 3D space and animators and riggers often have to cheat to bypass these limitations.
In Maya, animating your pivot point is fairly easy as seen on this video:
Basically all of the above said problems of having a fixed pivot points are solved in this video as you can see he simply moves and puts keyframes on the pivot point (in Blender by the way, this is the object center or origin I think)
and then moves it as he animates the object itself.
I’m not exactly sure how you can animate the object origin inside of Blender but even if it could be done, it wouldn’t be anymore intuitive at all (even with that degree of freedom added) plus, exporting these to game engines could mess all of you animation up…Beside that’s not even the point of my topic.
While testing out some functions I came across this noobish problems this guy just came across:
I’ve tried to animate using the 3D cursor as a pivot point (putting keyframes on Rotation and Locations).
Of course, it won’t work since the 3D application has to move the object according to it’s own origin and the defines the tween motion according to it .
Now imagine if the devs could bypass this system, ALL of the above said problems would be solved. That would mean no more IK-FK system, no more ‘‘different spaces’’ to animate an object and no more multiples parent pivots points also.
Do you think it could be possible for the devs to develop a system in which; whenever you move an item or object with, for say, autokeyframe and 3D cursor activated, it could also set a temporary pivot point for that transform you just made?
Or maybe, for example, record visually the transformation’’ you just made and then aplying it to the actual real values of the object once completed? Do you think one day it might be possible or am I just too much of an ignorant of all the mathematical constraints behind this?
Thank you for reading.