Action Constraint Problem

I created an action called scalebones which scales three bones up and down. I saved this action and created another bone called “Controller”. I then applied an action constraint to the three bones and used the controller as their target. I set the constraint to use the y-scale pose space of the controller bone to drive the action.

The problem I’m running into is that the action constraint doesn’t work. I’m providing the file for anyone to review. If you clear the constraints and look at the action in the dopesheet, you’ll see what the action is supposed to do.

https://drive.google.com/file/d/0Bwzk-fAhFYDzcE5sXzJodXkwWE0/view?usp=sharing

I can’t look at the file for a few hours. Why are you using pose space? Local space makes more sense for a control.

I thought local space was only for object mode? Well, regardless of what space I use the problem is persistent. I tried several combinations and checked every axis, but nothing seems to work.

Pose space is fine. Your bones have Y scale set to 0, you should reset that to 1 (alt+s or whatever it was) and it should work correctly.

From the manual:

Space Types

World Space: In this space type the world is the frame of reference for the object (or bone). Location is relative to the world origin. Rotation and Scale are oriented to the world axes. Transformations to the object, the object’s parent and any other constraints higher up in the constraint stack are all taken into account.

Local Space: In this space type the parent of the object (or bone) is the frame of reference. Location is relative to the parent object origin. Rotation and Scale are oriented to the parent object axes. Only transformations to the object itself are taken into account. Transformations to the object’s parent and any other constraints higher up in the constraint stack are NOT taken into account.

Local With Parent: (bones only)The bone properties are evaluated in its own local space, including the transformations due to a possible parent relationship (i.e. due to the chain’s transformations above the bone).

Pose Space: (bones only) The bone properties are evaluated in the armature object local space (i.e. independently from the armature transformations in Object mode). Hence, if the armature object has null transformations, Pose Space will have the same effect as World Space.

I’ll demonstrate the problem with pose space. (see file)

I duplicated your rig with one exception. I added a root bone to your original rig and parented all bones to it. I left the action constraints set to Pose Space. In the duplicate I changed the action constraints to Local Space.

If you scale the root in your original armature, (layer 1) the action constraint will fire. This is probably not what you want. If you scale the root in the duplicated armature, (layer 2) nothing happens. You need to scale the control to fire the action constraints. I am assuming that this is what you want.

You may not need this armature to work in other files or scenes or at different scales, so my tinkering may be overkill. I just want you to be aware of the differences of how Pose Space and Local Space can affect your rigs.

Good luck!

Attachments

action_constraint.DP.blend (440 KB)

Thank you both, this info helped me a great deal.