最近实习在开发一款文字游戏的剧本生成工具。工具的功能主要是读取csv剧本文件,在工具中手动选择背景或者人物表情等,之后自动生成演出的代码。
在此之前还没怎么接触过Unity的Spine运行库,开贴将得到的经验记录下来。
1.Spine生成的文件导入Unity,要将Atlas文件名字的最后面加txt,因为unity是读入atlas文件的
2.开发中attachment命名为 表情.e0,表情.m0等,e或者m等字母表示面部部位,想要从json读入的文件中获取角色有那些表情,一开始想要直接遍历某个slot下面的attachment,后来发现行不通。必须获得全部attachment然后通过判断slotIndex来将表情储存。
foreach(Skin.SkinEntry aa in cgInfo.SkeletonData.GetSkeletonData(true).DefaultSkin.GetAttachments()) //初始化faces
{
if (aa.SlotIndex== 1)
{
var ss = aa.Attachment.Name.Split('.');
cgInfo.Faces.Add(ss[0]);//将表情加入表情列表
}
}
3.遍历某个文件下边的子文件夹
var path = Application.dataPath + "/Resources/Portraits/" + name;//父文件夹的地址
DirectoryInfo directoryInfo = new DirectoryInfo(path)//父文件夹 的信息
DirectoryInfo []directoryInfos = directoryInfo.GetDirectories("*",SearchOption.TopDirectoryOnly);//SearchPattern为只查找下一级的文件夹