AssetGraph的使用小结

引言

这几天尝试使用AssetGraph,网上苦于AssetGraph的相关资料很少,只有一篇比较完善的文章:AssetGraph - 好用的AssetBundle打包工具,自己摸索花费了一些时间,做一些记录。


解决的问题

 AssetGraph目的在于将打assetBundle简单化,图形化。最关键的部分在于Filter结点和Bundlizer结点,Filter结点的主要目的是根据keyword对资源文件进行重新分类,keyword一般是指定目录下的文件夹名称。keyword据悉是支持regular expression(正则表达式)这部分我没有深入,有兴趣的同学可以研究一下。Bundlizer结点的工作就是对资源文件进行assetbundlename的设置了,要知道对资源文件进行打包最关键的步骤就是设置assetbundlename了。


根据文首提到的那篇台湾朋友的文章,基本上可以熟悉AssetGraph的基本使用规范。

使用AssetGraph的注意点

1>当修改路径下的资源时,需要重新连接节点间的连线,节点间的数据并不会自动更新。

2>ImportSetting结点一次只能处理一类资源。类型的划分如下:

AssetGraph的使用小结_第1张图片

3>多个ImportSetting结点可以导向同一个BundleConfig结点:

AssetGraph的使用小结_第2张图片

4>结点的连接顺序不是固定,某些结点可以跳过不用,这取决于前后结点的输入,输出参数是否匹配。比如:

AssetGraph的使用小结_第3张图片


能不能解决我们的问题?(特殊情况,不具有普适性,用以分析AssetGraph的适用场景)

不同项目对资源的处理及打包规则都有所不同,目前我所在的项目对于资源打包的基本需求有以下几点:

1.能否对文件夹进行打包

2.能否跳过指定的文件夹

3.能否对与文件夹同级的资源文件进行打包

对此我们设计了一个测试目录:

AssetGraph的使用小结_第4张图片



每个Images/ID_* 目录下包含一个测试的图片文件,Audio目录下包含一个Audio.mp3文件,DontNeed目录下包含一个DontNeed.mp3文件,need文件是一个.mp3文件。

针对该测试文件夹,重申一下我们的需求:

1>对Images文件夹下的资源进行打包;

2>对Audio文件夹下的资源进行打包;

3>不对DontNeed文件夹下的资源进行打包;

4>对need.mp3文件进行打包。

使用AssetGraph对资源进行处理:

AssetGraph的使用小结_第5张图片

Filter0的设置如下:

AssetGraph的使用小结_第6张图片

选中Filter0到ImportSetting3的连线,看到导入的3个资源包含了DontNeed下的资源。

AssetGraph的使用小结_第7张图片

对于这样的需求,目前我对于AssetGraph的熟悉还无法满足,遂暂时放弃了对AssetGraph的研究。


总结

AssetGraph工具将对于资源的划分和对AssetBundleName的命名可视化了,可以通过拖动进行操作,对于没有特别复杂需求的项目来说,可以大大简化程序员同美术、策划之间交叉工作的难度。相信只要订立好实用规范,对工作效率的提升时很显著的。期待AssetGraph工具后续的功能可以更完善!


你可能感兴趣的:(Unity3d,游戏开发,AssetGraph,AssetBundle,AssetBundleName)