Unity3d加载assetbundle

m0j1

我正在尝试使用Unity3d AssetBundles。我正在尝试使用其对象加载场景。我有以下用于创建资产捆绑包的简单代码:

 [MenuItem ("Build/BuildAssetBundle")]
 static void myBuild(){
     string[] levels = {"Assets/main.unity"};
     BuildPipeline.BuildStreamedSceneAssetBundle(levels,"Streamed-Level1.unity3d",BuildTarget.Android);
 }

我使用上面的代码从一个场景中构建资产捆绑包,该场景中有一个摄像头和一个位于中心的多维数据集。

我有以下代码来加载它:

 using UnityEngine;
 using System.Collections;

 public class loader : MonoBehaviour {

     public GUIText debugger;
     private string url = "http://www.myurl.com/Streamed-Level1.unity3d";
     // Use this for initialization
     IEnumerator Start () {
         Debug.Log("starting");
         WWW www = WWW.LoadFromCacheOrDownload(url,1);
         if(www.error != null)
         {
             Debug.LogError(www.error);
         }
         yield return www;
         Debug.Log("after yield");
         AssetBundle bundle = www.assetBundle;
         bundle.LoadAll();
         Debug.Log("loaded all");
         Application.LoadLevel("main");


     }

     // Update is called once per frame
     void Update () {

     }
 }

问题似乎是当它到达loadAll时就停止了。

如果有人可以帮助我,我将不胜感激。

非常感谢

尤里

问题是C#具有迭代器/生成器,以此类推,看起来像一个函数,但没有。因此,您的代码只是创建迭代器,而不运行它。使用StartCoroutine加载资产:

using UnityEngine;
using System.Collections;

public class BundleLoader : MonoBehaviour{
    public string url;
    public int version;
    public IEnumerator LoadBundle(){
        using(WWW www = WWW.LoadFromCacheOrDownload(url, version){
            yield return www;
            AssetBundle assetBundle = www.assetBundle;
            GameObject gameObject = assetBundle.mainAsset as GameObject;
            Instantiate(gameObject );
            assetBundle.Unload(false);
        }
    }
    void Start(){
        StartCoroutine(LoadBundle());
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Unity3D 更新本地 assetBundle

来自分类Dev

制作场景时的Assetbundle大小问题(.unity3d文件)

来自分类Dev

Unity3d从Textures文件夹加载精灵

来自分类Dev

如何检查是否在Unity3D中加载了关卡

来自分类Dev

构建后Unity3D加载资源

来自分类Dev

Unity3d从Textures文件夹加载精灵

来自分类Dev

在 Unity3d 中重新加载 GameScene 而不重新加载 UIScene

来自分类Dev

Unity3D + NHibernate,崩溃加载“ Unity 3.5 .net完整基类库”

来自分类Dev

Unity3D + NHibernate,崩溃加载“ Unity 3.5 .net完整基类库”

来自分类Dev

nullreferenceexception:unity3d

来自分类Dev

Unity3D:高分

来自分类Dev

nullreferenceexception:unity3d

来自分类Dev

编译后如何更改AssemblyName以在Unity3d中作为mod加载

来自分类Dev

在Unity3D中加载下一个场景

来自分类Dev

Unity3d使用内存:加载和卸载预制件

来自分类Dev

如何使用unity3d在移动设备上正确加载XML文件

来自分类Dev

Unity3D无法加载类型'Newtonsoft.Json.Linq.JObject'

来自分类Dev

在Unity3D中异步加载场景不起作用

来自分类Dev

将文件加载到使用Webplayer嵌入的unity3d应用程序中

来自分类Dev

Unity3d使用内存:加载和卸载预制件

来自分类Dev

在Unity3D中加载下一个场景

来自分类Dev

在Unity3d中为多个关卡创建一个加载场景

来自分类Dev

如何在unity3d中加载另一个级别?

来自分类Dev

无法将数据保存到文件,然后将其加载到Unity3d中

来自分类Dev

游戏关闭后无法保存数据以加载它(Unity3d)

来自分类Dev

Unity3d的增强现实SDK

来自分类Dev

Unity3D优化代码

来自分类Dev

Unity3d单击并拖动Gizmos

来自分类Dev

Unity3d使用CreateSpecificCulture

Related 相关文章

热门标签

归档