摘要: 最近一直在和这些内容纠缠,把心得和大家共享一下:Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有这么一个加载过程,只是Unity后台替你自动完成了。详细说一下细节概念:AssetBundle运行时加载:来自文件就用CreateFromFile(注意这种方法只能用于standalone程序)这是最快的加载方法也可 阅读全文
posted @ 2013-03-12 16:03 陈峰 阅读(5026) 评论(0) 推荐(0)
摘要: Unity3D运行时刻资源管理http://www.narkii.com/club/bbs_272373.shtmlUnity运行时刻资源管理----------------------------------------------------------------------------------------AssetBundles制作:BuildPipeline.BuildAssetBundle()加载:AssetBundle.Load()卸载:AssetBundle.Unload(boolunloadAllLoadedObjects)unloadAllLoadedObjects=t 阅读全文
posted @ 2013-03-12 10:28 陈峰 阅读(1125) 评论(0) 推荐(0)
摘要: 铁锹 发表于 2012-12-12 17:39我们在使用Unity3D制作大型场景的时候,往往需要加载大容量的数据文件,特别是对于三维数据而言,模型、材质、贴图、特效等资源都是组成项目不可或缺的一部分。数据体量越大,数据加载就越明显。对于良好的人机交互体验而言,让用户处于长时间的等待,是一种非常差的体验感,很多用户很可能就是因为没有耐心等待,就直接关闭你的应用,离开。所以,做任何的项目之前,必须要先解决场景数据管理的问题。针对Unity3D而言,该引擎提供了一种称为AssetBundles的外部整合数据,可以让我们把编辑器中的物件分门别类的输出,这种方法是目前为止最好的管理unity3D的方法 阅读全文
posted @ 2013-03-12 10:27 陈峰 阅读(1927) 评论(0) 推荐(1)
摘要: 用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载。比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕。应该优先加载用户附近的场景资源,在游戏的过程中,不影响操作的情况下,后台加载剩余的资源,直到所有加载完毕。本文包含一些代码片段讲述实现这个技术的一种方法。本方法不一定是最好的,希望能抛砖引玉。代码是C#写的,用到了Json,还有C#的事件机制。在讲述代码之前,先想象这样一个网络游戏的开发流程。首先美工制作场景资源的3D建模,游戏设计人员把3D建模导进Unity3D,托托拽拽编辑场景,完成后把每个gameobject导出成XXX.un 阅读全文
posted @ 2013-03-12 10:26 陈峰 阅读(378) 评论(0) 推荐(0)