找回密码
 立即注册
查看: 588|回复: 0

[笔记] Unity项目架构设计与开发管理

[复制链接]
发表于 2020-12-17 09:12 | 显示全部楼层 |阅读模式
笔者是观摩刘钢先生讲解的Unity项目架构设计与开发管理后所总结记录的。
0×01 EmptyGo

    将所有的代码放到一个空的游戏对象中;使用GameObject.Find()来找到目标进行使用。
架构设计的雏形实现,缺点是当我们的项目越来越大的时候难以灵活管理;不适合大型项目。
0×02 Simple GameManager
  1. GameManager.Instance.playSound("menu");
复制代码
优点是: 是把EmptyGO做成一个单例来使用;比较适合小型项目;空物体进行全局引用。 缺点是: 把所有的逻辑都放在一个脚本中,不利于编译;而且会造成单一文件过于庞大;NO 即插即用。
0×03 Manager Of Managers

类似于分级结构,各司其职;比如音频管理,场景管理,关卡管理等,每一个都是一个单例脚本,配合使用。结构相对清晰。
    MainManagerEventManager:消息传递管理AudioManager:音效管理GUIManager:图形视图管理PoolManager:GO管理LevelManager: 关卡管理GameManager:核心机制管理SaveManager:游戏进度管理MenuManager:菜单行为动画管理
0×04 MVCS(StrangeIOC)



Unity3D-StrongeIOC框架结构图
Strange是一个超轻量级且高度可扩展的控制反转控制(IoC)框架,专为C#和Unity编写。 它包含以下功能,其中大部分是可选的:
    一个核心绑定框架,几乎可以让你将一个或多个任何东西绑定到一个或多个其他任何东西。依赖注入反射绑定显著降低了采用反射效率的开销共享事件系统,EventDispatcher 和 Signals。MonoBehaviour 调配可选的MVCS(模型/视图/控制器/服务)结构等等…
这个框架的想法很有意思;可以研究一下它的原理即源码。 地址:https://github.com/strangeioc/strangeioc
0×05 MVVM(uFrame)



Unity3D-uFrame框架结构
uFrame 是为 Unity Engine 设计的 MVVM / MV * 框架。它配备了大量功能,包括图形界面 / 图表引擎,可生成代码甚至处理一些重新分解。图形界面显著提高所有团队成员开发和实施一致编码模型的效率。随着微软全息镜头的崛起和Unity的跨平台功能,uFrame 是构建下一个大型应用程序或游戏的终极解决方案。  包含以下功能:
    高质量的图形引擎可编辑的代码生成模板UGUI绑定IOC /依赖注入完整的MV *实现 – 事件聚合场景管理(将场景加载为具有附加加载的预制件)在极大型项目上测试运行开源框架…
0×06 实体组件系统(ECS)

在2018年,Unity又重点推荐ECS;ECS是一种编写代码的方式,专注于您正在解决的实际问题:组成游戏的数据和行为。其中心为Entity,Component,System。除了出于设计原因更好地接近游戏编程之外,使用ECS可以使您更好的利用Unity的C#job系统和Burst Compiler,充分利用当今的多核处理器。
    Entity 是实例,作为承载组件的载体,也是框架中维护对象的实体.Component 只包含数据,具备这个组件便具有这个功能.System 作为逻辑维护,维护对应的组件执行相关操作.
而且使用ECS,可以让你从面向对象转向数据导向设计,这意味着重用代码更容易,并且更容易让其他人掌握并做出贡献。
-EOF-

关注微信公众号:huozk-com,查看更多关于技术、游戏、折腾的内容。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 23:33 , Processed in 0.067364 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表