我想编写自己的编辑器,允许我在整个Assets文件夹中搜索X的对象类型,并从中创建一个AssetBundle。
我浏览了所有手册和文档,似乎他们都使用Selection类来构建Assets Bundle。
但是,如果有10 000多个对象分散在不同的文件夹中并且我不想手动选择每个对象,但我仍然想跟踪它们的依赖性。有办法吗?
我已经尝试过编辑Selection.objects,但据我所知,它仅限于一个具体场景。
是否可以跳过整个Selection类并只使用BuildPipeline.BuildAssetBundle()方法?如果是,如何获得可以使用的正确对象列表?我是否需要编写自己的深度线程循环来获取依赖项?
答案 0 :(得分:3)
您只需要一个对象列表。就是这样。你如何得到它们是无关紧要的。您可以使用Selection类执行此操作,但如果您有其他方法可以查找资产,那么也没有问题。
至于依赖关系,请记住,您的最终通话将是:
BuildPipeline.BuildAssetBundle(main_asset, objects_array, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets);
看到BuildAssetBundleOptions.CollectDependencies
?它将确保包含您指定的对象的所有必要依赖项。