//0-19内的材质是3个,20-27的是单个 public Material[] Material(int roleIdx, EUnitCamp camp) { if (roleIdx >= CombatData.Ins.MaxModel) { Material[] ret = new Material[materials.Length]; for (int i = 0; i < materials.Length; i++) { ret[i] = new Material(ShaderMng.Find("AlphaTexture")); ret[i].SetTexture("_MainTex", SkcFile.GetTexrtureFromPlugin(roleIdx, materials[i].Texture)); } return(ret); } else { if (GamePool.Instance != null && GamePool.Instance.SkcMng != null) { return(GamePool.Instance.SkcMng.GetPlayerMat(roleIdx, camp)); } return(null); } }
//0-19内的材质是3个,20-27的是单个 public Material[] Material(int roleIdx, EUnitCamp camp) { if (roleIdx >= Main.Ins.CombatData.MaxModel) { Material[] ret = new Material[materials.Length]; for (int i = 0; i < materials.Length; i++) { ret[i] = new Material(ShaderMng.Find("AlphaTexture")); ret[i].SetTexture("_MainTex", SkcFile.GetTexrtureFromPlugin(roleIdx, materials[i].Texture)); ret[i].SetColor("_Color", materials[i].Diffuse); } return(ret); } else { if (GamePool.Instance != null && GamePool.Instance.SkcMng != null) { return(GamePool.Instance.SkcMng.GetPlayerMat(roleIdx, camp)); } //使用预先设置好的材质球,降低DC和Batch Material[] ret = new Material[materials.Length]; string strTexture = ""; string strIndex = ""; //if (camp == EUnitCamp.EUC_KILLALL) // strIndex = "01"; //if (camp == EUnitCamp.EUC_FRIEND) strIndex = "01"; //非联机模式,只有1皮肤 //else //strIndex = "01"; //else if (camp == EUnitCamp.EUC_ENEMY) // strIndex = "03"; for (int i = 0; i < materials.Length; i++) { //if (materials[i].TwoSide) // ret[i] = new Material(Shader.Find("Shader Forge/DoubleSideTexture")); //else ret[i] = new Material(ShaderMng.Find("AlphaTexture")); //根据阵营决定贴图序号 if (roleIdx > 19) { ret[i].SetTexture("_MainTex", Resources.Load <Texture>(materials[i].Texture)); } else { string[] str = materials[i].Texture.Split('b'); if (str.Length == 2) { strTexture = str[0] + "b" + strIndex; } else { strTexture = materials[i].Texture; } ret[i].SetTexture("_MainTex", Resources.Load <Texture>(strTexture)); } ret[i].SetColor("_Color", materials[i].Diffuse); } return(ret); } }