第一次使用Asset Bundles时,我似乎无法让它们正常工作。
我有一个简单的层次结构的预制件 - 父母的MonoBehaviour和一些有自己的MonoBehaviours的孩子。所有MonoBehaviors都具有[SerializeField]属性,并在预制件中保存了非默认值。
我已经使用BuildPipeline.BuildAssetBundles将此预制件添加到资产包中,这似乎工作正常,但是,在运行时加载资源时,只有父MonoBehaviour将其字段反序列化正确,并且所有孩子都获得默认值。对其他GameObjects的引用工作正常,但原始数据被重置(或者第一次可能没有正确保存)。
我正在加载资产包,如下所示:
var assetBundle = AssetBundle.LoadFromFile("Assets/AssetBundles/bundle");
var asset = assetBundle.LoadAsset<GameObject>("Name");
Instantiate(asset);
为什么这不能正确反序列化?
谢谢!