亲爱的观众老爷们大家好,经过几天的奔波,小编终于花了好多票子租到了新房子,满满的幸福感啊^.^
本来想今天网购的桌子到了,能够舒舒服服的为大家写一篇文章(上一篇文章被可儿嘲笑了,别字太多,小编回头会去修正,毕竟咱们程序员要做到细致入微嘛,前段时间比较忙乱,别字给大家造成的理解困难,在这里道个歉@.@),鉴于桌子在路上耽搁了,那小编还是愉快的决定趴在床上给大家带来一首。。。额,一篇Unity工程结构以及各文件夹作用的介绍吧
上回书咱们说过Project窗口,这里显示了工程的所有资源。咱们新建的项目里Project窗口里没有任何东西,那是不是说明这是个空的工程呢?是,也不是。啊哈,小编小装一下。
下面一起来做一个操作,右键Project窗口内的任意位置,选择Show in Explorer(“在资源管理器中显示”,敲黑板,这个功能很常用哦),这时候,我们就打开了一个资源管理器,没错,这个路径就是我们的工程文件夹内的样子,很多人可能要惊讶一下,窝巢,Project里明明什么都没有,为啥这里有这么多东西!!客官莫急,听小编为你娓娓道来:
事情的经过大概是这样的,所谓的Project里的项目结构呢,其实就是大家在资源文件夹中看到的Assets文件夹内部的结构。那么,剩下的其他文件夹是什么玩意儿呢?啊哈,没错,他们是自动生成的,大家可以尝试把Assets之外的那几个文件夹删除掉。额,好吧,我知道你迫不及待尝试,但是我可以保证你删不掉,因为Unity运行时占用了他们,所以,需要先关掉Unity,然后再删除。好,我们再来一遍,首先关掉unity,然后删掉Assets之外的所有文件夹。最后再次打开Unity的同一个工程。打开刚刚的文件夹,没错!小编没有骗你!他们又回来了!
虽然我们现在Assets文件夹中是空的,但是,unity在Assets下是有几个固定作用的目录的,下面我们就一一介绍他们:
1、Resources
没错,加s的,这是项目中默认的资源路径,在打包时会全部打包到游戏中,即使他没有被用到。所以,尽可能的移走Resources中无用的资源来减小最终工程包的大小。
2、Plugins
插件目录,该目录中的插件资源在编译项目时会 优先编译,方便项目中代码调用。与StandardAssets目录的代码编译到同一个.sln里。
下面摘抄博客园michael111文章中的详细介绍(文章链接http://www.cnblogs.com/sutingwei/p/4388869.html#_label5):
2.1Plugins/x86
如果你制作一个32位或者通用(32位和64位)平台的版本的话,如果这个子文件夹存在,那么在这个文件夹里面的插件将会被自动的打包到游戏中,如果这个文件夹不存在,那么Unity将会转而到父文件夹(Plugins)里面查找插件。
2.2Plugins/x86_64
如果你制作一个64位或者通用(32位和64位)平台的版本的话,如果这个子文件夹存在,那么在这个文件夹里面的插件将会被自动的打包到游戏中,如果这个文件夹不存在,那么Unity将会转而到父文件夹(Plugins)里面查找插件。
如果你在制作一个通用平台的版本,那么建议你同时创建x86和x86_64这两个文件夹,并且在这里面放入相应32位和64位版本的插件。
2.3Plugins/Android
在这个文件夹里面放入任何需要被Android工程包含的.jar文件(Java插件使用)或者.so文件(Android NDK插件使用),更多可以参考:http://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html(例如读取通讯录、微信分享等调用原生java功能接口的jar包编译后放在此文件夹下)
2.4Plugins/ios
一个受限制的自动添加(作为符号链接)任何.a、.m、.mm、.c 或者 .cpp 文件到生成的Xcode工程里面的方法。可以参考:http://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html。
如果你想要在自动添加文件到Xcode工程的这个过程中有更多的可控性的话,你可以使用PostprocessBuildPlayer这个功能,而且使用这个功能也并不要求你将相应的处理文件放入到 Plugins/iOS文件夹中。更多可以参考:http://docs.unity3d.com/Documentation/Manual/BuildPlayerPipeline.html
3、Editor
该目录下的代码可以调用UnityEditor的API。我们平时自己扩展的Unity插件代码都会放到这里哦,这些插件由于只是在编辑项目的时候使用,所以Unity在打包时选择放过他们,也就是说Editor目录中的代码不会被最终打包,所以千万不要在这里放运行时的代码哦。
3、StandardAssets
该目录下的代码优先编译,方便项目中代码调用。它与Plugins目录的代码共同编译到同一个.sln里
4、SreamingAssets
该目录下的文件会在打包时打包到项目中,跟Resources一样,没有被使用的资源也是会被打包的
注:有同学要问,看起来Resources跟StreamingAssets一样啊。非也,他们是有区别的。第一:Resources目录下的文件在打包时会进行压缩加密,但是StreamingAssets下的问价是直接打包的。第二:Resources目录下的材质球、预制件等(这是什么东东,莫急,后面会说的),会在打包时自动寻找引用资源,打包到Resources中。他们有一个比较叼的共同点,他们都是只读文件。
嗯,以上是常用的啦,剩下一些非常用的特殊文件夹,有兴趣的同学可以跳转一下:
http://www.cnblogs.com/sutingwei/p/4388869.html#_label0
小编又偷懒了~~因为有一股饭香味在勾引、勾引、勾引我。。。