zoukankan      html  css  js  c++  java
  • Unity中几个特殊路径在各个平台的访问方式

    1、文件路径
    Resources:
    Unity在发布成移动端项目后,其他文件路径都将不存在,但是如果有一些必要的资源,可以放在Resources文件夹下,因为这个文件夹下的所有资源是由Unity内部进行
    调用,当发布成移动端后,该路径将不存在,所以不可写也不可读,只能用Unity封装的方法进行该路径下的资源加载。
    StreamingAssets:
    该路径会在发布工程时,里面的资源会原封不动的进行打包到包体中,不过里面的资源只能采用WWW的方式进行读取,所以访问速度有限,或者采用AssetBundle的方式。
    但是这样都会导致最后发布的包体体积过大,且该路径下的资源可读不可写。
    在c#中使用Directory.GetFiles获取文件夹时,在Application.persistentDataPath路径下,直接获取会出现路径为空异常。
    且在使用Unity中封装好的Application.streamingAssetsPath时,安卓路径在前面不需要加"jar:file///",因为其自己已经自带了,所以再加的话会访问不到,或者可以
    使用"jar:file://"+Application.dataPath+"!/assets/"
    2、出现路径禁止访问BUG
    我在发布到Android后,利用Application.persistentDataPath无法访问到相对应的app安装路径,出现unauthorizedaccessexception Access to the path "/jar:file:"is denied
    问题。最后解决发现是路径前面的协议写错了,
    要是访问apk内部资源应该在前面加"jar:file://",否则的话就是加"file://"。


    Unity中几个特殊路径的说明:
    dataPath :返回程序的数据文件所在的文件夹的路径(只读)。返回路径为相对路径,一般是相对于程序安装目录的位置。不同游戏平台的数据文件保存路径不同。


    StreamingAssetsPath: 此属性用于返回数据流的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。(只读)

    PersistentDataPath:返回一个持久化数据存储目录的路径(可读可写),可以在此路径下存储一些持久化的数据文件。对应同一平台,在不同程序中调用此属性时,其返回值是相同的,但是在不同的运行平台下,其返回值会不一样。


    temporaryCachePath:此属性用于返回一个临时数据的缓冲目录(可读可写)。对于同一平台,在不同程序中调用此属性时,其返回值是相同的,但是在不同的运行平台下,其返回值是不一样的。


    persistentDataPath和temporaryCachePath的返回值一般是程序所在平台的固定位置,适合程序在运行过程中产生的数据文件。


    IOS:

    Application.dataPath :            Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data

    Application.streamingAssetsPath :     Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data/Raw

    Application.persistentDataPath :       Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents

    Application.temporaryCachePath :    Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/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


    Windows:

    Application.dataPath :                      /Assets

    Application.streamingAssetsPath :    /Assets/StreamingAssets

    Application.persistentDataPath :      C:/Users/xxxx/AppData/LocalLow/CompanyName/ProductName

    Application.temporaryCachePath :   C:/Users/xxxx/AppData/Local/Temp/CompanyName/ProductName


    Mac:

    Application.dataPath :                      /Assets

    Application.streamingAssetsPath :    /Assets/StreamingAssets

    Application.persistentDataPath :      /Users/xxxx/Library/Caches/CompanyName/Product Name

    Application.temporaryCachePath :   /var/folders/57/6b4_9w8113x2fsmzx_yhrhvh0000gn/T/CompanyName/Product Name

  • 相关阅读:
    使用zoom.js 给博客园的图片添加点击图片放大功能
    html上传多图并预览
    html页面选择图片上传时实现图片预览功能
    html实现点击图片放大功能
    layui常用功能
    七牛云上传与删除图片
    寻找七牛云存储配置参数
    TP5之发送邮件
    TP5之一次选择多张图片并预览
    TP5之页面跳转样式
  • 原文地址:https://www.cnblogs.com/mufei/p/10077154.html
Copyright © 2011-2022 走看看