public void ResetRagdoll()
    {
        m_Alpha          = PEUtil.GetCmpt <StandardAlphaAnimator>(transform);
        m_Renderers      = PEUtil.GetCmpts <Renderer>(transform);
        m_Colliders      = PEUtil.GetCmpts <Collider>(transform);
        slaveRigidBodies = PEUtil.GetCmpts <Rigidbody>(transform);
        if (0 < slaveRigidBodies.Length)
        {
            ragdollRootBone = slaveRigidBodies[0].transform;
        }

        animFollow = GetComponent <AnimFollow_AF>();
        if (null != animFollow)
        {
            master = animFollow.master;
        }
        if (null != master)
        {
            masterRootBone = PETools.PEUtil.GetChild(master.transform, ragdollRootBone.name);
            anim           = PEUtil.GetCmpt <Animator>(master.transform);
        }
        if (m_RagdollEffect == null)
        {
            m_RagdollEffect = gameObject.AddComponent <PERagdollEffect>();
        }

        if (m_RagdollEffect != null)
        {
            m_RagdollEffect.ResetRagdoll();
        }
    }
        public void Reset()
        {
            modelController   = PEUtil.GetCmpt <PEModelController>(transform);
            ragdollController = PEUtil.GetCmpt <PERagdollController>(transform);
            ikArray           = PEUtil.GetCmpts <IK>(transform);
            ikFlashLight      = PEUtil.GetCmpt <IKFlashLight>(transform);
            fbbik             = PEUtil.GetCmpt <FullBodyBipedIK>(transform);
            grounderFBBIK     = PEUtil.GetCmpt <GrounderFBBIK>(transform);
            humanPhyCtrl      = PEUtil.GetCmpt <HumanPhyCtrl>(transform);
            ikAimCtrl         = PEUtil.GetCmpt <IKAimCtrl>(transform);
            ikAnimEffectCtrl  = PEUtil.GetCmpt <IKAnimEffectCtrl>(transform);
            ikDrive           = PEUtil.GetCmpt <IKDrive>(transform);
            defenceTrigger    = PEUtil.GetCmpt <PEDefenceTrigger>(transform);
            pathFinder        = PEUtil.GetCmpt <PEPathfinder>(transform);
            motor             = PEUtil.GetCmpt <PEMotor>(transform);
            steerAgent        = PEUtil.GetCmpt <Steer3D.SteerAgent>(transform);
            animFollow_AF     = PEUtil.GetCmpt <AnimFollow_AF>(transform);
            beatParam         = PEUtil.GetCmpt <BeatParam>(transform);
            moveParam         = PEUtil.GetCmpt <MoveParam>(transform);
            barrelController  = PEUtil.GetCmpt <PEBarrelController>(transform);
            billBoard         = PEUtil.GetCmpt <BillBoard>(transform);
            armorBones        = PEUtil.GetCmpt <ArmorBones>(transform);
            visions           = PEUtil.GetCmpts <PEVision>(transform);
            hears             = PEUtil.GetCmpts <PEHearing>(transform);
            native            = PEUtil.GetCmpt <PENative>(transform);
            monster           = PEUtil.GetCmpt <PEMonster>(transform);
            if (null != modelController)
            {
                modelController.ResetModelInfo();
            }

            if (null != animFollow_AF)
            {
                animFollow_AF.ResetModelInfo();
            }

            if (null != ragdollController)
            {
                ragdollController.ResetRagdoll();
            }
        }