using Spine; using Spine.Unity; using Spine.Unity.AttachmentTools; using UnityEngine; public class SpineTestMgr : MonoBehaviour { [SerializeField] SkeletonAnimation skanimTest1; [SerializeField] MeshRenderer rendTest1; [SerializeField] SkeletonAnimation skanimTest2; [SerializeField] MeshRenderer rendTest2; [SerializeField] Color[] clrHairs1; [SerializeField] Color[] clrHairs2; [SerializeField] Color[] clrEyes; [SerializeField] Texture2D[] tx2dChanges1; [SerializeField] Texture2D[] tx2dChanges2; int ihair1 = 0; int ihair2 = 0; int ieye = 0; int icostume1 = 0; int icostume2 = 0; MaterialPropertyBlock mpbChange1; MaterialPropertyBlock mpbChange2; private void InitTest() { skanimTest1.skeleton.FindSlot("arm_R").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("acce1").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("acce2").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("mouse").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("eye_l").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("eye_h").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("head").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("body").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("finger").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("arm_L").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("leg_R").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("leg_L").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("back_acce").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("acce3").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("shadow").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("hair_h").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("hair_0").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("eyebrow").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("hair_d").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("hair_c").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("hair_b").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("hair_a").SetColor(Color.gray); skanimTest1.skeleton.FindSlot("eye").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("arm_L").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("eye1_h").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("eye1").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("eye1_wt").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("hair_gra").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("hair_nn").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("eyebrow3").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("mouse1").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("head").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("body").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("finger").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("weapon").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("arm_R").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("leg_R").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("leg_L").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("hair_back_R").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("hair_back_L").SetColor(Color.gray); skanimTest2.skeleton.FindSlot("shadow").SetColor(Color.gray); mpbChange1 = new MaterialPropertyBlock(); mpbChange1.SetTexture("_MainTex", tx2dChanges1[0]); rendTest1.SetPropertyBlock(mpbChange1); mpbChange2 = new MaterialPropertyBlock(); mpbChange2.SetTexture("_MainTex", tx2dChanges2[0]); rendTest2.SetPropertyBlock(mpbChange2); } public void BtnHair1() { ihair1++; if (ihair1 >= clrHairs1.Length) ihair1 = 0; skanimTest1.skeleton.FindSlot("hair_0").SetColor(clrHairs1[ihair1]); skanimTest1.skeleton.FindSlot("eyebrow").SetColor(clrHairs1[ihair1]); skanimTest1.skeleton.FindSlot("hair_d").SetColor(clrHairs1[ihair1]); skanimTest1.skeleton.FindSlot("hair_c").SetColor(clrHairs1[ihair1]); skanimTest1.skeleton.FindSlot("hair_b").SetColor(clrHairs1[ihair1]); skanimTest1.skeleton.FindSlot("hair_a").SetColor(clrHairs1[ihair1]); skanimTest2.skeleton.FindSlot("hair_back_R").SetColor(clrHairs1[ihair1]); skanimTest2.skeleton.FindSlot("hair_back_L").SetColor(clrHairs1[ihair1]); skanimTest2.skeleton.FindSlot("hair_nn").SetColor(clrHairs1[ihair1]); skanimTest2.skeleton.FindSlot("eyebrow3").SetColor(clrHairs1[ihair1]); } public void BtnHair2() { ihair2++; if (ihair2 >= clrHairs2.Length) ihair2 = 0; skanimTest1.skeleton.FindSlot("hair_h").SetColor(clrHairs2[ihair2]); skanimTest2.skeleton.FindSlot("hair_gra").SetColor(clrHairs2[ihair2]); } public void BtnEye() { ieye++; if (ieye >= clrEyes.Length) ieye = 0; skanimTest1.skeleton.FindSlot("eye").SetColor(clrEyes[ieye]); skanimTest2.skeleton.FindSlot("eye1").SetColor(clrEyes[ieye]); } public void BtnCostume() { icostume1++; if (icostume1 >= tx2dChanges1.Length) icostume1 = 0; mpbChange1.SetTexture("_MainTex", tx2dChanges1[icostume1]); rendTest1.SetPropertyBlock(mpbChange1); icostume2++; if (icostume2 >= tx2dChanges2.Length) icostume2 = 0; mpbChange2.SetTexture("_MainTex", tx2dChanges2[icostume2]); rendTest2.SetPropertyBlock(mpbChange2); } public void BtnRelease() { //if (matTest != null) // Resources.UnloadAsset(matTest); } void Start() { InitTest(); } }