相信大家在碰到加载Unity外部资源的问题都会很纠结,也遇到过很多坑,为了让大家可以早点摆脱它,下面就给大家介绍下Unity资源路径及加载外部资源,希望对大家有用。
各平台的资源路径问题
想读取文件就必须在到文件所在的目录,我们先来了解一下Unity下各个资源路径的特点和在各平台下资源路径的存放位置吧。
Unity3D中的资源路径路径属性路径说明Application.dataPath此属性用于返回程序的数据文件所在文件夹的路径。例如在Editor中就是Assets了。
Application.streamingAssetsPath此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。放在Unity工程StreamingAssets文件夹中的资源发布后都可以通过这个路径读取出来。
Application.persistentDataPath此属性用于返回一个持久化数据存储目录的路径,可以在此路径下存储一些持久化的数据文件。
Application.temporaryCachePath此属性用于返回一个临时数据的缓存目录。
Unity3D中的资源的处理种类
Unity中的资源资源的处理种类大致分为:Resources、StreamingAssets、AssetBundle、PersistentDataPath 四类。
Resources
是作为一个Unity的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中。
特点:只读,即不能动态修改。所以想要动态更新的资源不要放在这里。
会将文件夹内的资源打包集成到.asset文件里面。因此建议可以放一些Prefab,因为Prefab在打包时会自动过滤掉不需要