Skeletons & Bone Relationships
All 3D products in IMVU are comprised of two main parts, a visible mesh and an invisible skeleton. The visible bit, the mesh, is what Users see and interact with. The invisible, the skeleton, essentially controls what happens when items are used. In other words, a furniture items skeleton allows a couch to be placed on a furniture node, part of a rooms skeleton , or an ear-ring accessory being positioned at the avatars ear and not their wrist. Skeletons then are necessary for IMVU to function properly, ensuring items appear and behave as the should.
What Is A Skeleton
For IMVU skeletons are not objects or structures but relationships. So whilst there are actual skeletons, an Armature in Blender, a skeletal structure can be used that’s determined solely by the relationships between objects the skeleton might contain. The aforementioned Armature for example, is a type of skeletal object within which a sub-element, Bones, can be strung together to form what can be considered a traditional skeletal structure;

In contrast, the same skeletal structure, that is the hierarchy represented by the traditional skeleton, can be replicated using any type of object, Nodes as is the case of IMVU, that when linked together create something that approximates the structure of an Armature based skeleton.

Skeletal Structure
For most avatar-based products the skeleton is pre-built, bones cannot be added or removed without negatively affecting the appearance or behaviour of the avatar itself. For all other products and items skeletons can be constructed per the products intended purpose, which in turn determines the skeletons structure, the different types of bones or nodes that can be used (identified by name), how many can be used, their order, orientation, and the hierarchal structure that’s expected. For example, a simple furniture item might have the following skeleton;
Root » seat[n].*

A room might have;
skeleton.Room » node.Room » » Omni01 » camera.* » furniture.Floor.* » furniture.Wall.* » furniture.Ceiling.* » seat[n].*

An accessory (including pets);
AttachmentRoot » AttachmentNode

Compared to the avatar;
zHead
Female03MasterRoot
PelvisNode
lfHip
lfThigh
lfCalf
lfFoot
lfToes
xTipBone86
rtHip
rtThigh
rtCalf
rtFoot
rtToes
xTipBOne38
Spine01
Spine02
Spine03
Spine04
Neck01
Neck02
Neck03
Neck04
Head
xTipBone33
lfClavicle
lfShoulder
lfBicep
lfElbow
lfWrist
lfHand
lfmetaCarpal03
lfFingerMiddle01
lfFingerMiddle02
lfFingerMiddle03
xTipBone87
lfmetaCarpal01
lfThumb01d
lfThumb02
lfThumb03
xTipBone88
lfmetaCarpal05
lfFingerPinky01
lfFingerPinky02
lfFingerPinky03
xTiprtFingerne83
lfmetaCarpal02
lfFingerIndex01
lfFingerIndex02
lfFingerIndex03
xTipBone89
lfmetaCarpal04
lfFingerRing01
lfFingerRing02
lfFingerRing03
xTipBone90
rtClavicle
rtShoulder
rtBicep
rtElbow
rtWrist
rtHand
rtmetaCarpal03
rtFingerMiddle01
rtFingerMiddle02
rtFingerMiddle03
xTipBone74
rtmetaCarpal01
rtThumb01d
rtThumb02
rtThumb03
xTipBone66
rtmetaCarpal05
rtFingerPinky01
rtFingerPinky02
rtFingerPinky03
xTiprtFingerne82
rtmetaCarpal02
rtFingerIndex01
rtFingerIndex02
rtFingerIndex03
xTipBone70
rtmetaCarpal04
rtFingerRing01
rtFingerRing02
rtFingerRing03
xTipBone78
Creating Skeletons
If a skeleton is represented by an Armature and Bones, additional elements need to be included accordingly, as Bones. Where Nodes have been used here too extra skeletal elements will need to match those already in use, i.e. more Nodes. In Blender creating new elements can be done by duplication, selecting an existing bone or node in Edit Mode and using Armature » Duplicate for bones or Object » Duplicate Object for nodes. In either case a new instance will appear than can be moved, renamed and re-parented based on requirements.

