You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

160 lines
5.9 KiB

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();
}
}