Avatar body size

From Second Life Wiki
Jump to navigation Jump to search

Body size

Second Life has a concept internally of something called “body size”. This is not the same as the actual avatar height, but it is used as an approximation to the avatar height for purposes of positioning the avatar vertically. If you are designing avatars or animations and are having problems with the vertical position of your avatar, the body size calculation may be useful to know about.

How it works

  • Body size is computed periodically for your avatar, and is used to try to position your avatar vertically.
  • Body size is computed based on the position and scale of a subset of the avatar’s bones. It does not consider the rotation of any bones, so the actual pose of the avatar is irrelevant to the computed body size. The computation is an idealized approximation that assumes the avatar is completely upright, which works fairly well for humans who are standing up straight, but less well for other types of avatars or other poses.
  • Changes to the position or scale of these bones affect the vertical positioning of the avatar, so if you are having problems maintaining a consistent vertical position, you may want to make sure that none of these are changing.
  • The most common way this could cause problems with avatar vertical positioning would be if your avatar is running an animation that affects the position of one of the relevant bones. Bone scales can also change, but only as a result of shape editing, so such changes are less common.
  • The following bones are used for the body size calculation:
    • mPelvis
    • mSkull
    • mNeck
    • mChest
    • mHead
    • mTorso
    • mHipLeft
    • mKneeLeft
    • mAnkleLeft
    • mFootLeft
  • Only the Z dimension (height) of the body is updated based on the state of the above bones. Body size is also computed for X and Y, but these values never change. The X dimension (width) is always 0.60m, and the Y dimension (depth) is always 0.45m.