[unity3d]Assetbundle使用示例2(支持多平台)
支持多平台的Assetbundle的应用示例,贴代码,供学习!
这里不同平台的StreamingAssets是不同的,所以我们要写预处理!
using UnityEngine; using System.Collections; public class RunScript : MonoBehaviour { //不同平台下StreamingAssets的路径是不同的,这里需要注意一下。 public static readonly string PathURL = #if UNITY_ANDROID "jar:file://" + Application.dataPath + "!/assets/"; #elif UNITY_IPHONE Application.dataPath + "/Raw/"; #elif UNITY_STANDALONE_WIN || UNITY_EDITOR "file://" + Application.dataPath + "/StreamingAssets/"; #else string.Empty; #endif void OnGUI() { if(GUILayout.Button("Main Assetbundle")) { //StartCoroutine(LoadMainGameObject(PathURL + "Prefab0.assetbundle")); //StartCoroutine(LoadMainGameObject(PathURL + "Prefab1.assetbundle")); StartCoroutine(LoadMainCacheGameObject(PathURL + "Prefab0.assetbundle")); StartCoroutine(LoadMainCacheGameObject(PathURL + "Prefab1.assetbundle")); } if(GUILayout.Button("ALL Assetbundle")) { StartCoroutine(LoadALLGameObject(PathURL + "ALL.assetbundle")); } if(GUILayout.Button("Open Scene")) { StartCoroutine(LoadScene()); } } //读取一个资源 private IEnumerator LoadMainGameObject(string path) { WWW bundle = new WWW(path); yield return bundle; //加载到游戏中 yield return Instantiate(bundle.assetBundle.mainAsset); bundle.assetBundle.Unload(false); } //读取全部资源 private IEnumerator LoadALLGameObject(string path) { WWW bundle = new WWW(path); yield return bundle; //通过Prefab的名称把他们都读取出来 Object obj0 = bundle.assetBundle.Load("Prefab0"); Object obj1 = bundle.assetBundle.Load("Prefab1"); //加载到游戏中 yield return Instantiate(obj0); yield return Instantiate(obj1); bundle.assetBundle.Unload(false); } private IEnumerator LoadMainCacheGameObject(string path) { WWW bundle = WWW.LoadFromCacheOrDownload(path,5); yield return bundle; //加载到游戏中 yield return Instantiate(bundle.assetBundle.mainAsset); bundle.assetBundle.Unload(false); } private IEnumerator LoadScene() { WWW download = WWW.LoadFromCacheOrDownload ("file://"+Application.dataPath + "/MyScene.unity3d", 1); yield return download; var bundle = download.assetBundle; Application.LoadLevel ("Level"); } }
截图:
关于Unity3D,我们有个专门技术讨论的大群,可以进行技术交流和咨询,群号:858550 欢迎进行技术讨论,里面有不少大牛
本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366237,如需转载请自行联系原作者
[unity3d]Assetbundle使用示例2(支持多平台)相关推荐
- Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎
编辑本段简介 Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-iphone,支持 WOPhone, iOS 4.1, And ...
- 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤
之前在https://blog.csdn.net/fengbingchun/article/details/96430706中编译过opencv源码用于海思平台,这里通过修改脚本编译opencv 2. ...
- mysql支持的平台和操作系统_MySQL 数据库所支持的操作系统_MySQL
MySQL数据库所支持的操作系统: 我们使用GNU Autoconf,因此将MySQL移植到所有使用Posix线程和C++编译器的现代系统是可能的.(要求服务器支持线程.如果只是编译客户端代码,则只需 ...
- python基于udp的网络聊天室再用tkinter显示_Python实现网络聊天室的示例代码(支持多人聊天与私聊)...
实验名称: 网络聊天室 功能: i. 掌握利用Socket进行编程的技术 ii. 掌握多线程技术,保证双方可以同时发送 iii. 建立聊天工具 iv. 可以和单人聊天 v. 可以和多个人同时进行聊天 ...
- 字节跳动BVC2解码器率先支持移动平台H.266标准8K解码
10月22日举行的QCon全球软件开发大会上,字节跳动研究人员分享"8K超高清解码实践",宣布该公司BVC2解码器已支持移动平台H.266标准的8K解码,从而解决以往8K视频码率过 ...
- Unity3D AssetBundle相关
Unity3D AssetBundle相关 首先,先看一下原理吧 Unity3D研究院之Assetbundle的原理(六十一) 其次,接着往下看:Unity3D研究院之Assetbundle的实战( ...
- Unity3D for Android 纹理压缩支持
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:[119706192]本文链接地址: Unity3D for Android 纹理压缩支持 首先附图:U ...
- 超好用!5款完全免费、支持全平台的笔记软件
5款小众好用的笔记软件,完全免费.跨平台 好记忆不如一个烂笔头,对于这句话,我深以为然. 我觉得养成做笔记的习惯,对于工作和学习都能够提供很大的帮助. 不同的人有不同整理笔记的习惯,有的同学会使用各种 ...
- Qt支持的平台有那些?
整理一下Qt 5.13版本中支持那些平台. 平台 描述 Qt Quick WebGL 使用WebGL™实现流媒体的Qt快速用户界面的平台插件. Qt for Android Android平台 Qt ...
最新文章
- ae万能弹性表达式_AE脚本精品表达式合集效果库 iExpressions 3.1.006【资源分享1453】...
- 简述生成式对抗网络 GAN
- 前端 input怎么显示null_小猿圈WEB前端之HTML5+CSS3面试题(一)
- Yii-模型- criteria查找数据库方法
- EZ 2018 06 17 NOIP2018 模拟赛(十九)
- Castle ActiveRecord学习实践(7):使用HQL查询
- java数据类型的转换函数_JAVA中常用数据类型转换函数
- python代码模拟 手写字体
- 惠普打印机P1108驱动无法安装怎么处理?
- 如何用计算机ip连接打印机共享,ip共享打印机怎么设置
- iOS-QQ自动聊天机器人
- Heka采集系统Output插件开发
- 盛迈坤电商:店铺自然流量怎么提升
- win7 关闭计算机休眠,技术编辑教您win7下怎么关闭休眠
- uniapp使用诺诺人脸认证(微信小程序)sdk
- Oracle函数之单值函数
- 物联网IoT:如何重新定义移动应用开发
- 传输层之UDP头部解析、UDP特点TCP头部解析、TCP特点
- adb按键精灵_自动点击器adb版最新版下载|自动点击器adb版安卓版下载 v1.0.5 - 跑跑车安卓网...
- snmp 获得硬件信息_网络管理员之软硬件安装
热门文章
- crontab定时任务语法及应用
- lisp 读取dwg 统计信息_用阿里云交易和账单管理API实现MaxCompute费用对账分摊统计...
- 使用hutool发送QQ邮件在windows正常,linux发送报错。
- python flask服务器假死_python – Flask POST请求导致服务器崩溃
- [Ext JS]treelist实现tooltip
- c语言 syn扫描,syn flooder*** (C语言)
- java运行 mavenzip包_JAVA开发必知工具-Maven-Maven生成可以直接运行的jar包的多种方式...
- vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
- 人工智能用python还是java_人工智能选择python还是java语言
- html ul高度自适应,如何让div中的ul元素自适应