1

第一次使用 Asset Bundles,我似乎无法让它们正常工作。

我有一个具有简单层次结构的预制件 - 父级上的 MonoBehaviour 和一些具有自己的 MonoBehaviour 的子级。所有 MonoBehavior 都具有 [SerializeField] 属性,其中保存在预制件中的非默认值。

我已经使用 BuildPipeline.BuildAssetBundles 将此预制件添加到资产包中,这似乎工作正常,但是,在运行时加载资产时,只有父 MonoBehaviour 的字段正确反序列化,并且所有子项都获得默认值。对其他游戏对象的引用工作正常,但原始数据会被重置(或者第一次可能没有正确保存)。

我正在像这样加载资产包:

 var assetBundle = AssetBundle.LoadFromFile("Assets/AssetBundles/bundle");
 var asset = assetBundle.LoadAsset<GameObject>("Name");
 Instantiate(asset);

任何线索为什么这不能正确反序列化?

谢谢!

4

0 回答 0