一:特殊文件夹
——Editor Editor文件夹可以在Assets目录下,也可以在子目录里,只要名子叫Editor就可以。例如目录Assets/Editor和Assets/Scripts/Editor是一样的,无论多少个叫Editor的文件夹都可以 Editor文件夹下存放的所有资源文件或脚本文件都不会被打进包中,并且脚本也只能在编辑时使用。一般会把一些编辑器扩展的脚本放在这里,或者是一些编辑时用的DLL
——Editor Default Resources 必须放在Assets目录下,可以把编辑器扩展用到的一些资源放在这里,比如图片、文本文件、等等。它和Editor文件夹一样都不会被打到包中,仅仅用于开发时使用 通过EditorGUIUtility.Load可以读取到该文件夹下的资源
——Gizmos 必须放在Assets目录下,可以将绘制在场景中的Gizmo素材放在这个文件夹下,使用Gizmos.DrawIcon绘制的时候可以直接传入图片路径,打包时会打到包中
——Plugins 可以将sdk、dll库文件、插件等放在这里,打完包后就会自动将这些文件打到包中
——Resources Resources文件夹可以在Assets目录下,也可以在子目录里,只要名子叫Resources就可以,Resources文件夹下的所有资源不管你用还是不用都会被打进包中 可以使用Resource.Load读取此文件夹下的资源 因为Resource文件夹下的所有资源都会被打进包中,所以一般开发时使用AssetDatabase.LoadAssetAtPath,它可以读取Assets目录下的任意文件夹下的资源,只能在编辑器下使用,它的路径是”Assets/xx/xx.xxx”,需要注意路径带文件的后缀名
——StreamingAssets 这个文件夹下的资源也都会被打进包中,它和Resources的区别是Resources会压缩文件,但是StreamingAssets不会压缩而是原封不动的打包进去。并且它是一个只读的文件夹,就是程序运行时只能读不能写。它在各个平台下的路径是不同的 使用Application.streamingAssetsPath会根据当前的平台选择对应的路径
——其他文件夹 如果是没有用到的资源,就不会被打到包中,如果是用到了的资源就会被打到包中
二:路径
——Application.dataPath Assets文件夹路径,只在编辑器模式下有效,打包后该路径不存在
——Application.streamingAssetsPath StreamingAssets文件夹路径
——Application.persistentDataPath 这个文件夹在不同平台下的路径不同
——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
——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
|