Tank Tread Rigging Trouble

rafeiND2QG
Participant

Tank Tread Rigging Trouble

rafeiND2QG
Participant
Participant

Hello Autodesk forums, 

 

The attached video explains the problem I am having. One thing I forgot to mention in the video is that the deformer can't be rotated directly because if it is the geometry on the tank treads starts to deform. If there is a way to rotate the deformer without causing the geometry to deform that is another possible solution, I'm just not sure how to do that. 

 

Any and all help is appreciated!!

Reply
Accepted solutions (1)
761 Views
6 Replies
Replies (6)

Kahylan
Advisor
Advisor

Hi!

 

First to your problem, since your rig seems to work fine as long as everything in the groups "RightCurveAndDeformers" and "LeftCurveAndDeformers" stays in place. So selecting those groups and turning off "inherits Transform" in your Transform Attributes in the Attribute Editor should fix your problem. You'll have to do that for both groups separate.

This will leave everything within those groups at world origin, no matter what happends, just hide them after so they aren't distracting.

 

Now a word of advise... I see you are learning rigging, so I totally get that you want to experiment and thats great!
But for the future, for connections like this use either direct connections if both control and controlled object are in the same space or constraints if they are in different spaces. You are not realising it, since your rig is so simple but expressions are a lot slower than direct connections and constraints, so it's better to reserve them for situations where actual math is involved, like time offsetting a control or remapping values from a deforming object.

Also if possible, I would use the same control for translation and rotation of your rig, animators don't like unnecessary control switching.

But once again, I don't mean any offence by this, I think it's great that you try out mayas different features, It's just some advice for when you move on to bigger more complex rigs.

I hope it helps!

 

 

rafeiND2QG
Participant
Participant

Thank you so much for the advice! If you don't mind sharing, how would you personally go about rigging an oval shaped wheel. I would like the opinion of someone who actually knows proper rigging techniques. I am very new to rigging so your advice is good to know. But unfortunately turning off the "inherits transform" button had no effect on the issue. I realized its because the pivot point for the tracks is staying at the world origin even when the robot moves so I need to somehow fix that. Also I am not quite sure what a direct connection is, is that referring to the connection editor rather than the expression editor? I have used constraints before but only in the setting of linear joints (like arms, tails, etc..) so I had not thought to use that with the wheels because its a circle. Would constraints function the same way in this scenario? If so then I will definitely use those instead next time!! All advice is appreciated thank you again. 

0 Likes

Kahylan
Advisor
Advisor
Accepted solution

This is definitely a technique I have used before for things like this and I got it working with freely tranfroming everything before. If you want to, you could send me a PM with a way to download your rig (a public google drive or similar) and I would check it out and see if I find an easy way to fix your rig.

 

First to the easy question, what I mean with a "direct connection" is exactly what it sounds like, a connection that goes directly from the driver value into the driven value. Most beginners use the connection editor for this since it is an easy to use UI, but if you are going to do a lot of direct connections, I would use the the node editor for it.

The benefit of direct connections is that they are the fastest way to connect two values when it comes to playback speed, there is no math involved, maya just tells value B to mirror what value A does.

The down side of them is that they just know about local space, so if you have a control directly connected to something else, but you move the object above the control, the connected object won't move, since local values don't change on the control. Thats why direct connections are mostly used in "mirror hierarchies" where for every joint you also have a control in the hierarchy, so they behave the same local space, which works well for FK setups. But it gets harder for IK setups.

So for more complex connections where you want one object to follow another object, constraints are the way to go. I would basically think of Constraints as the same thing as you did with your expressions, just optimized as far as possible, they only update when they need to, their only purpuse is to do what they do, so maya knows how to handle them.

 

Now to the more tricky question of how to create an oval rig like this. I would probably create a rig where the joints move along a surface or a curve by using an offset value instead of having a moving curve that is deformed. There isn't really a "right way" to do it, since setups like this need to be evaluated on a case by case basis.

 

The three most common ways to achieve something like this are:

 

1) Motion paths and curves. Motionpaths are quite easy to use, but can be problematic with flipping at the point where the end of the curve connects to the start.

(In this case the U value of the objects would be driven by a linear set driven key that has linerar pre and post infinity.)

2) Surfaces and UVPin Constraints. Quite a bit harder to set up, but you normally don't have to worry about flipping at the start and end.

(In this case the U value of the objects would be driven by a linear set driven key that goes from 0 to 1 and has cyclic pre and post infinity)

 

3) Using a MASH instancer with a curve. This is probably the most modern setup, it involves a bit more math (which is done automatically so you don't have to worry about it) which affects the performance a bit, but it doesn't need joints or skin clusters so that evens it out more or less. Also its quite easy to set up and pretty robust and should be enough for treads that are kind of hidden under the robot like yours.

I personally would probably go with a setup like this for your rig. Here is a tutorial that explains how setups like this are done:

https://www.youtube.com/watch?v=R6WBrG1Pocw

I hope it helps, let me know if you want me to look at your rig 🙂

 

 

rafeiND2QG
Participant
Participant

Wow thank you so much this is all so helpful. I didn't even know Maya had a node editor so that is helpful to know for the future. And I did come across this tutorial but I had already set up the rig but I have never used maya's mash function and it seems like it can be animatable so I will give this tutorial a go and if the rig still doesn't function properly I would love to get a second opinion. 

 

Thank you again for the help it is greatly appreciated.  

0 Likes

rafeiND2QG
Participant
Participant

Hello Kahylan,

I changed the rig to rely on the node editor rather than the expressions but I am still having the same problem where the pivot point isn't moving. Any ideas how to fix this?

0 Likes

Kahylan
Advisor
Advisor

Hi!

 

That your pivot point isn't moving for your treads is actually how it should be. You Treads, compared to all the other meshes are skinned. Which means that from mayas point of view the mesh isn't acutally moved, it is deformed by the skin cluster. Meaning that the components are moved but the transform stays the same. This isn't a problem because your mesh isn't supposed to get touched during animation. The point of having a rig with control curves is that the mesh is animated without having to animate the actual polygon objects.
Normally you would actually do the same to all polygonal objects, have them skinned to joints instead of parented/constrained to controls.

 

0 Likes