首页 > 代码库 > Unity3d Load AssetBundle(不同平台)
Unity3d Load AssetBundle(不同平台)
~~~~~题外~~~~~
公司工作机不能上外网,疏于整理自己所学的知识,导致很多知识点了解过多次,仍然遗忘。慢慢开始下班后在家整理吧~~
正题
unity3d有四种加载机制:
//服务器地址样例 string sUrl = "http://192.168.X.X/hss"+"/test.assetbundle"; //本地地址样例 /***** * 对于不同平台 Application.persistentDataPath 路径都有读写权限(需要多线程下载的兄妹们的福音) * 不同平台的assetbundle文件要在不同的平台打包,用unity的不同平台building的文件是不行的 * e.g. ios平台的assetbundle文件必须在ios系统的机器上用unity打包生成(坑了很久) *****/ string sLocalUrl = "file://"+Application.persistentDataPath+"/test.assetbundle"; // method 1 /****** *异步 *******/ WWW www = new WWW (sUrl); yield return www; // method 2 == method 1 /****** *异步 *******/ WWW www2 = WWW.LoadFromCacheOrDownload(sUrl,0); yield return www2; // method 3 /****** *同步 *******/ AssetBundle.CreateFromFile(sUrl); // method 4 /****** *异步 *******/ byte[] bs = File.ReadAllBytes (sLocalUrl); AssetBundleCreateRequest abq = AssetBundle.CreateFromMemory(bs); yield return abq; // 加载到游戏中 AssetBundle ab = www.assetBundle; // abq.assetBundle; GameObject Gobj = ab.Load ("name") as GameObject;// name是预设中obj的名字 Instantiate (Gobj);
Unity3d Load AssetBundle(不同平台)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。