unity文件路径

转载自:https://blog.csdn.net/linxinfa/article/details/51679528

各平台具体路径:

1.Resources

Resources文件夹是一个只读的文件夹,通过Resources.Load()来读取对象。因为这个文件夹下的所有资源都可以运行时来加载,所以Resources文件夹下的所有东西都会被无条件的打到发布包中。建议这个文件夹下只放Prefab或者一些Object对象,因为Prefab会自动过滤掉对象上不需要的资源。举个例子我把模型文件还有贴图文件都放在了Resources文件夹下,但是我有两张贴图是没有在模型上用的,那么此时这两张没用的贴图也会被打包到发布包中。假如这里我用Prefab,那么Prefab会自动过滤到这两张不被用的贴图,这样发布包就会小一些了。

2.StreamingAssets

StreamingAssets文件夹也是一个只读的文件夹,但是它和Resources有点区别,Resources文件夹下的资源会进行一次压缩,而且也会加密,不使用点特殊办法是拿不到原始资源的。但是StreamingAssets文件夹就下面的所有资源不会被加密,是原封不动的打包到发布包中,这样很容易就拿到里面的文件。所以StreamingAssets适合放一些二进制文件(热更配置文件,本地的资源MD5列表文件等),而Resources更适合放一些GameObject和Object文件。 StreamingAssets 只能用过www类来读取!!

具体读取方法请看原文

3.Application.persistentDataPath文件夹(读写)

IOS与android平台都可以使用这个目录下进行读写操作,在游戏运行后创建,创建后可以一直存在,可以用于资源的热更。

在PC上的地址是:C:\Users\用户名 \AppData\LocalLow\DefaultCompany\

使用Application.persistentDataPath来进行资源热更(荐)
该文件存在手机沙盒中,因为不能直接存放文件,
1.首先将StreamingAssets文件夹下资源复制到持久化路径(Application.persistentDataPath)里面(游戏资源也存在这个路径)。先加载出来,再通过FileStream类将数据写进去。

2.游戏开始的时候,加载本地配置表和服务器上的作对比(这里在访问本地持久化路径的时候,一定要加上file前缀,不然不能正确的加载。)

3.通过对比,分析需要从服务器更新的资源。

4.依次加载服务器上的资源,同时替换本地资源

5.等资源更新完毕,更新本地资源配置表,方便下次更新与服务器对比

posted @   mc宇少  阅读(1025)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2018-08-29 Unity3d 插值Lerp与Slerp
点击右上角即可分享
微信分享提示