Unity3d的模型自动导入帧数表

  开发中经常需要,对美术模型进行一些处理。(以fbx为例)

  例如,需要把动作的名字、start和end加入animations的clips。

  如果手动操作,就是在模型的Inspector窗口,一个动作点一次加号,然后编辑start和end。一个模型往往十几个动作,这样做很明显浪费人力。

  因此需要一个可以自动导入帧数表的工具,工具应该具备一下功能。

  1、根据配置(txt或者json)自动设置模型参数

  配置的格式根据使用习惯,txt、json都可以,这里使用txt。用File.ReadAllLines(“路径”),可以获取配置的每一行信息,只要按照规定方式填写,就可以解析出我们想要的参数。

  例如 动作名+制表符+start+制表符+end。

  2、每次导入模型时,自动生效

  继承了AssetPostprocessor,并且放到Editor目录下,每次资源发生改变时会自动调用里面的方法。

  3、批量处理每一个动作。

  如下,将第一步取出来的参数,用下面方法填入clip列表中,然后复制给模型的ModelImporter的clipAnimations。

public class clipArrayListCreater { private List<ModelImporterClipAnimation> clipList = new List<ModelImporterClipAnimation>(); public void addClip(string name, int firstFrame, int lastFrame, bool loop, WrapMode wrapMode) { ModelImporterClipAnimation tempClip = new ModelImporterClipAnimation(); tempClip.name = name; tempClip.firstFrame = firstFrame; tempClip.lastFrame = lastFrame; tempClip.loop = loop; tempClip.wrapMode = wrapMode; clipList.Add(tempClip); } public ModelImporterClipAnimation[] getArray() { return clipList.ToArray(); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpszjd.html