Project Icon

HTFramework

Unity开发框架 模块化设计提升开发效率

HTFramework是基于Unity 2022.3.34的开发框架,提供AspectTrack、Audio、Controller等多个实用模块。框架集成对象池、事件系统、有限状态机等功能,支持热更新和网络通信。采用入口场景管理生命周期,推崇动态资源加载,旨在提升开发效率和项目质量。框架支持自定义模块扩展,持续维护更新。

image

license version supported

Unity HTFramework

HTFramework是基于Unity的一个快速开发框架,集需求模块化、代码重用性、实用便捷性、功能高内聚、统一编码规范、可扩展性、可维护性、可通用性、可插拨性为一体,并提供持续维护、升级。

环境

  • Unity版本:2022.3.34。

  • .NET API版本:.NET Framework。

编码规范

模块简介

  • AspectTrack - 根据AOP思想架构的一个面向切面的程序代码追踪模块,它可以跟踪每一个方法的调用,在调用前阻断该方法,亦或是更改其传入的实参,更改其返回值等!可以用于调用日志打印,系统运行监控等需求。

  • Audio - 项目中所有音频的管理器,提供统一的接口用来播放、暂停、停止各种音频资源。

  • Controller - 封装了主角控制、主摄像机控制等,简化了大量重复代码。

  • Coroutiner - 协程调度器,通过协程调度器启动的协程,将会处于调度器的监控中,可以通过CoroutinerTracker追踪面板查看协程的运行状态、运行耗时,可重启、终止任意协程。

  • CustomModule - 框架内置了多个常用的模块,如果想要添加自己的模块,通过CustomModule添加自定义模块即可,自定义模块拥有与内置模块完全一样的生命周期。

  • DataSet - 自定义数据集,任何需要存储数据的地方都可以定义为自定义数据集,包括预制的配置文件、运行时生成的动态数据、从后台拉取的各种数据等。

  • Debug - Debug模块自带Debugger运行时调试器,可以监控一些常规数据与软件运行环境,或是进行一些高级的操作,比如检索场景所有游戏对象(等效于编辑器内Hierarchy窗口的功能),检索游戏对象的所有组件(等效于编辑器内Inspector窗口的功能)。

  • ECS - 实体-组件-系统,此ECS非Unity的ECS,并不一定会带来性能的提升,只是基于ECS的思想,建立在Unity现有的组件模式之上,以ECS模式进行开发可以避开项目后期繁重的继承链,提升开发速度和质量、以及项目稳定性。

  • Entity - 实体管理器,除去UI以外,场景中的其余可见物体都应该抽象为Entity,在Entity之上配合FSM一起管理逻辑,将是一个不错的搭配。

  • Event - 可以将一切操作定义为具体的全局事件,通过订阅事件、抛出事件以驱动整个业务逻辑。

  • Exception - 异常处理者,当程序任何部位发生未知、未捕获的异常时,他会在这里被截获,并写入日志文件,同时支持在异常发生时打开指定程序(仅在PC平台),或者在异常发生时回馈日志到指定邮箱。

  • FSM - 模拟一切可以抽象为有限状态机结构的业务逻辑,类似于角色动画、怪物AI、任意有独立逻辑的个体等。

  • Hotfix - 以C#反射实现的轻量级热更新框架,开发非常方便,新项目只需要拉取框架源码后,一键即可创建热更新环境,之后便可以用C#正常开发,目前已支持在热更新库中动态修复外界的任何方法,无需重新发布项目。

  • Input - 将任意输入都定义为虚拟输入,再由Input模块统一调用,将是跨平台输入的最优解决方案。

  • Instruction - 指令系统,可在运行时编译并执行任意指令代码,达到最快速度修补程序的功能。

  • Main - 框架主模块,提供访问其他模块的快捷接口,还支持快捷设置脚本定义、指定全局主要数据类、设置项目授权、以及配置全局参数等,且支持HybridCLR热更新。

  • Network - 网络客户端模块,以单个通信管道为单位,每个管道均支持TCP/UDP等协议,可以为每个管道定义通信消息格式,基本能胜任一些常见的通信环境。

  • ObjectPool - 专用于GameObject类型的对象池,可以复用任意GameObject对象,以达到减少系统在频繁创建和删除对象时的开销。

  • Procedure - 流程是框架的核心模块,也是最基本的模块,他贯穿整个框架的始终,从框架的生命周期开始,到生命周期结束,都会在流程间完成,同时,他又是一个强化版的有限状态机,当在多个流程间切换直至最终流程时,便代表整个系统的结束。

  • ReferencePool - 可用于任意引用类型(除GameObject)的对象池,可以复用任意引用类型对象,以达到减少系统在频繁创建和删除对象时的开销。

  • Resource - 资源加载管理器,主要用于动态加载资源(只支持异步加载),在加载中或加载完成后都可以进行自定义操作,现在主要支持Resource加载模式、AssetBundle加载模式、Addressables加载模式,比如,UI模块就会自动调用资源管理器加载UI实体。

  • StepMaster - 步骤编辑器,严格来说,StepEditor只是框架的一个内置工具,他最开始的用途是用来解决一系列冗长的线性任务,为了实现可视化和降低后期改动的复杂度,当然,也可以用作流程控制器。

  • TaskMaster - 任务编辑器,可以自定义任务点,设置任务达成条件,多个任务点组成一个任务内容,使用一系列任务内容完成角色扮演的设计。

  • UI - 用于管理全局的UI实体,以省去手动创建UI实例、销毁UI实例等一系列操作,他可以在非常方便且省去不必要的开销优势下,让你条例清晰的组织和管控好任何复杂的UI结构。

  • Utility - 框架实用工具,包括一些批处理工具及编辑器工具。

  • WebRequest - 网络请求模块,主要用于与web服务器通信,比如请求某一网络链接或服务器接口,获得回复或下载网络上的资源。

  • AI【可选模块】 - AI相关模块,比如A*寻路以及各种人工智能模块。

  • Deployment【可选模块】 - 轻量级资源部署管线,整合资源打包、资源版本构建、资源版本更新为一体,快速实现资源部署和交付游戏。

  • GameComponent【可选模块】 - 游戏组件模块,本模块整合了多个游戏开发过程中可能会涉及到的子系统或组件,包括但不仅限于文件系统、本地化系统、新手引导系统、时间系统、AVG2D系统、FTG2D系统、RPG2D系统等,且各个系统或组件均为可插拨式,可一键移除不需要的系统或组件,或再次一键导入。

内置工具

演示代码

注意事项

  • 1.框架中所有On开头的函数为生命周期函数或回调函数,均由框架呼叫,请勿手动调用。

  • 2.框架中的Procedure(流程)必须包含至少一个流程才能正确构建项目,而其他模块,如无需要,均可以不使用。

主要特性

  • 1.入口场景为一切的开始,也为一切的结束,整个游戏的生命周期都将在入口场景中完成,不建议使用多场景切换模式,如果确实需要使用,可以将其他场景打入AB包内加载。

  • 2.入口场景中只包含框架主模块(或其他自定义主模块、主控制器),其他任何东西都应该是动态加载的。

使用方法

  • 1.拉取框架到项目中的Assets文件夹下(Assets/HTFramework/),或以添加子模块的形式。

  • 2.在入口场景的层级(Hierarchy)视图点击右键,选择 HTFramework -> Main Environment(创建框架主环境),并删除入口场景其他的东西(除了框架的主要模块,其他任何东西都应该是动态加载的)。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号