(转)Unity项目的目录组织
本文转自:Unity项目如何架构(一)目录组织
首先我要声明的一点是脱离了产品需求而空谈架构就是在耍流氓。我下面的架构是基于我当前在做的产品需求定的,所以不一定完全适合你。
首先我们先来看一下项目的目录结构。
文章图片
Screen-Shot-2016-01-01-at-10-45-18-PM
上图中的文件夹就是项目的主要结构,我把所有的在 Assets/ 目录下的自己创建的文件夹都约定使用下划线开始的名字命名。
_3rd/ 文件夹下存放的是所有的第三方的插件或者类库。
_Framework/ 主要存放独立的基础组件,这部分的代码和具体的业务需求无关,可以在多个不同的项目之间进行复用。当然,也可以打包成 unitypackage 方便使用。
_resources/ 下面存放所有的资源文件,在 _resources/目录下面还会有更详细的分类,下面详细介绍。
_Scenes/ 存放所有的场景文件,为了避免多人协作编辑同一个场景导致的冲突,所以最好将可以将页面按照需求独立成不同的场景,不同的人编辑不同的场景。
_Scripts/ 存放的是所有的和项目需求相关的代码脚本,下面详细介绍。
其他的两个目录没有用下划线作为名字的开始,所以它们是Unity 工程的特殊目录,这块我不详细介绍,大家可以自行学习相关的知识。
上面这种项目目录的组织方式可以让我能够快速清晰的定位不同的资源。下面我们再来近距离的看看项目的目录组织结构。
在 _3rd/ 目录下面是这样的:
文章图片
Screen-Shot-2016-01-01-at-11-09-05-PM
在 _Framework/ 下面是这样的:
文章图片
Screen-Shot-2016-01-01-at-11-10-50-PM
这部分都是一些通用性质的组件,包括一些例如 BaseBehaviour 之类的基类和一些 Manager 性质的组件如负责事件传递的 MessageCenter 、管理页面打开和关闭的UIManager 等。
在 _Resources/ 目录下面是按照资源的种类进行分组的,在每一个类别下面再根据不同的页面或者需求点进行细分。如下所示:
文章图片
Screen-Shot-2016-01-01-at-11-15-20-PM
在 _Scripts/ 目录下面存放的是项目需求相关的代码。
文章图片
Screen-Shot-2016-01-01-at-11-21-04-PM
如上所示,Editor/ 目录下面是一些编辑器扩展,主要是一些打包 AssetBundle 之类的辅助工具。
Game/ 目录又按照 MVC + Component 架构模式分拆。MVC 架构这个是很流行的架构,方便进行代码的责任分拆。因为 Unity 下面组件开发非常方便,所以我又特地的在 MVC 模式的基础上添加了 Component 模式,进一步的增加灵活性和独立性。
Lua/ 目录存放的是所有的 .lua 文件。因为热更新的需求,所以我使用了 ulua 插件。这个 Lua/ 目录下是具体的和项目相关的并且是使用 lua 脚本实现的代码。
我们再来看一下项目目录组织的完整的图吧。
文章图片
Screen-Shot-2016-01-01-at-11-35-10-PM 【(转)Unity项目的目录组织】
推荐阅读
- 你的职业选择题里,会不会有公务员这个选项()
- 流水线的故事
- Angular.js项目启动步骤0----准备
- 关于Vue项目中publicPath的二三事
- python中周日历与时间的相互转换
- C语言学习之路|C语言(表达式求值(整型提升、算术转换 ...))
- 操作符|操作符中表达式求值(隐式类型转换详解)以及操作符属性
- 小杨带你玩转C语言【初阶】|操作符知识你会了,那表达式求值呢()
- 创投日报|钛媒体Pro创投日报:7月13日收录投融资项目10起
- 体检出转氨酶升高,肝炎有病变,2种食物搭配饮用,肝癌敬而远之