private void OnEnable()
        {
            if (inited)
            {
                return;
            }

            inited = true;
            if (BoundAnimator == null)
            {
                BoundAnimator = GetComponent <Animator>();
            }

            bonePositionOffsets = new Vector3[(int)HumanBodyBones.LastBone];
            boneRotationOffsets = new Vector3[(int)HumanBodyBones.LastBone];

            orignalRot        = new Quaternion[(int)HumanBodyBones.LastBone];
            orignalParentRot  = new Quaternion[(int)HumanBodyBones.LastBone];
            PhysicalReference = new NeuronAnimatorPhysicalReference();
            UpdateOffset();
            CalculateOriginalRot();
        }