void _PresetLocalAxis()
{
switch( _boneType ) {
case BoneType.Hips: _PresetLocalAxis( _LocalAxisFrom.Child, _DirectionAs.YPlus ); return;
case BoneType.Spine: _PresetLocalAxis( _LocalAxisFrom.Child, _DirectionAs.YPlus ); return;
case BoneType.Neck: _PresetLocalAxis( _LocalAxisFrom.Child, _DirectionAs.YPlus ); return;
case BoneType.Head: _PresetLocalAxis( _LocalAxisFrom.None, _DirectionAs.None ); return;
case BoneType.Eye: _PresetLocalAxis( _LocalAxisFrom.None, _DirectionAs.None ); return;
case BoneType.Leg: _PresetLocalAxis( _LocalAxisFrom.Child, _DirectionAs.YMinus ); return;
case BoneType.Knee: _PresetLocalAxis( _LocalAxisFrom.Child, _DirectionAs.YMinus ); return;
case BoneType.Foot: _PresetLocalAxis( _LocalAxisFrom.Parent, _DirectionAs.YMinus ); return;
case BoneType.Shoulder: _PresetLocalAxis( _LocalAxisFrom.Child, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus ); return;
case BoneType.Arm: _PresetLocalAxis( _LocalAxisFrom.Child, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus ); return;
case BoneType.ArmRoll: _PresetLocalAxis( _LocalAxisFrom.Parent, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus ); return;
case BoneType.Elbow: _PresetLocalAxis( _LocalAxisFrom.Child, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus ); return;
case BoneType.ElbowRoll: _PresetLocalAxis( _LocalAxisFrom.Parent, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus ); return;
case BoneType.Wrist: _PresetLocalAxis( _LocalAxisFrom.Parent, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus ); return;
}
if( _boneType == BoneType.HandFinger ) {
_LocalAxisFrom localAxisFrom = (_fingerIndex + 1 == MaxHandFingerLength) ? _LocalAxisFrom.Parent : _LocalAxisFrom.Child;
_PresetLocalAxis( localAxisFrom, (_boneSide == Side.Left) ? _DirectionAs.XMinus : _DirectionAs.XPlus );
return;
}
}