Unity部分文件


为了肝导师制开始再次捣鼓起Unity,在导入资源包时候发现Unity文件夹实在太多,感觉难以区分用途,整合记录下下。

普通文件夹

1.Assets

所有游戏资源文件夹,包括脚本、纹理、音效、自定义编辑器等等

2.Library

库文件夹

3.obj

给脚本编辑器用的

4.ProjectSettings

项目的设置信息文件夹,包括标签、层级、玩家设置等

5.Temp

Unity运行的临时文件夹

特殊文件夹

大多位于Asset文件夹下。

1.隐藏的文件夹

会被忽略,不会被导入也不会编译。

2.Editor

Editor文件夹中的资源文件或脚本都不会被打包进发布包中,也不能作为组件,并且脚本也只能在开发编辑时使用(当脚本涉及到对编辑器的操作时,必须放在这个文件夹里,如EditorWindow)。
常常将一些开发工具放在这个文件夹里面,如:技能编辑器,资源打包工具等。

3. Editor Dafault Resources

Editor Dafault Resourses,必须被放在Assets目录下。你可以把编辑器用到的一些资源放在这里,比如图片,文本等。它不会被打到最终发布包里,可以通过EditorGUIUtility.Load(“文件名”)来读取该文件夹下的资源,会优先查找该文件夹下的资源,然后再找Unity可能的内置同名资源。

4.Gizmos

需要绘制提示图标,辅助线之类来辅助开发时,可以使用Unity自带的Dizmos类。当组件继承了MonoBehaviour后,其生命周期里有OnDrawGizmos()方法,该方法只在编辑模式下每一帧执行,可用于在scene视图中绘制小物件。如下:

void OnDragGizmos() 
{
 		Gizmos.DrawIcon(transform.position, "ImaInGizmos.png", true);
}

其中,ImaInGizmos.png就是放在Gizmos文件夹中的图片文件名字了,使用该函数可以直接调用位于该文件夹里的资源,发布时同样不会打入发布包中。

5.Plugins

只能在Assets直接子目录下,这个文件夹存放用于拓展Unity功能的插件,如:原生动态(native)链接库,sdk,工具代码等。使用这些插件可以访问第三方代码库,系统API以及超出Unity功能的模块。因为该文件夹中的东西会在第一阶段编译,以保证在其它地方使用时能够找得到。当打包时,这些文件就会自动包含进发布包中。
Plugins中文件分为两种:Managed plugins(.NET编写的工具)和Native plugins(原生代码编写的库)。如我们需要导入解析Json文件的LitJson插件,就需要把该LitJson.dll文件放到Plugins目录下;NGUI源码也是放在该文件夹下。
当我们开发的游戏需要对接多个平台时,要分平台打包,就需要对不同平台的plugin区分。在Plugins目录下建立对应平台的文件夹,unity在为不同平台打包时,就会将对应平台plugin里的脚本编译成dll,还会把已经是dll, so等库直接拷贝到包内相应位置。

6. Standard Assets

最先被编译的文件夹,往往用来存放导入的第三方资源包。

7. Pro Standard Assets

和Standard Assets一样,属于最先被编译的文件夹,不同的是,里面的文件是给Pro版本的Unity使用的。

8. Resources

用来存放资源的特殊文件夹,可以在任何目录下,可以在不同文件夹下有多个叫Resources的文件夹。
放在Resources文件夹中的资源都会被打包进发布包,Unity无法判断是否使用了其中的资源,所有在Resources中的资源都会被打包成一个缺省的AssetBundle(resources.assets)中。因此,一定要避免在不同Resources文件夹中出现同名资源的情况。当有同名资源的情况下,位于Standard Assets, Pro Standard Assets文件夹的优先级会较低(被认为是默认资源,当没有其它同名资源时才会找它)。
下面是资源加载方式:

Resources.Load("AssetName");	//编辑时和运行时都可以使用的方式,默认从Resources目录下读取
AssetDatabase.LoadAssetAtPath("AssetPath");	//需要引用UnityEditor,也就是说这种方式只能在编辑时使用,但它可以读取Assets目录下的任意文件夹下的资源。路径格式为:”Assets/xx/xx.xxx”,需要带文件后缀

资源释放方式:
可以通过Destroy()来摧毁创建的游戏物体,然后通过Resources.UnloadUnusedAssets()来释放出内存。

9. StreamingAssets

放在该文件夹中的资源也会全部打进包中,但是它是”原封不动“的打包进去(直接拷贝到包里),在游戏运行时只能读不能写。不同平台该文件的路径也不同,使用Unity的Application.StreamingAssetsPath会根据平台返回正确路径。
一般将初始的AssetsBundle资源放在该文件夹下,并且通过WWW或者AssetsBundle.LoadFromFile加载使用。

10. WebPlayerTemplates

默认网页,这个文件夹中的脚本都不会被编译,该文件夹必须位于Assets目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值