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