[发明专利]一种基于Unity3D的App开发框架有效
申请号: | 201911094330.0 | 申请日: | 2019-11-11 |
公开(公告)号: | CN111026365B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 袁黎;魏召刚;傅以盘;冀晓霞;李茜;滕凯 | 申请(专利权)人: | 武汉同立方智能科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 武汉知产时代知识产权代理有限公司 42238 | 代理人: | 金慧君 |
地址: | 430000 湖北省武汉市东湖新技术开发区*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 unity3d app 开发 框架 | ||
本发明提供了所述一种基于Unity3D的App开发框架,其方法包括:由自定义的FW单例类使用多态方法注入多个自定义模块组成,在开发过程中仅需将所述FW单例类挂载至编辑器,无需将所述FW单例类中注入的多个自定义模块单独挂载到场景中,以减少程序运行消耗以及挂载过程中的误操作。本发明的有益效果是:本申请所提出的技术方案解耦了用户界面、三维显示对象、业务逻辑、数据模型,同时提高了开发效率,具有良好的可扩展性,健壮性。
技术领域
本发明涉及软件开发领域,尤其涉及一种基于Unity3D的App开发框架。
背景技术
一般Unity3D开发,使用继承自MonoBehaviour的子类手动挂载到GameObject对象上,其中包含功能模块、数据持有、业务逻辑、交互逻辑、模型显示、刚体、物理等。
这种技术应用在小型项目,一定程度上提高了代码的复用性以及开发效率,但由于代码和美术资源的高度耦合,在大型项目迭代开发过程中,多人同时编辑同一个GameObject对象或者Prefab对象容易导致Git仓库冲突,在美术资源发生更改时,需要重新手动挂载脚本,影响开发效率;大量脚本继承自MonoBehaviour,降低软件整体的执行/编译效率。
注:
GameObject:Unity3D引擎中定义的游戏对象类型;
MonoBehaviour:Unity3D引擎中可挂载到GameObject上的组件;
Prefab:Unity3D引擎中预设的GameObject成为预制体,包含子游戏对象,组件及组件预设的数据;
Git:一种开源的分布式版本控制系统。
发明内容
为了解决上述问题,本发明提供了一种基于Unity3D的App开发框架;
一种基于Unity3D的App开发框架,由自定义的FW单例类使用多态方法注入多个自定义模块组成,在开发过程中仅需将所述FW单例类挂载至编辑器,无需将所述FW单例类中注入的多个自定义模块单独挂载到场景中,以减少App程序运行消耗以及挂载过程中的误操作;
所述多个自定义模块包括:快捷键模块MKey、界面模块MUI、长连接网络模块MConn、命令模块MCmd、系统模块MSystem和实体模块MEntity;
所述快捷键模块MKey,用于按事件名称绑定键盘按键到事件回调函数,便于自定义键盘按键;
所述界面模块MUI,用于绑定实现IUI接口的界面类到界面预制体资源,加载界面类实例时,自动加载对应的界面预制体资源并完成初始化,无需将界面脚本挂载到界面预制体资源;
所述长连接网络模块MConn,用于管理实现IConn接口的长连接类,向指定服务器发送消息并接收服务器反馈的消息;
所述命令模块MCmd,用于按命令名注册命令类,并执行对应的命令;
所述系统模块MSystem,用于注册或者移除系统,并提供各系统的功能API,实现ICmd接口类的调用;其中,所述系统为实现ISystem接口的类;
所述实体模块MEntity,用于注入实体工厂类,以管理所有的实体对象,并通过工厂类组装或者卸载实体对象的实体组件;其中,所述实体工厂类为实现IEntityFactory接口的类;所述实体组件为实现IComponent接口的类,持有不同功能需要的数据,并能广播数据变化的事件;
所述一种基于Unity3D的App开发框架的使用原理,具体包括如下步骤:
S101:所述快捷键模块MKey捕获用户键盘输入,所述界面模块MUI捕获鼠标输入或者长连接网络模块MConn接收的消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉同立方智能科技有限公司,未经武汉同立方智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911094330.0/2.html,转载请声明来源钻瓜专利网。