Spine输出资源一键入Unity3D工具代码

http://www.cnblogs.com/hellohuan/p/3926016.html


[MenuItem("Assets/batchCreateSpineData")]
static public void BatchCreateSpineData()
{
    string dirName = "";
    string spineFileName = BatchCreateSpineDataMethod(ref dirName);
    Debug.Log(spineFileName);
    Debug.Log(dirName);
 
    string textureName = dirName + spineFileName + ".png";
    string jsonFileName = dirName + spineFileName + ".json.txt";
    string atlasFileName = dirName + spineFileName + ".atlas.txt";
 
    Material mat;
    ///1、 创建材质,并指贴图和shader
    {
        Shader shader = Shader.Find("Unlit/Alpha_zorro");
        mat = new Material(shader);
        Texture tex = Resources.LoadAssetAtPath(textureName, typeof(Texture)) as Texture;
        mat.SetTexture("_MainTex", tex);
        AssetDatabase.CreateAsset(mat, dirName + spineFileName + ".mat");
        AssetDatabase.SaveAssets();
    }
      
    ///2、 创建atlas,并指xx
    AtlasAsset m_AtlasAsset = AtlasAsset.CreateInstance<AtlasAsset>();
    AssetDatabase.CreateAsset(m_AtlasAsset, dirName + spineFileName + ".asset");
    Selection.activeObject = m_AtlasAsset;
 
    TextAsset textAsset = Resources.LoadAssetAtPath(atlasFileName, typeof(TextAsset)) as TextAsset;
    m_AtlasAsset.atlasFile = textAsset;
    m_AtlasAsset.materials = new Material[1];
    m_AtlasAsset.materials[0] = mat;
    AssetDatabase.SaveAssets();
 
 
    ///3、 创建SkeletonDataAsset,并指相关
    SkeletonDataAsset m_skeltonDataAsset = SkeletonDataAsset.CreateInstance<SkeletonDataAsset>();
    AssetDatabase.CreateAsset(m_skeltonDataAsset, dirName + spineFileName + " AnimationData.asset");
    Selection.activeObject = m_skeltonDataAsset;
 
    m_skeltonDataAsset.atlasAsset = m_AtlasAsset;
    TextAsset m_jsonAsset = Resources.LoadAssetAtPath(jsonFileName, typeof(TextAsset)) as TextAsset;
    m_skeltonDataAsset.skeletonJSON = m_jsonAsset;
    AssetDatabase.SaveAssets();
 
 
    /// 创建场景物件
    GameObject gameObject = new GameObject(spineFileName, typeof(SkeletonAnimation)) ;
    EditorUtility.FocusProjectWindow();
    Selection.activeObject = gameObject;
 
    SkeletonAnimation m_skelAnim = gameObject.GetComponent<SkeletonAnimation>();
    m_skelAnim.skeletonDataAsset = m_skeltonDataAsset;
}


用py修改命名

import  os
import  string
 
dirName  =  os.getcwd()
print (dirName)
 
li = os.listdir(dirName)
for  filename  in  li:
     newname  =  filename
     #print (newname)
     filtername  =  newname.split( "." )
     if  filtername[ - 1 ] = = "atlas" :
         print  (filtername)
         newname  =  newname  +  ".txt"
         os.rename(filename,newname)
         print  newname,   "+txt successfully"
 
     if  filtername[ - 1 ] = = "json" :
         print  (filtername)
         newname  =  newname  +  ".txt"
         os.rename(filename,newname)
         print  newname,   "+txt successfully"  

  


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值