PDA

View Full Version : how to flip a bone in layout



arrow1234
02-07-2010, 10:09 PM
Hi, i am trying to flip(180 rotate) a bone in layout with the 'Reset bone rest position" tool under the setup tab. However it will just mess up the child bones too, what can i do ?

thanks

evenflcw
02-08-2010, 12:06 PM
There is no "Reset bone rest position" tool!

There's the Record Bone Rest Position and Bone Rest Length Tool. And there's the Record Pivot Rotation and Reset Pivot Rotation (aka Remove RPR).

Either way. Altering the pivot is practically the same as altering the regular rotation. When you edit the pivot the item itself will be transformed and all it's children along with it.

It is however really hard to imagine your situation from your poor and ambiguous description. 180 degree flip on what channel? For what purpose? A screengrab of what you got and a sketch of what you want would be most helpfull. Or uplad the scene and explain what you want to achieve.

jeric_synergy
02-08-2010, 01:00 PM
I would guess he's trying to do something equivalent to making two bones "point to point" rather than "point to base".

And AFAIK, there's no automatic way to do that.

arrow1234
02-08-2010, 02:37 PM
hi, sorry i was a little miserable last night.
Here is a screencap of what can best describe my situation:
http://i47.tinypic.com/35c0ubr.png

As you see the 2nd bone on the left is somehow inverted, bone hierarchy can also be seen in the scene editor as shown. Now how can i invert/flip the bone back so that all bones are positioned correctly in the same direction and order?

This is just an example and i feel like solving this will absolutely help my problem.

thanks

edit: i should mention that i am working on a character model that is exported from XSI, so i dont know why this is such a mess. All the bones are kinda pointing at any angle with no order and there is a lot of gimbal locks. Needless to say that the character is lying down along the Z axis.

evenflcw
02-08-2010, 09:47 PM
Well the bones, 2nd bone and its child must be flipped in either H or P. So just set all rotation to 0. Next, by default all bones are offset in Z by the rest length of it's parent bone (so they touch tip to end). So just copy the rest length of the 2nd bones parent into the 2nd bones Z. And copy the 2nd bones rest length to the Z value of it's child.

Or paste this crap into the LScript Commander Master Plugin and install it under whichever name you want (It should appear under the Additionals or Macros headings in the menu). Select the second bone and run the script:


generic {
bone = Scene().firstSelect();
SelectItem(bone.id);

Position(<0,0,bone.parent.restlength>);
Rotation(<0,0,0>);
PivotRotation(<0,0,0>);

child = bone.firstChild();
SelectItem(child.id);

Position(<0,0,bone.parent.restlength>);
Rotation(<0,0,0>);
PivotRotation(<0,0,0>);

SelectItem(bone.id);
}