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 ResetView() { if (!s_Enable) { return; } if (m_SkinnedRenderer == null) { m_SkinnedRenderer = gameObject.GetComponent <SkinnedMeshRenderer>(); } foreach (Material mat in m_SkinnedRenderer.materials) { StandardAlphaAnimator.SetupMaterialWithBlendMode(mat, (StandardAlphaAnimator.BlendMode)mat.GetFloat("_Mode")); } foreach (Material mat in m_SkinnedRenderer.materials) { Color color = mat.GetColor("_Color"); color.a = 1; mat.SetColor("_Color", color); } m_SkinnedRenderer.enabled = true; }
// void InitAll() // { // m_renderers = GetComponentsInChildren<Renderer>(); // not put this in loop because unreasonable memory allocated // for (int i = 0; i < m_renderers.Length; i++) { // if(m_renderers[i] is SkinnedMeshRenderer){ // m_Alpha = m_renderers[i].GetComponent<StandardAlphaAnimator>(); // if(m_Alpha != null) // break; // } // } // m_Colliders.Clear (); // GetComponentsInChildren<Collider> (m_Colliders); // } void InitRenderers() { m_Renderers = PETools.PEUtil.GetCmpts <Renderer>(transform); for (int i = 0; i < m_Renderers.Length; i++) { if (m_Renderers[i] is SkinnedMeshRenderer) { m_Alpha = m_Renderers[i].GetComponent <StandardAlphaAnimator>(); if (m_Alpha != null) { break; } } } }