如何在不使用Selection的情况下构建assetBundle

时间:2014-06-04 08:35:54

标签: unity3d

我想编写自己的编辑器,允许我在整个Assets文件夹中搜索X的对象类型,并从中创建一个AssetBundle。

我浏览了所有手册和文档,似乎他们都使用Selection类来构建Assets Bundle。

但是,如果有10 000多个对象分散在不同的文件夹中并且我不想手动选择每个对象,但我仍然想跟踪它们的依赖性。有办法吗?

我已经尝试过编辑Selection.objects,但据我所知,它仅限于一个具体场景。

是否可以跳过整个Selection类并只使用BuildPipeline.BuildAssetBundle()方法?如果是,如何获得可以使用的正确对象列表?我是否需要编写自己的深度线程循环来获取依赖项?

1 个答案:

答案 0 :(得分:3)

您只需要一个对象列表。就是这样。你如何得到它们是无关紧要的。您可以使用Selection类执行此操作,但如果您有其他方法可以查找资产,那么也没有问题。

至于依赖关系,请记住,您的最终通话将是:

BuildPipeline.BuildAssetBundle(main_asset, objects_array, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets);

看到BuildAssetBundleOptions.CollectDependencies?它将确保包含您指定的对象的所有必要依赖项。