【发布时间】:2018-10-21 07:25:31
【问题描述】:
AssetBundle使用手册中https://docs.unity3d.com/Manual/AssetBundles-Native.html
我可以看到,当使用LoadAsset加载一个游戏对象时,为什么我们需要做额外的步骤Instantiate呢?这将创建另一个预制件副本,我很困惑为什么我们不直接使用加载的prefab GameObject?
public class LoadFromFileExample extends MonoBehaviour {
function Start() {
var myLoadedAssetBundle = AssetBundle.LoadFromFile(Path.Combine(Application.streamingAssetsPath, "myassetBundle"));
if (myLoadedAssetBundle == null) {
Debug.Log("Failed to load AssetBundle!");
return;
}
var prefab = myLoadedAssetBundle.LoadAsset.<GameObject>("MyObject");
Instantiate(prefab); // why do not use prefab directly ?
}
}
【问题讨论】: