Unity项目文件结构
引言
之前接手过一个Unity项目,这个项目文件结构极其糟糕(它甚至把代码放到了/Resources文件夹里)。于是在此期间读了一些Unity项目结构的相关文章,也参考了业界的朋友的建议,对项目结构重新组织了一下。这篇文章简单谈一下我对Unity项目文件结构的想法。
TL;DL 为了让文件好找。
当我还是学生的时候,项目通常都是一个人完成的,所以经常懒得整理就把文件都放在/Assets文件夹下。或做一些简单的文件分类再把文件按类别放置。由于开发者也就我一人,所以短期内的项目开发还是能找到各个文件的放置位置。这样的弊端显而易见,也就是当项目开发/维护的人数大于一人或项目长时间运作后,文件会变得难以查找。所以follow一个标准的文件结构来进行开发,会大大减少找文件的时间。
下面是我在之前的Unity项目用的文件结构,项目规模较小,所以这里的文件结构也仅做小项目参考。仅抛砖引玉,如果您有更好的思路,请评论赐教。
范例
Asset
├── 3rd: Asset store素材
├── GameAssets: 团队美术素材
├── Animation
└── Animator
└── Audio
└── FBXs
└── Materials
└── Pariticle Effects
└── Skybox
└── Textures
└── UIs
└── Video
└── ...
├── Plugins
├── Prefabs
├── Resources
├── Scenes
├── Scripts: 我的代码框架用的MVC,之后的文章会详细讲一下这个框架
├── BLL: 业务逻辑相关代码,代码不继承于Monobehaviour class
└── DAL: 数据交互相关代码
└── View: GameLoop controllers或UI Controllers,继承 Monobehaviour class
├── StreamingAssets
总结
总体而言没有绝对正确的项目结构,感兴趣的朋友可以阅读一下我的参考材料,每个项目都会有命名或者结构上的细微差别,但整体而言的方向不会差太多。(大型项目除外)
参考材料:
- https://zhuanlan.zhihu.com/p/64856900
- https://chowdera.com/2020/12/202012042254227956.html
- https://blog.csdn.net/lizhenxiqnmlgb/article/details/81450401