/// <summary>还原金身状态,由回收池调用</summary> public void ResetModel() { if (MaterialList == null) { return; } int index = 0; Transform body = Body(); Animator animator = body.GetComponent <Animator>(); MoveController moveController = body.GetComponent <MoveController>(); Renderer[] renderers = body.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < renderers.Length; i++) { Renderer render = renderers[i]; Material[] materials = render.materials; Material goldMat = materials[0]; for (int j = 0; j < materials.Length; j++) { Material GoldMaterial = MaterialList[index]; index++; materials[j] = GoldMaterial; } render.materials = materials; } MaterialList = null; animator.enabled = true; animator.Play("Idle"); ParticleSystem[] ps = moveController.GetComponentsInChildren <ParticleSystem>(); for (int i = 0; i < ps.Length; i++) { ps[i].Play(); } }