导图社区 unity中的文件夹
unity中的文件夹,很多是通过名称区分的,开发者需要清楚。
编辑于2020-12-09 11:55:40Unity中的文件夹
Assets特殊文件夹
所有Asset都放在该文件夹中,是资源文件的根目录
Editor
可在根目录也可在子目录,不限制数量
不会被打进包中
脚本只能在编辑时使用
放一些编辑器的代码、插件的安装包、工具类的脚本或者编辑用的Dll
注意:在此文件夹中的继承MonoBehaviour不能被挂载到GameObjects
Editor Default Resources
名称有空格,放在Project根目录下
编辑器用到的一些资源,开发时使用
不会被打进包
TextAsset text = EditorGUIUtility.Load("test.txt")as TextAsset;
Gizmos
给某个坐标绘制一个icon,icon的图片路径放在这里
void OnDrawGizmos() { Gizmos.DrawIcon(transform.position, "0.png", true); }
此方法在编辑模式中,每一帧都会执行
Gizmos.DrawLine
Gizmos.DrawFrustum
Plugins
standard compiler时编译(最先编译)
可以不放在根目录下
分为两种
Managed plugins
就是.NET编写的工具,运行于.NET平台(包括mono)的代码库,可以是脚本文件,也可以本身是DLL。NGUI源码就放在该文件夹下面的
Native plugins
原生代码编写的库,比如第三方sdk,一般是dll、so、jar等等
Resources
可在根目录也可在子目录,不限制数量
会被打进.apk .ipa包中,成一个缺省的AssetBundle(resources.assets)
不同目录的Resources存在同名资源,在打包的时候就会报错
会被压缩,转成二进制,会被加密
使用
Resource.Load()
【编辑】和【运行时】都可以通过此方法读取
Resources.LoadAssetAtPath()
【编辑】和【运行时】都可以通过此方法读取
不能在真机使用
可以读取Assets目录中的任意文件夹下的资源
Assets/xx/xx.xxx,需要带后缀名
AssetDatabase.LoadAssetAtPath()
只能在【编辑】时使用
Assets/xx/xx.xxx,需要带后缀名
自动化工具:Resource中资源,如果需要打assetbundle,可以先移动出去,再打包,打完包再移动回来
StreamingAssets
用或者不用都会被打进包中,.apk .ipa
主要存放一些二进制文件
不会被压缩,不会被加密,需要考虑空间占用
是一个只读文件,程序运行时只读不写
各个平台路径不一致,Application.streamingAssetsPath会根据平台选择
Mac OS or Windows
path = Application.dataPath + “/StreamingAssets”
IOS
path = Application.dataPath + “/Raw”
Android
path = “jar:file://” + Application.dataPath + “!/assets/”
加载Android平台上的特殊性——不能直接用文件I/O,即不能用Application.streamingAssetsPath,应该用:"jar:file://"+Application.dataPath+"!/assets"
可以初始存放一些assetbundle,通过WWW或AssetBundle.LoadFromFile加载使用,运行时拷贝在Application.persistentDataPath目录下
因为Application.persistentDataPath目录是应用程序的沙盒目录,所以打包之前是没有这个目录的,直到应用程序在手机上安装完毕才有这个目录
Standard Assets
文件夹中脚本最先被编译
脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或Assembly-Boo-firstpass项目中,依语言而定,将脚本放在这个文件夹里,就可以用C#脚本来访问js脚本或其他语言的脚本
Hide Assets
隐藏文件夹和文件
以”.”开头
以”~”结尾
名字为”cvs”
扩展名为”.tmp”
ProjectSettings文件夹
编辑器中设置的各种参数,Project Settings配置会保存在这里
很多 .asset 文件,可以以文本的方式打开查看
如:可以查看当前的unity编辑器的版本
Library文件夹
ScriptAssemblies文件夹
存放的是当前工程的程序集
运行时程序集和编辑器程序集
编辑器程序集:是在 Editor 目录里的代码构成的
运行时程序集:打包的时候只会构建运行时的程序集
metadata文件夹
每次修改了原始资源文件,就需要重新导入,生成unity可识别的文件格式
每次删除此文件夹,再次打开unity,也就是重新导入一次,重新生成这个文件夹
文件夹都是两个字符,取自文件的GUID的前两个字符,文件名即是GUID
把Assets文件夹下的原始资源删除了,Unity会自动删除其meta文件,以及 metadata文件夹下相关的文件
AtlasCache文件夹
atlas的缓存
ShaderCache文件夹
shader的缓存
assetDatabase3
只要Library文件夹不被删除,meta删除后,重新创建的meta具有和之前相同的guid
Library文件夹被删除,将重新生成guid
Temp
缓存,可以删除
都是缓存,可以删除,因此也不应该在版本控制之下