我正在使用Unity,我需要一个按钮,该按钮调用一个允许我构建AssetBundle的函数,因此我可以将软件从unity外部创建,从而使我可以构建AssetBundle。可能吗? 谢谢大家。
答案 0 :(得分:0)
构建AssetBundle运行时
无法完成。庞大的资产捆绑需要buildPipeline,它位于UnityEditor命名空间中,该命名空间只能在编辑器中运行,无法在运行时访问。
为此您制作一个外部应用程序,除非您知道如何在自己的应用程序中复制它们的管道,否则您可能无法在Unity内部调用它,而且我怀疑您是否能够在Unity外部调用它(甚至如果可以的话,它仍然无法在运行时运行,因为资产将变为只读)
我不确定为什么要在运行时构建资产捆绑包,但是我能想到的唯一可行的方法是使用JSON / XML。
这需要两个unity实例来实时运行。统一的第一个实例是将要制作的对象与资产捆绑在一起运行游戏。单击按钮后,将调用一个函数,该函数将获取GameObject上的所有信息(组件,值,ID以及几乎所有内容),并将其解析为XML / JSON文件。然后,该文件将被上传/保存到您的第二个Unity实例可以访问它的位置。然后,第二个unity实例将在编辑器时读取此JSON / XML文件,从其中的数据重建原始GameObject(这可以在编辑器时从脚本完成),然后将此重建的对象通过assetbundle管道放置。
请注意,尽管我自己从未做过,而且不是100%可行。尽管我相当有信心,如果操作正确,它应该可以工作。