Problems with advanced ball rigging


#1

Hi there.

I’m a newbie in Maya with not much experience but I have been watching video tutorials and, IMHO, have ample researches done on rigging techniques.

However I am having a problem with my rig.

Initially I rigged my ball with a standard bouncing rig (squash & stretch using non-linear deformers) with a squash control + a move ctrl (for relocation and movement of rig with the ball).

Then later I figured out that I need secondary animations which require me to sculpt the ball into other specific shapes. With the current rig, I am not able to achieve that. So I implemented lattice deformers and clusters to my ball and it worked out pretty well.

Now the problem starts here after i parent the lattice/cluster control groups to the main Move ctrl. When I try rotate the move control, the ball starts to freak out and warps into weird shapes, or when i move it the ball does not follow the position of the move control and moves further away from the location of the move control.
(EDIT: I realised that the problem starts when i try to translate/rotate the lattice/clusters around with the controls)

My idea is that I want to rig my ball with squash/stretch keyable attributes for bouncing situations & sculpt the ball using lattice/clusters to make certain shapes for animation.

I would appreciate any kind assistance very much!
Thanks in advance!


#2

It sounds like you have cooked up a whole soup of possible issues.
The thing to remember with rigging is that as you add elements to a rig you need to “make room” for those new elements in the rig. Unfortunately you can’t just throw a whole bunch of deformers in rig in any order and expect them to play nicely together in world space. It can be very frustrating because some issues only show up once you try to translate/rotate/scale the whole rig around.
Your main issue here is multiple transformations affecting your mesh. I find it helps to think rigging a mesh as though it was normalized task. Meaning to fully move a mesh all of its components need to have an influenced weight of 1 (putting a cube in a group ‘rigs’ the cube by giving it an influence weigh of 1 from the parent group)…if any components have an influence value of higher than one then those components will move exponentially more. If i smooth bound that cube with a single joint then put the joint in the same parent group as the cube it would seem fine if I just moved the joint. BUT if I moved the parent group, the cube and the joint will move from the influence of the group AND THEN the joint will also move the cube…this is called a double transformation.
Because the cube has an influence weight of 2 right now 1 from the group and 1 from the joint.

This doesn’t make sense does it?

All those other rigging tools add influences of their own…and in most cases those influences can be happily combined if you just keep in mind that the general moving/rotating/scaling in world space can only be done if the overall influence that’s moving it is 1…no more…no less.
You could put a cluster on every vert of your mesh then group those clusters (not the mesh) and you can move your mesh by just moving that group. Lattices influence as well…lattice your mesh and move the lattice only and…oh you get it.

Without seeing your scene at all…I will just say, put your ball geo in a group outside of the main rig hierarchy. This might do the trick all on its own…but probably not.
Try to narrow down the thing that are most affecting your ball and post your findings for more info.
Good luck.


#3

animatedfox is very correct, and unlike me, is good at explaining stuff :slight_smile:

i’d like to add one more thing, cuz i remember that was driving me insane the first few days after getting into clusters. (although if your whole mesh is moving 2x, not just parts of it, it’s probably not it…)
here it goes: remember to tick the ‘relative’ checkbox on the cluster, if you wanna use it in hierarchy (which i dont recommend anyways, having the cluster in the moving hierarchy, but it’s possible if you understand the deformation order, but now im getting kinda off topic)
the more advanced and ‘correct’ way of doing this would be connecting the preBindMatrix attr from the handle to the cluster’s parentInverseMatrix… or the other way around… my memory on this is hazy, sorry, i got scripts to take care of that for me…

anyhow, just thoughts this might be another solution, however i encourage you to do what fox said :slight_smile:


#4

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.