The shot sounds trivial in the brief: the character picks up a cup, drinks, puts it back down. Then you try to animate it and discover that "holding something" is one of Maya's classic pain points — the cup swims in the hand, or snaps across the viewport the moment the constraint turns on, or refuses to stay on the table after being released.
None of that is your animation. It is all constraint mechanics, and once you understand the three failure points, prop work becomes routine.
The standard way: a parent constraint
The tool built for this is the parent constraint: select the hand control (the driver), then the prop, and apply a parent constraint with maintain offset on. The prop now follows the hand's position and rotation while keeping its current placement relative to the palm.
The three failure points, in the order they will bite you:
Selection order. Driver first, driven second. Reversed, you have constrained the character's hand to the cup, and the arm will do strange things. If the prop drags the hand around, this is what happened.
Maintain offset. With it off, the prop snaps to the hand control's pivot the instant the constraint applies — the classic teleporting-cup moment. With it on, the prop keeps its offset from the moment of constraining, which means you must pose the prop in the hand first, then constrain.
Constraining the mesh instead of a control. Constrain a group or control node above the prop's geometry, not the geometry itself. You will want to adjust the prop's grip during the shot, and if the constraint owns the mesh's transforms directly there is nothing left to animate.
The hard part: picking up and putting down
A constraint that is always on is easy. The shot almost always needs it switched — off while the cup sits on the table, on while the hand carries it, off again after the release.
The constraint's weight attribute is the switch: key weight 0 on the frame before the pick-up, weight 1 on the contact frame, and reverse it at the release. Two things make this workable:
- Switch on a contact frame, where the hand is genuinely gripping the prop. Blending weights across several frames sounds smoother and instead produces the prop swimming between two parents.
- Expect a jump at the release, and key the prop's world position on that frame. When the weight drops to 0 the prop returns to obeying its own curves, which still say whatever they said before the pick-up. Set a key on the prop at its released position on the switch frame, and the jump disappears.
If the prop pops even with clean weights, check for double transforms — the prop inheriting motion both from the constraint and from a group it lives under.
The faster route: fake constraints
Animators do this dance so often that a whole category of tooling exists to skip the ceremony. A fake constraint workflow does the same job without creating constraint nodes at all: it computes where the prop should be each frame while "attached", and bakes keys onto the prop's own curves.
The practical differences:
- Nothing permanent is added to the scene. No constraint nodes to manage, mute or delete later — which also means nothing to break when the file moves between animators or gets referenced, a real concern in the workflows covered in copying animation between rigs.
- Attach and detach are single actions, not a weight-keying ritual. The release-frame key that method one makes you set by hand happens automatically.
- The result is ordinary keys, editable in the Graph Editor like any other curve — see Graph Editor tips for reading what came out.
This is exactly what the Fake Constrain and Constraints + Attach/Detach tools in AnimKit are for: pose the prop in the hand, attach, animate the carry, detach at the release. The trade-off is honest: baked keys mean that if the hand animation changes substantially afterwards, you re-attach and re-bake, whereas a live constraint follows automatically. For blocking-final shots that is rarely a cost; during early exploration a live constraint can be the better tool.
Cleanup, either way
Prop work leaves noisy curves — a key per frame on the baked route, stray keys around the switches on the constraint route. A cleanup pass keeps the scene editable; the specifics are in cleaning animation curves in Maya.
Frequently asked questions
Why does my prop snap to the hand when I constrain it? Maintain offset was off. Pose the prop in the hand first, then constrain with maintain offset on.
Why does the prop jump when the character lets go? Its own curves still describe the pre-pickup position. Key the prop's world position on the release frame, or use a fake-constraint tool that does this for you.
Should the character's hand hold the prop, or the prop follow the hand? The hand drives, the prop follows — hand control first in the selection, prop second. Constraining the hand to the prop inverts the relationship and fights the arm rig.
Can I attach a prop to a joint instead of a control? It works, but prefer a control if the rig has one for the hand: joints can carry scale and orientation surprises, and controls are what the animation on the rig actually lives on.
The bottom line
Pose first, constrain with maintain offset, switch weights on contact frames, and key the prop's world position at the release — that is the whole discipline of prop attachment. When the shot has more than one pick-up, or the ceremony gets old, a fake-constraint workflow collapses it to attach → animate → detach with ordinary keys as the result. That workflow ships in AnimKit alongside the rest of its constraint tools, and the wider toolkit landscape is in best Maya animation plugins.



