动作事件处理方法、装置、电子设备及计算机存储介质制造方法及图纸

技术编号:26030276 阅读:12 留言:0更新日期:2020-10-23 21:07
本申请提供了一种基于Gizmo系统的动作事件处理方法、装置、电子设备及计算机可读存储介质,涉及图像处理领域。该方法包括:在本发明专利技术实施例中,Gizmo系统接收指定的动作事件,该动作事件为对图形编辑器中任一图形的形状进行修改,该图形具有对应的原始数据,当动作事件结束后,通过调用Gizmo系统预设置的引擎接口对动作事件进行处理,得到改变后的图形对应的目标数据,以对图形进行修改。这样,通过预置的引擎接口,使得Gizmo系统可以通过抽象接口间接的调用游戏引擎的API,而不是直接调用具体某个游戏引擎的API,这样就做到了Gizmo系统和游戏引擎的解耦,让游戏引擎在更换编辑器时,只需要编写少量代码就可以移植Gizmo系统。

【技术实现步骤摘要】
动作事件处理方法、装置、电子设备及计算机存储介质
本申请涉及图像处理
,具体而言,本申请涉及一种基于Gizmo系统的动作事件处理方法、装置、电子设备及计算机可读存储介质。
技术介绍
现代游戏开发的主流模式是数据驱动模式,所以对数据的编辑效率直接关系到项目的开发效率,Gizmo系统应运而生,成为各个引擎编辑器的标配工具。Gizmo系统是一套辅助场景编辑、调试的数据可视化工具。目前主流的带编辑器的游戏引擎有Unity3D和Unreal。1)Unity引擎提供了两套UI系统,一个是编辑器使用的IMGUI系统,一个是为游戏开发者提供的RMGUI系统。IMGUI(ImmediateModeGraphicalUserInterface)是立即模式GUI,它的特点是每个UI控件都是一个函数,既处理状态改变又做渲染。RMGUI(RetainedModeGraphicalUserInterfaces)是保留模式GUI,是现代游戏引擎常用的GUI模式,一般需要经过初始化、注册事件回调步骤,然后在事件回调方法中进行处理状态改变。Unity3D的Gizmo实现是基于编辑器自身的IMGUI系统,在每一帧的画面更新中实现控制器的声明、绘制以及数据更新,所以它的Gizmo的使用都是通过一个函数调用来完成。两种UI模式在编程的思维和代码的编写上有很大的不同,所以在普通的游戏开发者想要扩展Gizmo时需要学习IMGUI的相关知识,开发成本较高。2)Unreal的Gizmo比较简单,目前只包含位移、旋转、缩放的Gizmo。它的Gizmo就封装在一个Widget类中,所以理论上用户想要扩展,最快速的方式就是在这个Widget中添加函数,这就改动到了引擎的源码,十分不合理。而且在Widget类中直接调用引擎绘制图形的方法,这就使得Gizmo和引擎强耦合,如果想要切换另一个引擎来渲染Gizmo,就必须把Widget类用新的引擎绘制图形方法重新实现一遍,实现过程较为繁琐。
技术实现思路
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:第一方面,提供了一种基于Gizmo系统的动作事件处理的方法,该方法包括:接收指定的动作事件;所述动作事件为对图形编辑器中任一Gizmo图形的形状进行修改,所述Gizmo图形具有对应的原始数据;当所述动作事件结束后,通过调用所述Gizmo系统预设置的引擎接口对所述动作事件进行处理,得到改变后的Gizmo图形对应的目标数据,以对Gizmo图形进行修改。优选地,所述Gizmo系统设置有Gizmo管理模块;所述接收指定的动作事件的步骤,包括:通过所述Gizmo管理模块接收所述动作事件。优选地,所述Gizmo系统设置有控制器模块,所述通过调用所述Gizmo系统预设置的引擎接口对所述动作事件进行处理,得到改变后的Gizmo图形对应的目标数据的步骤,包括:通过调用所述Gizmo系统预设置的引擎接口确定所述动作事件对应的控制器模块,以及对应的Gizmo图形;通过所述对应的控制器模块对所述动作事件中的动作事件数据进行处理,确定改变后的Gizmo图形对应的目标数据。优选地,所述Gizmo系统设置有Gizmo模块,所述通过所述对应的控制器模块对所述动作事件中的动作事件数据进行处理,确定改变后的Gizmo图形对应的目标数据的步骤,包括:所述控制器模块依据所述动作事件数据,生成对应的差异数据;所述Gizmo模块将所述原始数据与所述差异数据进行融合,得到所述目标数据。优选地,所述Gizmo系统还设置有形状控制器模块、调用组成控制器模块;所述图形编辑器中的任一Gizmo图形通过如下方式生成:当Gizmo管理模块确定待创建的图形的类型时,创建对应类型的Gizmo模块;所述Gizmo模块创建对应的控制器模块;采用所述形状控制器模块生成所述Gizmo图形的图形数据;控制器模块通过所述调用组成控制器模块对所述图形数据进行封装,并将封装后的数据发送至引擎接口;引擎接口调用游戏引擎中绘制图形的API对所述封装后的数据进行绘制,生成待创建的Gizmo图形。第二方面,提供了一种基于Gizmo系统的动作事件处理的装置,该装置包括:Gizmo管理模块,用于接收指定的动作事件;所述动作事件为对图形编辑器中任一Gizmo图形的形状进行修改,所述Gizmo图形具有对应的原始数据;所述Gizmo系统预设置的引擎接口,用于当所述动作事件结束后,对所述动作事件进行处理,得到改变后的Gizmo图形对应的目标数据,以对Gizmo图形进行修改。优选地,所述Gizmo系统设置有控制器模块;所述引擎接口具体用于:调用所述Gizmo系统预设置的引擎接口确定所述动作事件对应的控制器模块,以及对应的Gizmo图形;所述控制器模块,用于对所述动作事件中的动作事件数据进行处理,确定改变后的Gizmo图形对应的目标数据。优选地,所述Gizmo系统设置有Gizmo模块;所述控制器模块具体用于:依据所述动作事件数据,生成对应的差异数据;所述Gizmo模块,用于将所述原始数据与所述差异数据进行融合,得到所述目标数据。优选地,所述Gizmo系统还设置有形状控制器模块、调用组成控制器模块;所述图形编辑器中的任一Gizmo图形通过如下方式生成:所述Gizmo管理模块,用于确定待创建的图形的类型时,创建对应类型的Gizmo模块;所述Gizmo模块,用于创建对应的控制器模块;所述形状控制器模块,用于生成所述Gizmo图形的图形数据;所述控制器模块,用于所述调用组成控制器模块对所述图形数据进行封装,并将封装后的数据发送至引擎接口;所述引擎接口,用于调用游戏引擎中绘制图形的API对所述封装后的数据进行绘制,生成待创建的Gizmo图形。第三方面,提供了一种电子设备,该电子设备包括:处理器、存储器和总线;所述总线,用于连接所述处理器和所述存储器;所述存储器,用于存储操作指令;所述处理器,用于通过调用所述操作指令,可执行指令使处理器执行如本申请的第一方面所示的基于Gizmo系统的动作事件处理的方法对应的操作。第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的基于Gizmo系统的动作事件处理的方法。本申请提供的技术方案带来的有益效果是:在本专利技术实施例中,Gizmo系统接收指定的动作事件,该动作事件为对图形编辑器中任一图形的形状进行修改,该图形具有对应的原始数据,当动作事件结束后,通过调用Gizmo系统预设置的引擎接口对动作事件进行处理,得到改变后的图形对应的目标数据,以对图形进行修改。这样,通过预置的引擎接口,使得Gizmo系统可以通过抽象接口间接的调用游戏引擎的API,而本文档来自技高网
...

【技术保护点】
1.一种基于Gizmo系统的动作事件处理方法,其特征在于,包括:/n接收指定的动作事件;所述动作事件为对图形编辑器中任一Gizmo图形的形状进行修改,所述Gizmo图形具有对应的原始数据;/n当所述动作事件结束后,通过调用所述Gizmo系统预设置的引擎接口对所述动作事件进行处理,得到改变后的Gizmo图形对应的目标数据,以对Gizmo图形进行修改。/n

【技术特征摘要】
1.一种基于Gizmo系统的动作事件处理方法,其特征在于,包括:
接收指定的动作事件;所述动作事件为对图形编辑器中任一Gizmo图形的形状进行修改,所述Gizmo图形具有对应的原始数据;
当所述动作事件结束后,通过调用所述Gizmo系统预设置的引擎接口对所述动作事件进行处理,得到改变后的Gizmo图形对应的目标数据,以对Gizmo图形进行修改。


2.根据权利要求1所述的动作事件处理方法,其特征在于,所述Gizmo系统设置有Gizmo管理模块;
所述接收指定的动作事件的步骤,包括:
通过所述Gizmo管理模块接收所述动作事件。


3.根据权利要求2所述的动作事件处理方法,其特征在于,所述Gizmo系统设置有控制器模块,所述通过调用所述Gizmo系统预设置的引擎接口对所述动作事件进行处理,得到改变后的Gizmo图形对应的目标数据的步骤,包括:
通过调用所述Gizmo系统预设置的引擎接口确定所述动作事件对应的控制器模块,以及对应的Gizmo图形;
通过所述对应的控制器模块对所述动作事件中的动作事件数据进行处理,确定改变后的Gizmo图形对应的目标数据。


4.根据权利要求3所述的动作事件处理方法,其特征在于,所述Gizmo系统设置有Gizmo模块,所述通过所述对应的控制器模块对所述动作事件中的动作事件数据进行处理,确定改变后的Gizmo图形对应的目标数据的步骤,包括:
所述控制器模块依据所述动作事件数据,生成对应的差异数据;
所述Gizmo模块将所述原始数据与所述差异数据进行融合,得到所述目标数据。


5.根据权利要求1至4任一所述的动作事件处理方法,其特征在于,所述Gizmo系统还设置有形状控制器模块、调用组成控制器模块;
所述图形编辑器中的任一Gizmo图形通过如下方式生成:
当Gizmo管理模块确定待创建的图形的类型时,创建对应类型的Gizmo模块;
所述Gizmo模块创建对应的控制器模块;
采用所述形状控制器模...

【专利技术属性】
技术研发人员:郑瀚林顺
申请(专利权)人:厦门雅基软件有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1