是否可以将下载的游戏对象(使用资产bundle)保存为Premab而不是Unity3d文件



我的原始预制件(包括附加的模型、着色器、动画、材质、脚本等(意外消失了。我只能通过服务器下载unity3d文件。下载的对象在UnityEditor中可见。但我不能将它们存储为预制件(使用拖放或脚本(。遗漏了所有组件。

问题:
-为什么这是不可能的(游戏对象加载在RAM中,但为什么我不能将它们存储在磁盘中(
-如何恢复它们?

简短的回答是否定的,您不能在运行时创建一个预制件。

原因是,制作预制件是编辑器仅依赖于作为UnityEditor命名空间一部分的预制实用程序,因此仅在运行时(依赖于UnityEngine命名空间(之外可用。

在运行时,资产也几乎全部锁定为只读。

然而,这并不意味着它是完全不可能恢复你的游戏对象作为前言。

您可以编写自己的脚本,将您想要的GameObjects序列化为JSON或XML等格式的预制件,然后制作一个编辑器脚本来反序列化这些数据,并由此重建一个新的预制件。你必须自己想办法做到这一点,尽管我个人没有任何关于如何最好地处理这一问题的例子。

更多关于JSON序列化的信息可以在这里找到

最新更新