unity3d项目文件目录发布后,对应的ios/android应用目录

来源:互联网 发布:2016年农业保险数据 编辑:程序博客网 时间:2024/05/17 02:17
Unity3d的Resource、AssetBundle与手游动态更新的报告,在这里分享一下,希望能够对各位用Unity的朋友有些许帮助。
目录:
1.Unity的资源数据加载
2.Resource、StreamingAsset文件夹,安装后的路径(Android,iOS)
3.Unity在打包和安装的时候怎么处理persistentDataPath
4.Unity的Android和IOS上相关的目录结构
5.Unity常用目录对应的Android && iOS平台地址


用妹子分割一下目录与主体。。。


1.Unity的资源数据加载 - Resources、AssetBundle、StreamingAsset、PersistentDataPath
Resources 
- 打包集成到.asset文件里面及引用的资源as后se一个文件里面面
- 主线程加载
- 想要动态更新资源则不考虑
AssetBundle 
- unity定义的二进制文件类型
- 用WWW类下载

StreamingAssets
- 可读不可写
- 内容限制 - 无 
- 只能用WWW类下载
PersistentDataPath目录下
- 可读可写
- 内容限制 - 无
- 清除手机缓存文件会一并清理这里的东西
- 随意弄,可作为本地目录让WWW下载、也可以自己用FileInfo乱整





2.Resource、StreamingAsset文件夹,安装后的路径(Android,iOS)

StreamingAsset 
- iOS : Application.dataPath + /Raw
- Android : jar:file:// + Application.dataPath + !/assets/


Resources

- 打包成一个Asset文件




3.Unity在打包和安装的时候怎么处理PersistentDataPath

- PersistentDataPath- 就是com.**.**/files 的路径而已 
(打过APK包的应该都明白吧)






4.Unity的Android和IOS上相关的目录结构
Android:
- assets 游戏内容相关的都在这里了
- lib JNI相关的东西
- META-INF Java包跟rar包的区别
- res 图标之类的
- AndroidManifest.xml Android配置文件
- classes.dex Java虚拟机runtime的东西
- resources.arsc Java编译后的二进制文件


IOS:
- level0/level1… Scene
- sharedassets0/shaedassets1/… Scene相关的东西
- Managed 脚本编译后的dll
- resources.assets Resources里面的东西
- Raw StreamingAssets里面的东西





5. Unity常用目录对应的Android && iOS平台地址
IOS:
Application.dataPath : Application/xxxxx/xxx.app/Data
Application.streamingAssetsPath : Application/xxxxx/xxx.app/Data/Raw
Application.persistentDataPath : Application/xxxxx/Documents
Application.temporaryCachePath : Application/xxxxx/Library/Caches


Android:
Application.dataPath : /data/app/xxx.xxx.xxx.apk
Application.streamingAssetsPath : jar:file:///data/app/xxx.xxx.xxx.apk/!/assets
Application.persistentDataPath : /data/data/xxx.xxx.xxx/files

Application.temporaryCachePath : /data/data/xxx.xxx.xxx/cache


在看到这篇文章的使用,使用了unity3d 5.x+ 版本读取二进制文件,官方给出的解释方案为:
在使用Application.streamingAssetsPath部分的时候本地读取使用io进行读取,服务器加载使用www加载:
代码样例:

IEnumerator LoadFile() {
        string result;
        if (filePath.Contains("://")) {
            WWW www = new WWW(filePath);
            yield return www;
            result = www.text;
        } else
            result = System.IO.File.ReadAllText(filePath);
        Debug.Log("result: " + result);
    }


void start()

{

StartCoroutine(Example());

}


/////

0 0
原创粉丝点击