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