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

  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/mufei/p/10077154.html
Copyright © 2011-2022 走看看