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修改命名
[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修改命名
相关文章推荐
- Unity之Avatar原理
- Unity3D研究院之主角面朝方向一定区域内对象角度计算(四十五)
- Unity3D研究院之手游开发中所有特殊的文件夹
- unity3D游戏开发十四之NGUI一
- Unity3D之Foam浪花效果
- Unity.exe/Unity命令行参数
- 小白和坑爹的ATI显卡
- Unity 日志文件的存放
- unity3d图片导入尺寸改变的原因
- unity3D游戏开发三之unity编辑器二
- 图文详解Unity3D中Material的Tiling和Offset是怎么回事
- Unity3D中LitJson使用
- unity3D游戏开发二之unity编辑器一
- unity安卓打包的问题
- 【术】Unity中c#协程原理及实现
- Unity3d 中按钮操作
- Unity中HideInInspector和SerializeField
- Unity3D架构之第一弹 《善用接口》
- Unity3D--学习太空射击游戏制作(一)
- unity3d实现NPC显示名称