| This class is to implement a HAnimLevelsOfAnimation checker. Basically, given a humanoid, it ouputs an integer that gives the level of compliance of this humanoid against a standard pre-defined set of Joints and Sites. This integer ranges from -1 to 3, -1 meaning that it does not comply with any level of animation. See also GestureLevelOfAnimation for compliance of gestures against the same set of pre-defined Joints and Sites.
Please read the H-Anim specification for more information.
Please note that there is a problem in H-Anim with sites since:
1. a H-Anim level 1 compatible avatar should contain:
l_middistal_tip, r_middistal_tip, l_hand_tip, r_hand_tip (among others)
2. a H-Anim level 2 compatible avatar should contain:
l_forefoot_tip, r_forefoot_tip, l_middle_distal_tip, r_middle_distal_tip (among others)
but not the four Sites given in 1.
This is a problem since levels of articulation are given in ascendant order
however, l_middistal_tip is just the same name for l_forefoot_tip (and so on for the other three).
Therefore we assume that an avatar is level 1 compatible if it contains either of each pair
(both of a pair could be considered as an error but we assume that users won't use both)
(same conditions applies for higher order levels).
The following joints are not included in the loa also they are defined by H-Anim
it is assumed they are level 4 (all non standard joints):
Joint.l_eyelid_joint;
Joint.r_eyelid_joint;
Joint.l_eyebrow_joint;
Joint.r_eyebrow_joint;
Joint.temporomandibular;
Joint.NonStandard;
author: Silvere Martin-Michiellot version: 1.1 |