Unity3D项目架构设计与优化

Architectures(主流架构)

  1. EmptyGO
  2. Simple GameManager
  3. Manager of Managers
  4. MVCS(StrageloC)
  5. MVVM(uFrame)
    ……….

EmptyGO

  1. 问题:消耗资源;不易于管理

Simple GameManager

  1. 问题:GameManager文件过于庞大,而且不是逻辑相关的脚本代码也很多容易造成混乱。



Manager of Managers

unity3d架构 unity项目架构_架构设计


1. 中型以上的项目特别适用的方法。代码复用

2. EventManager:通常希望在一个集中地方管理所有的UI和到各个地方模块之间的消息,以及各个模块之间的消息。

3. AudioManager:在项目中访问音频文件。

4. GUIManager:所有UI发生的Click事件管理。

5. PoolManager:很重要。C#中创建和销毁一个对象很消耗。

6. LevelManager:管理关卡。

7. GameManager:不可以复用的游戏逻辑管理。

8. SaveManager:保存数据管理。

9. MenuManager:管理动画和场景中显示。

Level Manager

unity3d架构 unity项目架构_unity3d架构_02


unity3d架构 unity项目架构_MVVM_03


unity3d架构 unity项目架构_UI_04


unity3d架构 unity项目架构_MVVM_05


unity3d架构 unity项目架构_架构_06


1. 为什么使用?加载场景过多,场景复用传递参数;修改场景顺序;

2. 设计:

Pool Manager

unity3d架构 unity项目架构_架构_07


unity3d架构 unity项目架构_unity3d架构_08


unity3d架构 unity项目架构_unity3d架构_09


unity3d架构 unity项目架构_架构_10


unity3d架构 unity项目架构_架构设计_11


unity3d架构 unity项目架构_UI_12


unity3d架构 unity项目架构_unity3d架构_13


unity3d架构 unity项目架构_架构设计_14

Save Manager

unity3d架构 unity项目架构_架构设计_15

MVCS(Strageloc)

  1. 中心思想Binding:
  2. IBinder.Bind<Key>().To<Value>();
  3. IBinder.Bind<Key>().To<Value>().ToName(name):当绑定的Key值一样时可以命名区分。






MVVM(uFrame)

  1. 与StrageIoc相似,是图形化操作,但是付费。

架构总结

  1. Model与View必须分离开,有中间层。

管理规则

1.好的架构=好的规则

unity3d架构 unity项目架构_架构_16


unity3d架构 unity项目架构_unity3d架构_17


unity3d架构 unity项目架构_MVVM_18

Unity测试框架


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空