Unity中的文件夹和路径
Posted Hello Bug.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity中的文件夹和路径相关的知识,希望对你有一定的参考价值。
一:特殊文件夹
——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
以上是关于Unity中的文件夹和路径的主要内容,如果未能解决你的问题,请参考以下文章
Unity 浏览选择指定格式文件(可设置格式:图片视频音频等等,自己设置)浏览选择文件夹打开指定文件夹——以上功能都会返回路径