您的位置:首页 > 移动开发 > Unity3D

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

2015-10-20 20:53 531 查看
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修改命名

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: