构建AssetBundle运行时

问题描述 投票:0回答:1

我正在使用Unity,我需要一个调用函数的按钮,这个函数允许我构建一个AssetBundle,所以我可以通过Unity创建一个外部软件,允许我构建AssetBundle;可能吗?谢谢你们。

c# unity3d bundle assetbundle
1个回答
0
投票

构建AssetBundle运行时

这是不可能做到的。 bulding assetbundles需要buildPipeline命名空间中的UnityEditor,它不能在运行时访问,因为它只是编辑器。

除非你知道如何在你自己的应用程序中复制他们的管道,否则你在Unity中调用的外部应用程序很可能也无法工作,我怀疑你能在Unity之外调用它(即使你可以它仍然无法在运行时工作,因为资产将变为只读)

我不确定你为什么要在运行时构建assetbundles,但我能想到的唯一可能适用于此的方法是使用JSON / XML。

这将需要两个团结实例来“实时”完成。团结的第一个例子就是将您想要制作的对象运行到游戏中。单击按钮后,将调用一个函数来获取GameObject上的所有信息(组件,值,ID,字面上的所有内容),并将其解析为XML / JSON文件。然后,此文件将上载/保存在您的第二个Unity实例可以访问的位置。然后,Unity的第二个实例将在编辑器时间内读取此JSON / XML文件,从内部数据重建原始GameObject(这可以在编辑时从脚本完成),然后将此重构对象放入assetbundle管道。

请注意,虽然我自己从未这样做过,但不是100%它会起作用。虽然我相信如果做得正确它应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.