Suggested BVH Joint Rotation Limits

From Second Life Wiki
Revision as of 10:34, 9 March 2011 by Coaldust Numbers (talk | contribs) (Created page with "{{Help |Object=* }} {| class="sortable" {{prettytable}} |-{{Hl2}} !Bone !X Axis !Y Axis !Z Axis |- |head | -30 to 22 | -45 to 45 | -30 to 30 |- |neck | -30 to 22 | -45 to 45 | -…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Bone X Axis Y Axis Z Axis
head -30 to 22 -45 to 45 -30 to 30
neck -30 to 22 -45 to 45 -30 to 30
lCollar 0 to 0 -30 to 10 -30 to 30
rCollar 0 to 0 -10 to 30 -30 to 30
lShldr -90 to 90 -105 to 72 -100 to 98
rShldr -90 to 90 -72 to 105 -98 to 100
lForeArm -90 to 72 -146 to 0 0 to 0
rForeArm -90 to 72 0 to 146 0 to 0
lHand[1] -45 to 45 -25 to 36 -72 to 72
rHand[1] -45 to 45 -36 to 25 -72 to 72
chest -30 to 22 -45 to 45 -30 to 30
abdomen -30 to 68 -45 to 45 -30 to 30
hip[2] Not Applicable Not Applicable Not Applicable
lThigh -155 to 45 -30 to 68 -15 to 85
rThigh -155 to 45 -68 to 30 -85 to 15
lShin 0 to 150 0 to 0 0 to 0
rShin 0 to 150 0 to 0 0 to 0
lFoot -32 to 54 -45 to 22 -85 to 15
rFoot -32 to 54 -22 to 45 -15 to 85

This information is useful for preventing animators from hyperextending joints. It's also required by some programs to set up inverse kinematics.

Forward kinematics is animating by rotating the bones manually. Inverse kinematics is animating by moving the end of a chain of bones (often the hands and feet) causing the bones behind it to be pulled along like links in a chain. Most animators use a combination of the two. Inverse kinematics is good for quickly getting the bones into a position close to what you desire. You can then use forward kinematics to fine tune the positions before setting your keyframe.

None of the limits above are 'official'. They aren't due to limitations in the simulator or viewer. They aren't based on anything in the default animations. They aren't drawn from medical sources. In fact, I was surprised to be unable to find anything like this on the web, despite it being important to anyone making animations for humanoids. I can only say that the animations I've created with these limits look right to my eyes, and I can make most of these bends with my own body (and I'm not double jointed or a gymnast). Information from more reputable sources would be welcome.

When trying to estimate what the joint rotation limits should be it's important to consider actions that bend the joints to extremes.

Actions I considered include:

  • walking on the tips of the toes, as in ballet
  • cartwheel
  • crossing the legs at the knees
  • sliding the feet apart along a flat floor into the splits
  • swan dive
  • swinging from a gymnastics high bar (e.g. with your arms behind you)
  • toe touch
  • torso tilt to the side (exercise)
  • torso twist (exercise)

See Also

Footnotes

  1. ^ In theory, the hands should not rotate along the X axis, but some rotation along the X axis is needed to compensate for the lack of finger control. When using inverse kinematics you should set the X axis joint stiffness to maximum, so it will only rotate when required, or lock the X axis rotation at 0 and unlock and adjust it manually when necessary.
  2. ^ Since hip is the root of the bone hierarchy, it rotates the entire body.