不过这一测不要紧,果然可以发现这个版本的Unity在调用Resources.Load加载资源的效率很低。大概要耗时1700ms! 等等,冷静一下,回想一下既然是加载Resources文件夹内的资源,那么Resources文件夹有什么特点吗?对,它会随工程一同打包。也就是说在打包的过程中它会经过aapt这个工具的处理啊。那么aapt是什么呢?看它的全称—...
Resources文件夹下的资源不管是否有用,全部会打包进.apk或者.ipa,并且打包时会将里面的资源压缩处理。加载方法是Resources.Load(文件名),需要注意:文件名不包括扩展名,打包后这个文件夹下的东西只能读不能写 2、application.dataPath路径 这个返回的是程序的数据文件所在文件夹的路径,但是在移动端它是完全没用。 3、...
使用Resources.Load()获取资源的话,就注意要把资源文件放在Assets下的Resources文件夹,打包后它就加密了,建议吧Prefabs放在这里。还要注意,后面读取的话是不需要后缀名的,直接写文件名。 代码就在下头: usingUnityEngine;usingSystem.Collections;publicclassRead_New:MonoBehaviour {voidStart(){ObjectYourObject=Resources....
Resources资源的加载是动态加载内部的,AssetBundle 是动态加载外部的。 Resources是动态内部调用,Resources在编辑环境下是project窗口的一个文件夹,调用里面的资源,可以用Resources类,比如Resources.Load,打包后这个文件夹是不存在的,会统一生成Assets资源。 AssetBundle 是外部调用,要用AssetBundle 首先要先把资源打包为.assetb...
Resources是动态内部调用,Resources在编辑环境下是project窗口的一个文件夹,调用里面的资源,可以用Resources类,比如Resources.Load,打包后这个文件夹是不存在的,会统一生成assets资源。 AssetBundle是外部调用,要用AssetBundle首先要先把资源打包为.assetbundle文件,再动态的去加载这个文件,本地或者网络服务器都可以。 面试官...
区别:Resources的方式需要把所有资源全部打入安装包,这对游戏的分包发布(微端)和版本升级(patch)是不利的,所以unity推荐的方式是不用它,都用bundle的方式替代,把资源达成几个小的bundle,用哪个就load哪个,这样还能分包发布和patch,但是在开发过程中,不可能没更新一个资源就打一次bundle,所以editor环境下可以使用AssetDa...
上面是第一种使用Resources.Load()的方式动态加载游戏对象的,然而在项目中更长用的却是第二种使用AssetBundle的方式动态加载游戏对象。 使用AssetBundle打包预设或者场景可以将与其相关的所有资源打包,这样很好地解决资源的依赖问题,使得我们可以方便的加载GameObject ...
1.Resources.Load(); 2.AssetBundle 区别: Resources资源的加载是动态加载内部的,AssetBundle 是动态加载外部的。 Resources是动态内部调用,Resources在编辑环境下是project窗口的一个文件夹,调用里面的资源,可以用Resources类,比如Resources.Load,打包后这个文件夹是不存在的,会统一生成Assets资源。
使用BuildPipeline.BuildAssetBundles 可以将目录下的资源打包为 AssetBundle 包 使用WWW 或 UnityWebRequest 或者 AssetBundl.LoadFromFile 或者 Resources.Load 加载到 AssetBundle 后。还需要通过 AssetDataBundle 对象调用 LoadAsset 方法,将包 加载为具体的 资源类型对象。如果是 GameObject 对象,可以通过 Instantiate 在...