1.Editorios
Editor文件夹能够在根目录下,也能够在子目录里,只要名子叫Editor就能够。好比目录:/xxx/xxx/Editor 和 /Editor 是同样的,不管多少个叫Editor的文件夹均可以。Editor下面放的全部资源文件或者脚本文件都不会被打进发布包中,而且脚本也只能在编辑时使用。通常呢会把一些工具类的脚本放在这里,或者是一些编辑时用的DLL。 好比咱们如今要作相似技能编辑器,那么编辑器的代码放在这里是再好不过了,由于实际运行时咱们只须要编辑器生成的文件,而不须要编辑器的核心代码。编辑器
2.Editor Default Resourceside
Editor Default Resources注意中间是有空格的,它必须放在Project视图的根目录下,若是你想放在/xxx/xxx/Editor Default Resources 这样是不行的。你能够把编辑器用到的一些资源放在这里,好比图片、文本文件、等等。它和Editor文件夹同样都不会被打到最终发布包里,仅仅用于开发时使用。你能够直接经过EditorGUIUtility.Load去读取该文件夹下的资源。工具
TextAsset text = EditorGUIUtility . Load ( "test.txt" ) as TextAsset ;spa
Debug . Log ( text . text ) ;orm
3.Gizmos对象
我以为这个文件夹其实没什么用处,以下代码所示它能够在Scene视图里给某个坐标绘制一个icon。它的好处是能够传一个Vecotor3 做为图片显示的位置。 参数2就是图片的名子,固然这个图片必须放在Gizmos文件夹下面。继承
void OnDrawGizmos ( ) {游戏
Gizmos . DrawIcon ( transform . position , "0.png" , true ) ;图片
}
若是只想挂在某个游戏对象身上,那么在Inspecotr里面就能够直接设置。。
这里仍是要说说OnDrawGizmos()方法,只要脚本继承了MonoBehaviour后,而且在编辑模式下就会每一帧都执行它。发布的游戏确定就不会执行了,它只能用于在scene视图中绘制一些小物件。好比要作摄像机轨迹,那么确定是要在Scene视图中作一个预览的线,那么用Gizmos.DrawLine 和Gizmos.DrawFrustum就再好不过了。
4.Plugins
若是作手机游戏开发通常 andoird 或者 ios 要接一些sdk 能够把sdk依赖的库文件 放在这里,好比 .so .jar .a 文件。这样打完包之后就会自动把这些文件打在你的包中。
5.Resources
能够在根目录下,也能够在子目录里,只要名子叫Resources就能够。好比目录:/xxx/xxx/Resources 和 /Resources 是同样的,不管多少个叫Resources的文件夹均可以。Resources文件夹下的资源无论你用仍是不用都会被打包进.apk或者.ipa
Resource.Load :编辑时和运行时均可以经过Resource.Load来直接读取。
Resources.LoadAssetAtPath() :它能够读取Assets目录下的任意文件夹下的资源,它能够在编辑时或者编辑器运行时用,它可是它不能在真机上用,它的路径是”Assets/xx/xx.xxx” 必须是这种路径,而且要带文件的后缀名。
AssetDatabase.LoadAssetAtPath():它能够读取Assets目录下的任意文件夹下的资源,它只能在编辑时用。它的路径是”Assets/xx/xx.xxx” 必须是这种路径,而且要带文件的后缀名。
我以为在电脑上开发的时候尽可能来用Resource.Load() 或者 Resources.LoadAssetAtPath() ,假如手机上选择一部分资源要打assetbundle,一部分资源Resource.Load().那么在作.apk或者.ipa的时候 如今都是用脚原本自动化打包,在打包以前 能够用AssetDatabase.MoveAsset()把已经打包成assetbundle的原始文件从Resources文件夹下移动出去在打包,这样打出来的运行包就不会包行多余的文件了。打完包之后再把移动出去的文件夹移动回来。
6. StreamingAssets
这个文件夹下的资源也会全都打包在.apk或者.ipa 它和Resources的区别是,Resources会压缩文件,可是它不会压缩原封不动的打包进去。而且它是一个只读的文件夹,就是程序运行时只能读 不能写。它在各个平台下的路径是不一样的,不过你能够用Application.streamingAssetsPath 它会根据当前的平台选择对应的路径。
有些游戏为了让全部的资源所有使用assetbundle,会把一些初始的assetbundle放在StreamingAssets目录下,运行程序的时候在把这些assetbundle拷贝在Application.persistentDataPath目录下,若是这些assetbundle有更新的话,那么下载到新的assetbundle在把Application.persistentDataPath目录下原有的覆盖掉。(终于知道手游第一次进入时解压资源是在干什么了!)
由于Application.persistentDataPath目录是应用程序的沙盒目录,因此打包以前是没有这个目录的,直到应用程序在手机上安装完毕才有这个目录。
StreamingAssets目录下的资源都是不压缩的,因此它比较大会占空间,好比你的应用装在手机上会占用100M的容量,那么你又在StreamingAssets放了一个100M的assetbundle,那么此时在装在手机上就会在200M的容量。
今天就到这里了,若是有问题欢迎你们与@雨松MOMO一块儿讨论。嘿嘿。
转载请注明:雨松MOMO 2014年09月26日 于雨松MOMO程序研究院发表