0

在 unity3d 我加载assetbundle,但是当 Instantiate(bundle.mainAsset) - unity3d 有滞后 - 一些延迟。这是我的代码,我在其中加载了assetBundle(类DataAssetLoad - 类,比包含url、nameBunle 等)

private IEnumerator LoadCoroutine(DataAssetLoad dataAsset)
{
    while (!Caching.ready)
        yield return new WaitForEndOfFrame();

    WWW www = WWW.LoadFromCacheOrDownload(dataAsset.url, 0);

    yield return www;

    AssetBundle bundle = www.assetBundle;

    yield return new WaitForEndOfFrame();

    AssetBundleRequest request = bundle.LoadAssetAsync (dataAsset.bundleName, typeof(GameObject));

    yield return request;

    GameObject obj = request.asset as GameObject;

    GameObject newObject = Instantiate(bundle.mainAsset) as GameObject;
    newObject.transform.parent = this.transform;

    bundle.Unload(false);

    www.Dispose();
}
4

0 回答 0