|03 March 2013||#1|
Join Date: Jan 2013
Lately, I've been trying to develop a system that allows me to track motion in the "forward" direction of the object, in OBJECT space. Usually this is the object's z direction. If I only move in a straight line, this is naturally just the translate z value. However, once I rotate the object at all, and move it along the objects z axis, it will add the translation values to the respective axes in world space (or at least that's what it shows in the channel box). What I'd want it to do is only add it to the translate z value.
To clarify, imagine I have an object, I move it 2 units in the original z direction, I then rotate it 90 degrees about the y axis (the up axis), so now the objects z direction is pointing in a direction 90 degrees from the original direction. I then grab the translate z handle and move it another 2 units, and the channel box would hopefully read a translate z value of 4 (2+2=4).
To attempt this, I've played around with groups and parenting. If i take my object and put it in a group, then I can do the following to get the desired result:
select the object
group the object
move the object using the OBJECTS translate z handle.
if i choose to rotate the object, I can do so using the group.
after rotating the group, the objects z axis is now pointing in a different direction, and if I move the object (not the group) using the objects z handle, it adds the z values as desired.
However, I run into the problem when I try and rotate the object, as the pivot for the group is somewhere behind the pivot for the object, so rotating the group causes the object to move out of its position, instead of just rotating about its own pivot. I've found that I can press d and move the groups pivot to the objects pivot point after each motion, but this is obviously a bad solution. Anyone have any suggestions as to how I can go about solving this?
|Thread Closed share thread|