Unity 游戏框架搭建 2019 (五十四、五十五) 第五章简介Unity 项目架构设计与开发管理

本文主要是介绍Unity 游戏框架搭建 2019 (五十四、五十五) 第五章简介Unity 项目架构设计与开发管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第五章 简介

006tNc79gy1fzfti2i6v0j30ny0mdjur.jpg

Unity 项目架构设计与开发管理

我们在之前花了两篇文章对架构、框架和库进行了简单的介绍。
而我们到目前为止,已经写了十四个示例了。

目录如下:
006tNc79gy1fzftkojuv6j30ah06rjrt.jpg

我们并没有去为了写框架而写框架,而是一个个实际问题地解决,最后解决出来了一个小框架 MonoBehaviourSimplify,又趁势去了解了一点架构、框架和库的概念,一切是那么地自然。

那么既然接触了架构、框架和库的概念,我们就可以接下来为搭建框架做准备了,而示例也积累了很多,整理的时机也成熟了,所以到此呢,我们的第二次学习收集示例的阶段就可以停止了,而准备开始进行第二次整理。

不过这次有点不一样,我们了解了架构、库和框架,并且积累了相当多地编码经验,我们可以再多了解一点理论知识再进行整理也不迟。

说到这里,笔者就要献上笔者看了近十遍的学习材料。并且呢,在接下来的文章中,对其非常重要的内容进行强化和解读。毕竟视频看一遍就过去了,看过去之后很多人就该干啥就干啥了。里边的知识并没有全部吸收,不过并不是一篇一篇地逐个看完,因为我们还要对目前的库进行整理。

笔者可以很负责任地说,这个视频改变了笔者的人生……

视频地址:https://v.qq.com/x/page/d016340mkcu.html

不过尽管笔者会强化和解读,但是各位还是最起码看一遍,这样再读文章会理解得更加深刻。

而笔者呢,先给出一个视频的内容的简单总结,总结内容为我们在 Unity 中的常用架构总结。

如下

1.EmptyGO:

在 Hierarchy 上创建一个空的 GameObject,然后挂上所有与 GameObject 无关的逻辑控制的脚本。使用GameObject.Find() 访问对象数据。

缺点:逻辑代码散落在各处,不适合大型项目。

2.Simple GameManager:

所有与 GameObject 无关的逻辑都放在一个单例中。
缺点:单一文件过于庞大。

3.Manager Of Managers:

将不同的功能单独管理。如下:

  • MainManager: 作为入口管理器。
  • EventManager: 消息管理。
  • GUIManager: 图形视图管理。
  • AudioManager: 音效管理。
  • PoolManager: GameObject管理(减少动态开辟内存消耗,减少GC)。
  • LevelManager: 关卡管理。
  • GameManager: 游戏管理。
  • SaveManager: 配置&存储管理。
  • MenuManager 菜单管理。

4.将 View 和 Model 之间增加一个媒介层。

MVCS:StrangeIOC 插件。

MVVM:uFrame 插件。

5. ECS (Entity Component Based System)

Unity 是基于 ECS,比较适合 GamePlay 模块使用。
还有比较有名的 Entitas-CSharp(https://github.com/sschmid/Entitas-CSharp)

今天内容就这些,我们下一篇再见,拜拜~

转载请注明地址:凉鞋的笔记:liangxiegame.com

更多内容

  • QFramework 地址:https://github.com/liangxiegame/QFramework

  • QQ 交流群:623597263

  • 2020届Unity 凉鞋小班
    在这里插入图片描述

  • 关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。

这篇关于Unity 游戏框架搭建 2019 (五十四、五十五) 第五章简介Unity 项目架构设计与开发管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964421

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依