swimtrunx
10-22-2010, 06:37 PM
I'm trying to constrain an object to rotate only on Y to follow another object which will be moving all around. This is for a character rig, but the effect would be similar to a tank turret turning to follow a target. You don't want the tank turret flipping around on X or Z.
When I create the Aim Constraint, I set it to constrain Y only. Now setting my aim vector, I've been getting some really strange results.
1, 0, 0 - the constrained object ignores X movement of the target object, and only detects Z movement. (I'm Y-up)
-1, 0, 0 - the constrained objects better tracks the target, but in the +X -Z quadrant it starts turning the opposite direction and then does a 180-degree pop as the target crosses into +X +Z
0, 0, 1 - the constrained object seems to do a mirror-like track. If the target object moves to the -Z side of the constrained object, then the rotation bounces and goes back the other direction. (edit: actually, if the target object moves below the constrained object, then the constraint works perfectly and the constrained object always points toward the target.)
0, 0, -1 - this seems to work as I would expect, so long as the target object's position is higher on Y than the target object. If it goes below the target on Y, then I get the same bouncing rotation, but facing the other direction.
So it looks like I have to use the Z axis. If the target will be in +Y as compared to the constrained object, then I should set the aim vector to -Z. If the target will be in -Y, then I should set the aim vector to +Z. Well I sure hope that the target doesn't cross the X-Z plane or my rig will break.
My up vector is set to "vector" at 0 1 0.
Can anyone tell me why this is acting so weird? I'm using Maya 2009 64-bit on Windows 7, but I've had this problem for years on 32-bit XP as well. I'm obviously missing some key setting here, but I'm unable to locate any details in the Maya docs.
thanks
When I create the Aim Constraint, I set it to constrain Y only. Now setting my aim vector, I've been getting some really strange results.
1, 0, 0 - the constrained object ignores X movement of the target object, and only detects Z movement. (I'm Y-up)
-1, 0, 0 - the constrained objects better tracks the target, but in the +X -Z quadrant it starts turning the opposite direction and then does a 180-degree pop as the target crosses into +X +Z
0, 0, 1 - the constrained object seems to do a mirror-like track. If the target object moves to the -Z side of the constrained object, then the rotation bounces and goes back the other direction. (edit: actually, if the target object moves below the constrained object, then the constraint works perfectly and the constrained object always points toward the target.)
0, 0, -1 - this seems to work as I would expect, so long as the target object's position is higher on Y than the target object. If it goes below the target on Y, then I get the same bouncing rotation, but facing the other direction.
So it looks like I have to use the Z axis. If the target will be in +Y as compared to the constrained object, then I should set the aim vector to -Z. If the target will be in -Y, then I should set the aim vector to +Z. Well I sure hope that the target doesn't cross the X-Z plane or my rig will break.
My up vector is set to "vector" at 0 1 0.
Can anyone tell me why this is acting so weird? I'm using Maya 2009 64-bit on Windows 7, but I've had this problem for years on 32-bit XP as well. I'm obviously missing some key setting here, but I'm unable to locate any details in the Maya docs.
thanks
