CN117224944A - 虚拟对象的碰撞体的生成方法、装置和电子装置 - Google Patents

虚拟对象的碰撞体的生成方法、装置和电子装置 Download PDF

Info

Publication number
CN117224944A
CN117224944A CN202311348403.0A CN202311348403A CN117224944A CN 117224944 A CN117224944 A CN 117224944A CN 202311348403 A CN202311348403 A CN 202311348403A CN 117224944 A CN117224944 A CN 117224944A
Authority
CN
China
Prior art keywords
target
target grid
grid
virtual object
collision
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311348403.0A
Other languages
English (en)
Inventor
梁智劲
梁如栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202311348403.0A priority Critical patent/CN117224944A/zh
Publication of CN117224944A publication Critical patent/CN117224944A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请公开了一种虚拟对象的碰撞体的生成方法、装置和电子装置。该方法包括:在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。本申请解决了虚拟对象的碰撞体的生成效率低的技术问题。

Description

虚拟对象的碰撞体的生成方法、装置和电子装置
技术领域
本公开涉及图像处理领域,具体而言,涉及一种虚拟对象的碰撞体的生成方法、装置和电子装置。
背景技术
目前,为了更好地模拟出游戏中虚拟对象之间的物理碰撞以及触发响应等效果,通常需要在某些二维游戏制作过程中为虚拟对象生成对应的碰撞体。
在相关技术中,可以将虚拟对象的轮廓转换为多个多边形,通过多边形顶点相互连接来形成碰撞体;也可以通过手动在虚拟对象上创建简单形状(比如,矩形或圆形等),通过简单形状的组合体作为碰撞体。然而,若存在虚拟对象较为复杂的情况,通过上述两种方法生成碰撞体,需要编辑的顶点或简单形状较多,且需要反复调整位置和大小,使得编辑步骤变得繁琐。因此,仍存在虚拟对象的碰撞体的生成效率低的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开至少部分实施例提供了一种虚拟对象的碰撞体的生成方法、装置和电子装置,以至少解决虚拟对象的碰撞体的生成效率低的技术问题。
根据本公开其中一实施例,提供了一种虚拟对象的碰撞体的生成方法。该方法可以包括:在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。
根据本公开其中一实施例,还提供了一种虚拟对象的碰撞体的生成装置。该装置可以包括:显示单元,用于在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;确定单元,用于响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;生成单元,用于基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。
根据本公开其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟对象的碰撞体的生成方法。
根据本公开其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟对象的碰撞体的生成方法。
在本公开实施例中,在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。也就是说,本公开若需要对某一二维游戏场景中的虚拟对象创建碰撞体,则可以针对该虚拟对象创建目标网格,并可以在图形用户界面上对目标网格的图层以及待生成碰撞体的虚拟对象进行显示,可以按照相应的需求对目标网格中任意的网格单元执行选择操作进行选择,并可以将选择出的网格单元作为第一目标网格单元,并可以将选中的所有第一目标网格单元汇总在一个目标网格单元集中,也即,可以将目标网格单元集作为该虚拟对象在二维游戏场景中的碰撞体,由于考虑到可以通过目标网格来对虚拟对象的轮廓和所占范围进行显示,并且仅仅需要通过从网格单元中选定第一目标网格单元来生成碰撞体,从而简化了对顶点或简单形状进行修改的步骤,相比于手动在虚拟对象上创建简单形状等方式,达到了更加直观快速地确定出虚拟对象所在范围对应的碰撞体的目的,进而实现了达到提高虚拟对象的碰撞体的生成效率的技术效果,解决了虚拟对象的碰撞体的生成效率低的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是本公开实施例的一种虚拟对象的碰撞体的生成方法的移动终端的硬件结构框图;
图2是根据本公开其中一实施例的虚拟对象的碰撞体的生成方法的流程图;
图3是根据本公开其中一实施例的一种相关技术生成鱼的碰撞体的示意图;
图4是根据本公开其中一实施例的一种相关技术生成树的碰撞体的示意图;
图5是根据本公开其中一实施例的另一种相关技术生成鱼的碰撞体的示意图;
图6是根据本公开其中一实施例的为虚拟对象创建网格的示意图;
图7是根据本公开其中一实施例的遍历网格中每个格子的顺序的示意图;
图8是根据本公开其中一实施例的绘制碰撞体时图形用户界面的显示内容的示意图;
图9是根据本公开其中一实施例的清除碰撞体时图形用户界面的显示内容的示意图;
图10是根据本公开其中一实施例的生成碰撞体时图形用户界面的显示内容的示意图;
图11是根据本公开其中一实施例的碰撞体列表中包含的格子的示意图;
图12是根据本公开其中一实施例的遍历格子而确定的边缘线段的示意图;
图13是根据本公开其中一实施例的遍历完成后所得到的边缘结果的示意图;
图14是根据本公开其中一实施例的对边缘线段合并得到合并结果的示意图;
图15是根据本公开其中一实施例的根据碰撞体列表生成多边形碰撞体的示意图;
图16是根据本公开其中一实施例的基于格子尺寸编辑得到碰撞体的示意图;
图17是根据本公开其中另一实施例的基于格子尺寸编辑得到碰撞体的示意图;
图18是根据本公开实施例的一虚拟对象的碰撞体的生成装置的结构框图;
图19是根据本公开实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一种可能的实施方式中,在图像处理领域中,针对生成虚拟对象的碰撞体,通常是在虚拟对象上手动创建简单形状来生成碰撞体,也可以对虚拟对象的轮廓转换成多边形,对多边形的顶点相互连接来形成碰撞体。
但是,在发明人经过实践并仔细研究后发现,若游戏中的虚拟对象形状复杂时,采用上述方法手动创建的简单形状数量庞大,或者对轮廓转换成的多边形数量庞大,使得确定碰撞体的步骤繁琐且时间花费较长,从而存在虚拟对象的碰撞体的生成效率低的技术问题。基于此,本公开实施例提出了一种虚拟对象的碰撞体的生成方法,可以应用于在游戏中对虚拟对象进行处理,生成对应碰撞体场景下,该方法若需要对某一二维游戏场景中的虚拟对象创建碰撞体,则可以针对该虚拟对象创建目标网格,并可以在图形用户界面上对目标网格的图层以及待生成碰撞体的虚拟对象进行显示,可以按照相应的需求对目标网格中任意的网格单元执行选择操作进行选择,并可以将选择出的网格单元作为第一目标网格单元,并可以将选中的所有第一目标网格单元汇总在一个目标网格单元集中,也即,可以将目标网格单元集作为该虚拟对象在二维游戏场景中的碰撞体,由于考虑到可以通过目标网格来对虚拟对象的轮廓和所占范围进行显示,并且仅仅需要通过从网格单元中选定第一目标网格单元来生成碰撞体,从而简化了对顶点或简单形状进行修改的步骤,相比于手动在虚拟对象上创建简单形状等方式,达到了更加直观快速地确定出虚拟对象所在范围对应的碰撞体的目的,进而实现了达到提高虚拟对象的碰撞体的生成效率的技术效果,解决了虚拟对象的碰撞体的生成效率低的技术问题。
根据本公开其中一实施例,提供了一种虚拟对象的碰撞体的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD、游戏机等终端设备。图1是本公开实施例的一种虚拟对象的碰撞体的生成方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述移动终端还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的虚拟对象的碰撞体的生成方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟对象的碰撞体的生成方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备108中的输入可以来自多个人体学接口设备(Human InterfaceDevice,简称为HID)。例如:键盘和鼠标、游戏手柄、其他专用游戏控制器(如:方向盘、鱼竿、跳舞毯、遥控器等)。部分人体学接口设备除了提供输入功能之外,还可以提供输出功能,例如:游戏手柄的力反馈与震动、控制器的音频输出等。
显示设备110可以例如平视显示器(HUD)、触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本领域技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
在一种可能的实施方式中,本公开实施例提供了一种虚拟对象的碰撞体的生成方法,图2是根据本公开其中一实施例的虚拟对象的碰撞体的生成方法的流程图,如图2所示,该方法可以包括如下步骤:
步骤S202,在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体。
在本公开上述步骤S202提供的技术方案中,若需要生成二维游戏场景中的虚拟对象的碰撞体,则可以添加所需生成碰撞体的虚拟对象,并可以添加相应的目标网格,从而可以将虚拟对象和目标网格显示在图形用户界面上,其中,图形用户界面可以为用于开发二维(Two-Dimensional,简称为2D)游戏的工作人员进行信息交互的界面,比如,可以为客户端中的游戏引擎(Unity)的图形用户界面。游戏引擎中可以包括物理引擎。物理引擎可以用来生成碰撞体。目标网格用于生成虚拟对象的碰撞体,可以简称为网格或格子,可以为预设尺寸或者根据实际生成碰撞体的需求生成的网格,其中包含多个尺寸相同的正方形单元。二维游戏场景可以为游戏中虚拟对象均为二维的场景,比如,可以为跑跑狼模组编辑器游戏中的场景,此处仅为举例说明,不对生成碰撞体的二维游戏做具体限制。虚拟对象为二维游戏场景中显示的二维虚拟对象,比如,可以为鱼、石头或树木等虚拟物体,此处仅为举例说明,不对虚拟对象的具体形象做限制。
可选地,在开发某一二维游戏的过程中,若需要编辑该二维游戏场景中所显示的虚拟对象的碰撞体,则可以将所要编辑的虚拟对象以及相应的目标网格均添加到游戏引擎的图形用户界面上,添加成功则可以对该虚拟对象以及目标网格进行显示。
可选地,对图形用户界面上所显示的虚拟对象以及目标网格可以区分图层,比如,虚拟对象可以显示在图形用户界面上的第一图层,若需要生成虚拟对象的碰撞体,则可以在图形用户界面上的第二图层上添加并显示目标网格,也即,目标网格可以显示在图形用户界面上的第二图层,其中,第一图层可以用于添加二维游戏场景中的虚拟对象。第二图层可以用于添加目标网格。第一图层与第二图层的先后顺序不做具体限制。
可选地,先将所要编辑的虚拟对象添加到游戏引擎的图形用户界面的第一图层上,添加成功则可以将该虚拟对象显示在第一图层上。若需要编辑虚拟对象的碰撞体,可以直接在游戏引擎的图形用户界面的第二图层上创建预设尺寸大小的目标网格,也可以按照开发游戏过程中对生成的碰撞体的精度等需求,向图形用户界面输入所要创建的目标网格的尺寸等数据,来生成符合需求的目标网格,并创建到第二图层上。需要说明的是,上述创建目标网格并显示在第二图层上的过程及目标网格尺寸的设置方式仅为举例说明,此处不做具体限制。
举例而言,若需要对二维游戏场景中的虚拟对象生成碰撞体,则在游戏引擎的显示界面上点击“编辑碰撞”的控件来进入添加虚拟对象的界面。该实施例可以拖动虚拟对象的图像至第一图层中或者点击“添加虚拟对象”的控件等方式,来添加所要生成碰撞体的虚拟对象,并成功显示在第一图层上。也可以通过拖动目标网格至第二图层中或者点击“添加目标网格”的控件等方式,来添加目标网格,并成功显示在第二图层上。
需要说明的是,该实施例的上述在第一图层上添加并显示虚拟对象以及在第二图层上添加并显示目标网格的过程和方法仅为举例说明,此处不做具体限制。
在本公开实施例中,并不强调第一图层和第二图层生成的先后顺序,也就是说,既可以先添加虚拟对象,显示在第一图层上,并可以在第一图层的上方创建出显示目标网格的第二图层。也可以先创建目标网格,显示在第二图层上,并可以在第二图层的上方创建出显示虚拟对象的第一图层,只要使得创建出的第一图层与第二图层中的目标网格与虚拟对象之间存在重叠区域即可,不对上述两个步骤的先后做具体限制。
步骤S204,响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集。
在本公开上述步骤S204提供的技术方案中,在图形用户界面中创建并显示出虚拟对象以及目标网格之后,可以对目标网格中的任意网格单元执行选择操作,当图形用户界面接收到相应的选择操作,可以将选择出的网格单元确定为第一目标网格单元,并可以将选择出的目标网格单元记录在目标网格单元集中,其中,第一目标网格单元在图层用户界面中目标网格单元的显示区域中至少存在部分显示区域,能够与虚拟对象在图形用户界面的显示区域中的至少部分显示区域相对应。目标网格单元集可以为碰撞体列表。
可选地,在图形用户界面中显示出第一图层和第二图层之后,可以开始绘制第一目标网格单元的过程,也即,开启绘制状态,此时,可以根据开发二维游戏过程中工作人员的设计需求,根据第一图层上的虚拟对象与第二图层上的目标网格单元中格子之间的关系,从目标网格中所有格子中选择出满足设计需求的格子,将所有满足设计需求的格子确定为第一目标网格单元,并纳入目标网格单元集中,用来生成满足设计需求的碰撞体。
举例而言,若设计需求为通过目标网格中所有格子中的与虚拟对象存在重叠区域的格子生成碰撞体,则可以按照该需求,在绘制过程中,将与虚拟对象存在重叠区域的格子绘制为第一目标网格单元,将所有第一目标网格单元汇总入碰撞体列表中,其中,此时第一目标网格单元可以在第二图层上的显示区域中至少存在部分显示区域与虚拟对象在第一图层上的显示区域中的至少部分显示区域存在重合的情况,第一目标网格单元可以为与虚拟对象存在重合区域(重叠区域)的目标网格中的正方形单元。
需要说明的是,上述绘制过程中从网格单元的所有格子选取第一目标网格单元的方式以及所选第一目标网格单元满足的设计需求仅为举例说明,此次不做具体限制。在本公开实施例中,不一定仅将与虚拟对象存在重叠区域的格子绘制为第一目标网格单元,还可以根据设计需求对目标网格上的任意格子绘制为第一目标网格单元。也即,只要是在目标网格上绘制出碰撞体列表的过程和方法,均在本发明实施例的保护范围之内。
举例而言,可以通过点击游戏引擎中的“填充”按钮,来进入绘制状态,此时可以对第一目标网格单元进行绘制。例如,可以通过点击与虚拟对象存在重叠区域的第一目标网格单元,即可以更改该第一目标网格单元的颜色,使得第一目标网格单元与目标网格中除第一目标网格单元的格子进行区分,并将更改过颜色的第一目标网格单元添加入碰撞体列表中。需要说明的是,上述选择第一目标网格单元的过程和方法仅为举例说明,此处不做具体限制。只要是通过目标网格中的第一目标网格单元与虚拟对象之间的重叠区域,确定虚拟对象的碰撞体的过程和方法,均在本公开实施例的保护范围之内。
需要说明的是,目标网格中的网格单元既可以是正方形的,也可以设置为长方形的,也即,可以通过指定长方形的长和宽实现与正方形的网格单元类似的功能。本公开实施例仅以正方形的网格单元为例,但是不对网格单元的形状做具体限制,不论网格单元的形状是正方形还是长方形,生成碰撞体的过程和方法相似。
由于仅通过将虚拟对象的轮廓转换为一系列多边形,再将多边形的顶点相互连接生成碰撞体,虽然该方法得到的碰撞体较为精确,但是碰撞体的顶点和形状较多的话,会使得生成过程繁琐复杂,且若碰撞体的某一顶点不满足需求时,需要手动对该顶点进行编辑,编辑过程中往往会影响旁边多边形的形状,从而导致增加编辑复杂度并且耗时的问题。然而,在本公开实施例中,仅需要对虚拟对象创建目标网格,确定虚拟对象与目标网格中的各个格子之间是否存在重叠区域,将存在重叠区域的格子确定为第一目标网格单元,并进行选择操作,将所有的第一目标网格单元确定为碰撞体列表。从而简化了编辑碰撞体的过程,仅通过简单的操作就可以指定碰撞体的范围和形状,达到了减小操作复杂度的目的,进而实现了提高对碰撞体进行编辑的效率的技术效果。
步骤S206,基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。
在本公开上述步骤S208提供的技术方案中,在将选择出的第一目标网格单元确定为目标网格单元集之后,可以基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集在第二图层上的显示区域的形状相对应。碰撞体也可以称为2D边缘碰撞体或者多边形碰撞体。
可选地,在确定出目标网格单元集之后,可以基于目标网格单元集,生成与之形状相对应的碰撞体,比如,基于目标网格单元集,生成与之形状相同的碰撞体。
可选地,在生成与目标网格单元集形状一致的碰撞体的过程中,可以从目标网格单元集中确定出能够包围目标网格单元集中所有第一目标网格单元的边缘线段,并可以对能够合并的边缘线段进行合并,所有边缘线段所围成的封闭多边形,就是虚拟对象对应的碰撞体。
举例而言,可以预先在游戏引擎中配置对目标网格单元集的边缘线段进行确定和合并等流程的程序。从而在对第一目标网格单元进行绘制得到碰撞体列表之后,可以点击图形用户界面上的“生成碰撞”控件,来基于碰撞体列表,自动触发相应的程序来对碰撞体列表的所有线段进行遍历和判断,确定是否为边缘线段,并可以确定边缘线段是否能够合并,从而得到碰撞体的轮廓,并生成与目标网格单元集一致的碰撞体。需要说明的是,上述基于目标网格单元集生成碰撞体的过程和操作方式仅为举例说明,此处不做具体限制。只要是对虚拟对象建立目标网格,按照设计需求从目标网格中选中用来生成碰撞体的格子,并按照碰撞体列表对应的轮廓和形状确定碰撞体的过程和方法,均在本公开实施例的保护范围之内。
由于仅通过手动在虚拟对象上创建简单形状来组合出碰撞体的方法来生成碰撞体,若所创建的简单形状较少时,会使得组成的形状不够准确,而若所创建的简单形状较多时,会使得编辑的步骤变多,且在编辑单个简单形状的过程中,需要不断调整位置和大小,从而会导致编辑效率降低的情况,因此,仍存在对碰撞体进行编辑的效率低的技术问题。然而,在本公开实施例中,仅仅可以确定目标网格中的每个格子与虚拟对象之间是否存在显示区域的重合,若是,则可以将相应的格子确定为第一目标网格单元。将所有的第一目标网格单元用来生成碰撞体的碰撞体列表,并可以从碰撞体列表中确定出最边缘一圈用来显示碰撞体轮廓的边缘线段,并可以将同一行或者同一列的边缘线段进行合并等处理,生成最终的碰撞体。由于开发游戏的工作人员仅需要通过简单的点击操作来生成碰撞体对应的碰撞体列表,并可以通过预设的程序或算法等来自动确定碰撞体列表的边缘线段以及碰撞体的轮廓,简化了工作人员的操作难度及操作时间,解决了对碰撞体进行编辑的效率低的技术问题。
通过上述步骤S202至S206,若需要对某一二维游戏场景中的虚拟对象创建碰撞体,则可以针对该虚拟对象创建目标网格,并可以在图形用户界面上对目标网格的图层以及待生成碰撞体的虚拟对象进行显示,可以按照相应的需求对目标网格中任意的网格单元执行选择操作进行选择,并可以将选择出的网格单元作为第一目标网格单元,并可以将选中的所有第一目标网格单元汇总在一个目标网格单元集中,也即,可以将目标网格单元集作为该虚拟对象在二维游戏场景中的碰撞体,由于考虑到可以通过目标网格来对虚拟对象的轮廓和所占范围进行显示,并且仅仅需要通过从网格单元中选定第一目标网格单元来生成碰撞体,从而简化了对顶点或简单形状进行修改的步骤,相比于手动在虚拟对象上创建简单形状等方式,达到了更加直观快速地确定出虚拟对象所在范围对应的碰撞体的目的,进而实现了达到提高虚拟对象的碰撞体的生成效率的技术效果,解决了虚拟对象的碰撞体的生成效率低的技术问题。
下面对本公开实施例的上述方法进行进一步介绍。
作为一种可选的实施例,步骤S202,在图形用户界面上,显示基于虚拟对象创建的目标网格,包括:向虚拟对象创建网格对象,其中,网格对象为虚拟对象的子对象;在图形用户界面上,显示基于网格对象创建的目标网格。
在该实施例中,可以向虚拟对象创建网格对象,并可以基于网格对象在图形用户界面上创建并显示目标网格,其中,网格对象(mesh对象)可以为虚拟对象的子对象,可以用于在第二图层显示目标网格。
可选地,为目前所要编辑的虚拟对象可以创建一个mesh对象,用于在图形用户界面的第二图层显示目标网格,以及生成和保存碰撞体。
作为一种可选的实施例,图形用户界面包括第一图层和第二图层,该方法还包括:至少基于虚拟对象在第一图层上的显示区域,确定目标网格的绘制参数,其中,目标网格在第二图层上的显示区域中至少部分显示区域,与虚拟对象在第一图层上的显示区域重合;在图形用户界面,显示基于网格对象创建的目标网格,包括:在图形用户界面的第二图层上,将绘制参数添加至网格对象,以绘制出目标网格。
在该实施例中,可以至少基于虚拟对象在第一图层上的显示区域,确定出目标网格的绘制参数,并可以将绘制参数添加到网格对象中来在第二图像上绘制出对应的目标网络,其中,目标网格在第二图层上的显示区域中至少部分显示区域,可以与虚拟虚拟对象在第一图层上的显示区域重合。
可选地,在向虚拟对象创建出网格对象之后,可以按照虚拟对象在第一图层上的显示区域,来确定所要绘制的目标网格的绘制参数,比如,目标网格的尺寸大小、目标网格中每个顶点的坐标以及每个顶点的法线等参数进行确定,并可以将确定出的绘制参数添加在网格对象中,从而能够绘制出符合绘制参数的能够与虚拟对象存在重合区域的目标网格。需要说明的是,上述的绘制参数仅为举例说明,此处不做具体限制。
作为一种可选的实施例,至少基于虚拟对象在第一图层上的显示区域,确定目标网格的绘制参数,包括:基于虚拟对象在第一图层上的显示区域和碰撞体的精度,确定目标数量的网格单元,其中,目标数量的网格单元用于构成目标网格;确定网格单元的绘制参数。
在该实施例中,可以基于虚拟对象在第一图层上的显示区域和碰撞体的精度,确定出目标数量的网格单元,并可以基于该显示区域以及碰撞体的精度,确定出网格单元的绘制参数,其中,目标数量的网格单元可以用于构成目标网格。网格单元可以为目标网格中的最小单元,也即,目标网格中的每个格子。
可选地,根据开发游戏过程中对虚拟对象所要生成的碰撞体的精度以及虚拟对象所在第一图层的显示区域的大小等需求,可以对目标网格中每个网格单元的尺寸等绘制参数进行调整,从而生成满足上述需求的目标数量个网格单元,得到相应的满足需求的绘制参数,便于得到满足需求的碰撞体。
作为一种可选的实施例,网格单元的绘制参数包括以下至少之一:顶点位置、顶点法线、顶点颜色、顶点纹理坐标和三角面信息。
在该实施例中,网格单元的绘制参数可以包括如下至少之一:顶点位置、顶点法线、顶点颜色、顶点纹理坐标以及三角面信息等参数,其中,顶点位置可以通过组成网格单元的四个顶点的坐标进行表示。顶点法线可以用于表示每个网格单元的顶点的方向。顶点颜色可以用于表征对应的网格单元是否在碰撞体列表中。顶点纹理坐标也可以称为纹理贴图坐标(UV坐标)。三角面信息可以为每个网格单元对应的三角面顶点的编号,其中,在本公开实施例中,可以设置网格单元的四个顶点的方向都朝向屏幕外,因此,四个顶点的顶点法线是相同的。
可选地,在向虚拟对象创建网格对象之后,可以开始遍历网格对象中每个网格单元,假设指定的网格对象有m列n行,可以从其中的网格单元(0,0)开始,遍历到网格单元(m-1,n-1)。
举例而言,在本公开实施例中,以m列n行的网格对象为例,可以将网格对象的左下角的第一个网格单元作为(0,0),也即,作为遍历的起点,从左往右由下至上采用“S”型遍历顺序,遍历至最后一个网格单元(m-1,n-1),也即,遍历的终点。需要说明的是,上述定义每个网格单元的原点位置以及遍历所有网格单元的顺序仅为举例说明,此处不做具体限制。
可选地,在遍历每个网格单元的过程中,可以确定每个网格单元的绘制参数。
可选地,将整个网格对象的原点位置可以定为左下角,并可以根据单个网格单元的尺寸,来确定每个网格单元的原点位置,其中,正方形的网格单元的尺寸可以为网格单元的边长,可以设边长为s。比如,假设当前遍历的列数为x,当前遍历的行数为y,则每个网格单元的原点坐标可以确定为:整个网格对象原点坐标+(x*s,y*s,0)。
可选地,由于网格单元是正方形的,可以进一步确定出每个网格单元的四个顶点的顶点位置,也即,顶点坐标。网格单元的左下角坐标即为上述确定得到的每个网格单元的原点坐标整个网格对象原点坐标+(x*s,y*s,0)。网格单元的左上角顶点的坐标可以确定为:网格单元原点坐标+(0,s,0)。网格单元的右上角顶点的坐标可以确定为:网格单元原点坐标+(s,s,0)。网格单元的右下角顶点的坐标可以确定为:网格单元原点坐标+(s,0,0)。在确定出每个网格单元的四个顶点的顶点坐标之后,可以将其存储至顶点列表中。
可选地,在遍历的过程中,可以设置所遍历到的网格单元的四个顶点的顶点法线均为(0,0,1)。由于遍历过程中每个网格单元都是正方形,且有四个顶点,每个顶点的法线都要设置,否则无法正常显示。且在本公开实施例中,由于所使用到的游戏引擎的渲染空间是三维空间,为了让整个网格对象朝向屏幕外,需要设置四个顶点的方向都朝向屏幕外,而设置的法线即代表的是对应顶点的朝向。并在遍历完所有网格单元之后,可以将所有的顶点法线存储至法线列表中。
在本公开实施例中,为了便于记录从最终的目标网格中的所有网格单元中选择出的目标网格单元是哪些,以及调整目标网格单元的颜色,可以预先在遍历每个网格单元的过程中,为每个网格单元进行编号,网格单元的编号=y*m+x。
可选地,在遍历网格单元的过程中,可以设置相应网格单元的四个顶点的顶点颜色,并判断该网格单元的编号是否在碰撞体列表中,若在碰撞体列表中,则可以将该网格单元的四个顶点的顶点颜色设置为第一特定颜色,反之,则可以将该网格单元的四个顶点的顶点颜色设置为第二特定颜色。然后将网格单元的四个顶点的顶点颜色均存储至颜色列表中,其中,在本公开实施例中,第一特定颜色可以为绿色,第二特定颜色可以为灰色。需要说明的是,此处不对是否在碰撞体列表中的顶点颜色做具体限制,只要是能够区分上述两种情况的颜色均可。
可选地,在遍历网格单元的过程中,可以设置每个网格单元的四个顶点的顶点UV坐标。可以将网格单元的左下角顶点的UV坐标设置为(0,0);可以将网格单元的左上角顶点的UV坐标设置为(0,1);可以将网格单元的右上角顶点的UV坐标设置为(1,1);可以将网格单元的右下角顶点的UV坐标设置为(1,0)。在遍历完所有网格单元之后,可以将所有网格单元的四个顶点UV坐标存储至UV坐标列表中。
可选地,在遍历网格单元的过程中,可以设置每个网格单元对应的三角面信息,也即,三角面顶点,由于每个网格单元均是正方形,所以网格单元对应两个三角面即可。其中一个三角面的三个顶点分别为:当前网格单元的左下角顶点、左上角顶点以及右上角顶点。其中另一个三角面的三个顶点分别为当前网格单元的左下角顶点、右上角顶点以及右下角顶点。在遍历结束之后,可以将网格单元的两个三角面的六个三角面顶点存储至三角面顶点列表中,其中,左下角顶点的顶点索引(index)为网格单元编号*4;左上角顶点的顶点索引为网格单元编号*4+1;右上角顶点的顶点索引为网格单元编号*4+2;右下角顶点的顶点索引为网格单元编号*4+3。
可选地,在遍历结束所有的网格单元之后,可以将上述过程确定出的顶点列表、法线列表、颜色列表、UV坐标列表以及三角面顶点列表设置到新建的网格对象中,即可绘制出目标网格。
作为一种可选的实施例,该方法还包括:响应于对网格单元的尺寸的调整操作,调整碰撞体的精度。
在该实施例中,当图形用户界面检测到对网格单元的尺寸进行调整的调整操作时,可以生成相应的调整指令来对调整网格单元的尺寸,从而对碰撞体的精度进行调整。
可选地,若开发游戏的工作人员存在需要对碰撞体的精度进行调整的需求,则工作人员仅需在图形用户界面上进行对网格单元的尺寸调整的调整操作,比如,若需要减小碰撞体的精度,则可以对目标网格中的网格单元的边长进行调大操作,通过减少目标网格单元集中第一目标网格单元的个数,来达到减小碰撞体的精度的目的。若需要增大碰撞体的精度,则可以对目标网格中的网格单元的边长进行调小操作,通过增多目标网格单元集中第一目标网格单元的个数,来达到增大碰撞体的精度的目的。
当考虑到对碰撞体的精度等需求时,会对生成碰撞体过程中的步骤产生一定的影响,比如,若需要保证碰撞体的精度很高,则相关技术中需要通过大量的简单形状来组成碰撞体,或者需要通过大量的多边形对虚拟对象的轮廓进行转换,而上述过程需要消耗大量的开发游戏时间以及人力成本,因此,仍存在碰撞精度难以控制的技术问题。然而,在本公开实施例中,若需要调整碰撞体的精度,仅需要调整目标网格中网格单元的尺寸即可,从而为开发游戏的工作人员提供了一种简单且可控的调整碰撞体精度的方式。工作人员只需要在游戏引擎中的相应位置填写或输入一个关于网格单元的尺寸对应的数值,就可以调整精度,进而解决了碰撞精度难以控制的技术问题。
作为一种可选的实施例,步骤S204,响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集,包括:响应于对目标网格的选择操作,将选择出的第一目标网格单元的初始显示信息调整为目标显示信息;将具有目标显示信息的第一目标网格单元,确定为目标网格单元集的元素。
在该实施例中,当检测到对目标网格的选择操作时,可以选择出第一目标网格单元,并可以将第一目标网格单元的初始显示信息调整为目标显示信息,并可以将调整之后具有目标显示信息的第一目标网格单元确定为目标网格单元集的元素,其中,初始显示信息可以用于表示不在碰撞体列表时网格单元的显示信息,可以为不在碰撞体列表中的网格单元的颜色信息,比如,灰色。目标显示信息可以用于表示将网格单元选中为第一目标网格单元,也即,在选入碰撞体列表时的网格单元的显示信息,可以为在碰撞体列表中的第一目标网格单元的颜色信息,比如,绿色。选择操作可以为点击网格单元的操作。
可选地,在工作人员在图形用户界面上进行相关操作,进入绘制碰撞体状态时,此时就可以对目标网格中的网格单元进行绘制。通过对于虚拟对象存在重合区域的网格单元执行选择操作,可以更改该网格单元的初始显示信息,也即,可以更改该网格单元的颜色,若选中该网格对象,可以将该网格单元的颜色从灰色调整为绿色,此时该网格单元变为第一目标网格单元,并确定为目标网格单元集中的一个元素。
举例而言,当工作人员需要开始绘制碰撞体时,也即,从目标网格中选择出第一目标网格单元时,可以点击图形用户界面中的“填充”控件,进入绘制状态。此时就可以对网格单元进行绘制。可以通过点击该网格单元,即可更改该网格单元的颜色,来表示该网格单元被选中,同时将该网格单元加入到碰撞体列表中。
作为一种可选的实施例,将具有目标显示信息的第一目标网格单元,确定为目标网格单元集的元素,包括:确定具有目标显示信息的第一目标网格单元的标识信息;将标识信息,确定为目标网格单元集的元素。
在该实施例中,可以确定具有目标显示信息的第一目标网格单元的标识信息,并将标识信息加入到目标网格单元集中,来作为目标网格单元集中的一个元素,其中,网格单元的标识信息可以为该网格单元的编号。
可选地,当对图形用户界面中的网格单元进行选择操作时,比如,当通过鼠标点击游戏引擎的屏幕时,可以将图形用户界面上的坐标转换为二维游戏场景所在的游戏世界中的坐标,再将游戏世界中的坐标转换为网格对象的本地坐标,也即,得到鼠标位置相对于网格单元的原点的坐标,也可以称为相对坐标。
可选地,通过相对坐标除以网格单元的边长,再向下取整,即可得到被选择(点击)的网格单元的所在行和列,其中,可以将被点击的网格单元的行设为indexY,可以将列设为indexX。
可选地,根据被点击的网格单元的所在行和列,可以确定该网格单元的编号。具体地,被点击的网格单元的编号=indexY*m+indexX,其中,m可以用于表示目标网格中的列数。
可选地,将上述确定出的被点击的网格单元的编号,也即,第一目标网格单元的编号,可以加入碰撞体列表中,作为碰撞体列表中的一个元素。并可以将该网格单元的四个顶点的颜色修改为绿色,使得该网格单元在第二图层中显示为绿色。
作为一种可选的实施例,步骤S204,响应于对目标网格的选择操作,将选择出的至少一第一目标网格单元确定为目标网格单元集,包括:响应于对目标网格的选择操作,分别将从目标网格中选择出的多个第二目标网格单元的初始显示信息,调整为目标显示信息;响应于对目标网格的取消操作,将从多个第二目标网格单元中取消选择的至少一第三目标网格单元的目标显示信息,调整为初始显示信息,且将具有目标显示信息的第一目标网格单元,确定为目标网格单元集的元素。
在该实施例中,当检测到图形用户界面上的对目标网格中的选择操作,分别将选择出的多个第二目标网格单元的初始显示信息调整为目标显示信息。若需要对已经调整为目标显示信息的第三目标网格单元调整为初始显示信息,可以在图形用户界面上对相应的网格单元执行取消选择操作,基于该取消选择操作对应的指令,可以选中的将第三目标网格单元的目标显示信息重新调整为初始显示信息,并可以将具有目标显示信息的第一目标网格单元,确定为目标网格单元集的元素,其中,第二目标网格单元可以包括第一目标网格单元,可以为具有初始显示信息的格子。
可选地,在从第二目标网格单元中确定第一目标网格单元的过程中,可以在图形用户界面上执行选择操作来从第二目标网格单元选择出目标网格单元集中所要存储的第一目标网格单元。比如,可以通过点击图形用户界面上的“填充”按钮,进入绘制状态。此时可以通过点击与虚拟对象存在重合区域的第二目标网格单元,来将其颜色从灰色调整为绿色,即为选中该第二目标网格单元,并将其存储在碰撞体列表中。
可选地,在上述绘制过程中,若所选中的第一目标网格单元不满足工作人员的设计需求,比如,当存在误将某一未与虚拟对象存在重合区域的网格单元选中为第一目标网格单元的情况时,可以在图形用户界面上执行取消选择操作,进入清除状态,此时就可以对具有目标显示信息的第二目标网格单元进行清除。通过选择第二目标网格单元中的某一第三目标网格单元,可以将目标显示信息调整为初始显示信息,并将该第三目标网格单元从目标网格单元集中移除。比如,可以通过点击“擦掉”按钮,进入清除状态,此时就可以对绿色的第三目标网格单元进行清除。可以点击绿色的格子,则可以取消该第三网格单元的绿色,调整为灰色,并可以将该第三网格单元从碰撞体列表中移除。
在本公开实施例中,可以通过上述步骤对碰撞体列表中并未与虚拟对象存在重合区域的网格单元进行清除,从而保证最终碰撞体列表中所存储的网格单元均与虚拟对象存在重合区域,来达到提高碰撞体列表的准确性,进而实现了提高基于碰撞体列表生成碰撞体的准确性高的技术效果。
在通过现有技术生成碰撞体的过程中,当生成的碰撞体不满足需求时,则需要手动对碰撞体的顶点进行编辑,由于顶点的数量较多,需要编辑的顶点也很多,且由于顶点是公用的,修改一个顶点会影响到周围的形状,从而导致编辑时难以控制形状,增加编辑复杂度和耗时,因此,仍存在生成碰撞体的效率低的技术问题。然而,在本公开实施例中,仅仅需要对碰撞体列表中不满足需求的网格单元的绿色调整为灰色,即可完成对碰撞体的修正,并不会影响周围其他网格单元,通过简单地点击网格单元对颜色进行调整的步骤,则可以保证碰撞体的准确性,从而实现了提高生成碰撞体的效率的技术效果。
可选地,当执行取消选择操作时鼠标点击相应网格单元时,可以将鼠标的屏幕坐标转换为二维游戏世界中的坐标,再将二维游戏世界中的坐标转换为网格对象的本地坐标,即鼠标相对于网格单元的原点坐标,也可以称为相对坐标。
可选地,通过相对坐标除以网格单元的边长,再向下取整,即可得到被点击(取消选择)的网格单元的所在行和列,其中,所在行可以设为indexY,列可以设为indexX。
可选地,利用取消选择的网格单元的所在行和列,可以计算该网格单元的编号。具体地,当前被点击的网格单元的编号=indexY*m+indexX,其中,m可以用于表示目标网格中网格单元的列数。
可选地,将该网格单元的编号可以从碰撞体列表中移除,并可以将该网格单元的四个顶点的颜色从绿色修改为灰色,使该网格单元显示为灰色。
作为一种可选的实施例,步骤S206,基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,包括:获取目标网格单元集中第一目标网格单元的线段集,其中,线段集中的线段用于表示第一目标网格单元的边;在至少一第一目标网格单元对应的至少一线段集中,确定多条边缘线段,其中,边缘线段用于确定目标网格单元集在图形用户界面上的显示区域;基于多条边缘线段生成碰撞体。
在该实施例中,可以获取出目标网格单元集中第一目标网格单元的线段集,从第一目标网格单元中确定出第一目标网格单元的边缘线段,并可以通过所有第一目标网格单元的边缘线段,生成相应的碰撞体,其中,线段集中的线段可以用于表示围成相应第一目标网格单元的四条边。边缘线段可以用于确定目标网格单元集在第二图层上的显示区域,也即,可以用来确定碰撞体的范围。边缘线段可以包括水平边缘线段和垂直边缘线段。
可选地,在基于目标网格单元集来生成碰撞体的过程中,可以从目标网格单元找到处在目标网格单元在第二图层所处显示区域边缘的边缘线段。在找到边缘线段后,可以对能够合并的边缘线段进行合并,来去除多余线段以及多余顶点,从而生成最终的碰撞体。
在本公开实施例中,在生成碰撞体的过程中,可以对目标网格单元集中的边缘线段进行合并和连接,从而去除了多余的线段和顶点,达到了有效减少最终生成的碰撞体的顶点的个数的目的,进而实现了有效降低客户端的性能消耗的技术效果。
可选地,在从目标网格单元集中确定边缘线段的过程中,可以从目标网格单元集中获取所有具有目标显示信息的第一目标网格单元的标识信息。比如,可以从碰撞体列表中获取所有绿色格子的编号。
可选地,对所有具有目标显示信息的第一目标网格单元进行遍历,在此过程中,可以逐一判断当前遍历到的第一目标网格单元的上下左右四条边是否为边缘线段。
举例而言,可以通过如下步骤来判断当前遍历的第一目标网格单元的上边是否为边缘线段:若当前第一目标网格单元位于整个目标网格的最上方一行,或者当前第一目标网格单元上方的格子不在碰撞体列表中,则可以将当前的第一目标网格单元的上边标记为边缘线段,并可以将该线段添加到水平边缘线段列表中。可以通过如下步骤来判断当前遍历的第一目标网格单元的下边是否为边缘线段:若当前第一目标网格单元位于整个目标网格的最下方一行,或者当前第一目标网格单元下方的格子不在碰撞体列表中,则可以将当前的第一目标网格单元的下边标记为边缘线段,并可以将该线段添加到水平边缘线段列表中。
再举例而言,可以通过如下步骤来判断当前遍历的第一目标网格单元的左边是否为边缘线段:若当前第一目标网格单元位于整个目标网格的最左侧一列,或者当前第一目标网格单元左侧的格子不在碰撞体列表中,则可以将当前的第一目标网格单元的左边标记为边缘线段,并可以将该线段添加到垂直边缘线段列表中。可以通过如下步骤来判断当前遍历的第一目标网格单元的右边是否为边缘线段:若当前第一目标网格单元位于整个目标网格的最右侧一列,或者当前第一目标网格单元右侧的格子不在碰撞体列表中,则可以将当前第一目标网格单元的右边标记为边缘线段,并可以将该线段添加到垂直边缘线段列表中。
作为一种可选的实施例,基于多条边缘线段生成碰撞体,包括:在多条边缘线段中,对处于相同方向且顶点重合的多条目标边缘线段进行合并;基于合并后的多条边缘线段生成碰撞体。
在该实施例中,在目标网格单元集中的多条边缘线段中,可以对处在相同方向且边缘线段的顶点重合的边缘线段确定为目标边缘线段,并可以将其进行合并处理,并可以基于合并后的边缘线段生成碰撞体。
可选地,在确定出目标网格单元集中的边缘线段之后,可以发现相连接的水平边缘线段可以合并成一条较长的水平边缘线段,也可以对相连接的垂直边缘线段合并成一条较长的垂直边缘线段。也即,可以将方向相同并且有一个相同顶点的多个水平边缘线段或者垂直边缘线段进行合并处理,来减少顶点数量及边缘线段数量。
作为一种可选的实施例,在多条边缘线段中,对处于相同方向且顶点重合的多条目标边缘线段进行合并,包括:在多条边缘线段中,对处于垂直方向且顶点重合的多条第一边缘线段进行合并;和/或,在多条边缘线段中,对处于水平方向且顶点重合的多条第二边缘线段进行合并。
在该实施例中,在多条边缘线段中,若边缘线段中存在垂直方向上且顶点重合的多个第一边缘线段,可以对第一边缘线段进行合并处理。若边缘线段中存在水平方向上且顶点重合的多个第二边缘线段,则可以对第二边缘线段进行合并处理,其中,第一边缘线段也可以称为垂直边缘线段或垂直线段,可以存储在垂直边缘线段列表中。第二边缘线段也可以称为水平边缘线段或水平线段,可以存储在水平边缘线段列表中。
可选地,在对方向相同并且有一个相同顶点的边缘线段进行合并的过程中,可以分别遍历垂直边缘线段列表中的所有垂直边缘线段以及水平边缘线段列表中所有水平边缘线段。
可选地,对于每个水平边缘线段或者垂直边缘线段,可以再遍历并比较当前的水平边缘线段或者垂直边缘线段与对应的列表中的其他线段,判断它们是否处在同一水平轴或者同一垂直轴上。对于水平边缘线段,若两个水平边缘线段的四个顶点的y坐标一致,则可以表示它们在同一水平轴上。对于垂直边缘线段,若两个垂直边缘线段的四个顶点的x坐标一致,则可以表示它们在同一垂直轴上。
可选地,若上述过程中,确定出两个边缘线段在同一水平轴或者同一垂直轴上,可以再进一步检查这两个边缘线段的顶点是否重合。若重合,则可以合并这两个边缘线段称为一条更长的边缘线段,然后从对应的水平边缘线段列表或者垂直边缘线段列表中删除掉原始的能够合并的边缘线段,并可以将合并后的边缘线段加入到相应的边缘线段列表中。
可选地,不断地循环上述确定是否在同一水平轴或同一垂直轴的步骤以及确定边缘线段的顶点能否重合的步骤,直至找不到任何能够合并的边缘线段,结束合并边缘线段的过程,得到合并之后的结果。
作为一种可选的实施例,基于合并后的多条边缘线段生成碰撞体,包括:在合并后的多条边缘线段的顶点集中,确定碰撞体的顶点集;基于碰撞体的顶点集,生成碰撞体。
在该实施例中,在合并后的多条边缘线段对应顶点的顶点集中,确定出碰撞体的顶点集;并可以基于碰撞体的顶点集,生成碰撞体,其中,碰撞体的顶点集可以为碰撞体顶点列表。
可选地,为了创建出一个完整的封闭的碰撞体,需要将不同方向并且拥有同一个顶点的边缘线段进行连接。
可选地,从水平边缘线段列表中的第一个水平边缘线段开始,可以将该线段的两个顶点添加到碰撞体顶点列表中,然后将该线段从水平边缘线段列表中移除。
可选地,从垂直边缘线段列表中查找与碰撞体顶点列表中最后一个顶点相连的垂直边缘线段,并可以将该线段的另一个顶点添加到碰撞体顶点列表中。然后将该线段从垂直边缘线段列表中移除。
可选地,从水平边缘线段列表中可以查找与碰撞体顶点列表中最后一个顶点相连接的水平边缘线段,将该线段的另一个顶点添加到碰撞体顶点列表中。然后可以将该线段从水平边缘线段列表中移除。
可选地,对上述从垂直边缘线段列表与水平边缘线段列表中的线段的顶点添加到碰撞体顶点列表的步骤进行循环,直至无法在上述两个边缘线段列表中找到可以连接的线段。
作为一种可选的实施例,基于碰撞体的顶点集,生成碰撞体,包括:将碰撞体的顶点集发送至物理引擎,其中,碰撞体的顶点集中相邻顶点由物理引擎连接以生成碰撞体;获取来自物理引擎的碰撞体。
在该实施例中,可以将碰撞体的顶点集发送至物理引擎中,通过物理引擎来生成碰撞体。
可选地,在确定出水平边缘线段列表与垂直边缘线段列表中不存在可以连接到的边缘线段之后,可以将碰撞体顶点列表中的所有点作为2D边缘碰撞体的顶点传递给物理引擎中,即可生成一个多边形碰撞体。
作为一种可选的实施例,步骤S206,基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,包括:基于目标网格单元集在图形用户界面上的显示区域的形状和位置,生成碰撞体。
在该实施例中,可以确定出目标网格单元集在图形用户界面上的显示区域,并按照显示区域的形状和位置,生成目标网格单元集对应的碰撞体。
可选地,通过碰撞体列表在图形用户界面的第二图层上的显示区域的所包含的网格单元的多少及所处位置,可以确定出所生成的相应碰撞体的大小、形状及所处位置。
下面结合优选的实施方式对本公开实施例的技术方案进行进一步的举例介绍。具体以一种基于网格的2D碰撞体编辑方法进行进一步说明。
目前,在2D游戏中,为了模拟游戏物体之间的物理碰撞、触发响应等效果,通常需要在游戏制作过程中给这些物体添加碰撞体。2D碰撞体的形状通常与游戏物体相近,决定了该游戏物体的碰撞范围。根据形状可以将碰撞体分为规则碰撞体(如方形、圆形等)和不规则碰撞体两种,由于游戏物体的形状经常是不规则的,当需要更精准的碰撞效果时,通常要采用不规则的碰撞体,才能更准确地匹配物体形状,进而提高游戏的表现和体验。
在一种相关技术中,可以基于虚拟对象的形状,生成碰撞体。其实现原理为:获取虚拟对象的轮廓信息,然后将轮廓信息一系列多边形,再将多边形的顶点互相连接,最终生成碰撞体的形状。自动生成碰撞体后,可以进一步对碰撞体的每个顶点进行手动修改(新增、删除、移动),以修改碰撞体的形状。图3是根据本公开其中一实施例的一种相关技术生成的碰撞体的示意图,如图3所示,虚拟对象以鱼为例,可以在鱼的周围生成轮廓信息,并可以将该轮廓信息转换为白色线段所示的六个多边形,并将多边形的顶点互相连接,生成最终鱼的碰撞体的形状。
然而,通过上述方式生成碰撞体虽然较为精确,但是碰撞体的顶点数和形状数较多,会提高客户端性能消耗。举例而言,图4是根据本公开其中一实施例的一种相关技术生成树的碰撞体的示意图,如图4所示,树的碰撞体中包含49个形状和145个顶点。然而,当自动生成的上述树的碰撞体不满足需求时,需要手动对顶点进行编辑。由于树的碰撞体的顶点数量较多,需要编辑的顶点往往也会很多。同时由于顶点是公用的,修改一个顶点会影响到旁边的形状,导致编辑时难以控制形状,增加了编辑复杂度和耗时,因此,仍存在虚拟对象的碰撞体的生成效率低的技术问题。
在另一种相关技术中,可以手动创建多个简单形状的规则碰撞体,将它们组合起来当成一个整体使用,作为不规则碰撞体。常见的规则碰撞体有矩形和圆形等,通过修改这些规则碰撞体的大小、位置等,则可以组合成各种不规则碰撞体。举例而言,图5是根据本公开其中一实施例的另一种相关技术生成鱼的碰撞体的示意图,如图5所示,可以通过圆形表示鱼头,通过较大的矩形表示鱼身,通过较小的矩形表示鱼尾,从而可以由一个圆形和两个矩形组成出鱼的碰撞体。
然而,当使用的规则碰撞体较少时,组成的碰撞体则不够准确,当使用的规则碰撞体较多时,需要编辑的形状和步骤就变多了,编辑的效率也会随之变低。且编辑单个规则碰撞体的步骤仍然较为繁琐,需要反复调整位置和大小,因此,仍存在虚拟对象的碰撞体的生成效率低的技术问题。
为解决上述问题,本公开实施例提出了一种基于网格的2D碰撞体编辑方法,该方法可以通过创建网格的图层来对虚拟对象进行显示,可以对网格与虚拟对象存在一定的重叠区域的网格单元进行选择,并可以将选中的所有网格单元汇总在一个碰撞体列表中,也即,可以将碰撞体列表作为该虚拟对象在二维游戏场景中的碰撞体,由于考虑到可以通过网格来对虚拟对象的轮廓和所占范围进行显示,从而简化了对顶点或简单形状进行修改的步骤,相比于手动在虚拟对象上创建简单形状等方式,达到了更加直观快速地确定出虚拟对象所在范围对应的碰撞体的目的,进而实现了达到提高虚拟对象的碰撞体的生成效率的技术效果,解决了虚拟对象的碰撞体的生成效率低的技术问题。
在该实施例中,在开发某一2D游戏的过程中,若需要编辑该2D游戏场景中所显示的虚拟对象的碰撞体,则可以先将所要编辑的虚拟对象添加到游戏引擎的图形用户界面的上,添加成功则可以将该虚拟对象显示在该图形用户界面的第一图层上。并可以在该虚拟对象的底部创建一个网格对应的第二图层。需要说明的是,此处不做虚拟对象与网格的上下层关系做具体限制,也即,不对第一图层和第二图层的上下顺序做限制。
举例而言,图6是根据本公开其中一实施例的为虚拟对象创建网格的示意图,如图6所示,若需要为编辑跑跑狼模组编辑器的游戏场景中的虚拟对象鱼生成相应的碰撞体,可以先将鱼放置到游戏引擎的图形用户界面上进行显示。基于鱼所在的显示区域,可以在其底下创建一个网格,也即,目标网格。
可选地,在当前所要编辑的虚拟对象(物体)下可以创建出一个mesh对象,用来在图形用户界面的第二图层上显示出网格,以及生成和保存碰撞体。
可选地,在向虚拟对象创建mesh对象之后,可以开始遍历其中的每个格子,假设指定的格子数量为m列n行,可以从其中的网格单元(0,0)开始,遍历到网格单元(m-1,n-1)。
举例而言,图7是根据本公开其中一实施例的遍历网格中每个格子的顺序的示意图,如图7所示,以4列4行的网格为例,可以将网格的左下角的第一个网格单元作为(0,0),也即,作为遍历的起点,从左往右由下至上采用“S”型遍历顺序,遍历至最后一个网格单元,也即,遍历的终点。
可选地,将整个网格的原点位置可以定为左下角,并可以根据单个格子的尺寸,来确定每个格子的原点位置,其中,单个格子的尺寸可以为格子的边长,可以设边长为s。比如,假设当前遍历的列数为x,当前遍历的行数为y,则每个格子的原点坐标可以确定为:整个网格原点坐标+(x*s,y*s,0)。
可选地,由于格子是正方形的,可以进一步确定出每个格子的四个顶点的顶点坐标。格子的左下角坐标即为上述确定得到的每个格子的原点坐标整个网格对象原点坐标+(x*s,y*s,0)。格子的左上角顶点的坐标可以确定为:格子原点坐标+(0,s,0)。格子的右上角顶点的坐标可以确定为:格子原点坐标+(s,s,0)。格子的右下角顶点的坐标可以确定为:格子原点坐标+(s,0,0)。在确定出每个格子的四个顶点的顶点坐标之后,可以将其存储至顶点列表中。
可选地,在遍历的过程中,可以设置所遍历到的格子的四个顶点的顶点法线均为(0,0,1)。由于遍历过程中每个格子都是正方形,且有四个顶点,每个顶点的法线都要设置,否则无法正常显示。且在本公开实施例中,由于所使用到的游戏引擎的渲染空间是三维空间,为了让整个网格对象朝向屏幕外,需要设置四个顶点的方向都朝向屏幕外,而设置的法线即代表的是对应顶点的朝向。并在遍历完所有格子之后,可以将所有的顶点法线存储至法线列表中。
可选地,为了便于记录从最终的网格中的所有格子中选择出的能够生成碰撞体的格子是哪些,以及调整相应格子的颜色,可以预先在遍历每个格子的过程中,为每个格子进行编号,格子的编号=y*m+x。
可选地,在遍历格子的过程中,可以设置相应格子的四个顶点的顶点颜色,并判断该格子的编号是否在碰撞体列表中,若在碰撞体列表中,则可以将该格子的四个顶点的顶点颜色设置为特定颜色1,反之,则可以将该格子的四个顶点的顶点颜色设置为特定颜色2。然后将格子的四个顶点的顶点颜色均存储至颜色列表中,其中,在本公开实施例中,特定颜色1可以为绿色,特定颜色2可以为灰色。需要说明的是,此处不对是否在碰撞体列表中的顶点颜色做具体限制,只要是能够区分上述两种情况的颜色均可。
可选地,在遍历格子的过程中,可以设置每个格子的四个顶点的顶点UV坐标。可以将格子的左下角顶点的UV坐标设置为(0,0);可以将格子的左上角顶点的UV坐标设置为(0,1);可以将格子的右上角顶点的UV坐标设置为(1,1);可以将格子的右下角顶点的UV坐标设置为(1,0)。在遍历完所有格子之后,可以将所有格子的四个顶点UV坐标存储至UV坐标列表中。
可选地,在遍历格子的过程中,可以设置每个格子对应的三角面信息,也即,三角面顶点,由于每个格子均是正方形,所以格子对应两个三角面即可。其中一个三角面的三个顶点分别为:当前格子的左下角顶点、左上角顶点以及右上角顶点。其中另一个三角面的三个顶点分别为当前格子的左下角顶点、右上角顶点以及右下角顶点。在遍历结束之后,可以将格子的两个三角面的六个三角面顶点存储至三角面顶点列表中,其中,左下角顶点的顶点索引为格子编号*4;左上角顶点的顶点索引为格子编号*4+1;右上角顶点的顶点索引为格子编号*4+2;右下角顶点的顶点索引为格子编号*4+3。
可选地,在遍历结束所有的格子之后,可以将上述过程确定出的顶点列表、法线列表、颜色列表、UV坐标列表以及三角面顶点列表设置到新建的网格对象中,即可绘制出网格。
在实施例中,图8是根据本公开其中一实施例的格子加入碰撞体列表时图形用户界面的显示内容的示意图,如图8所示,可以在图形用户显示界面的左边显示虚拟对象的第一图层以及网格的第二图层,其中,网格中存在的阴影的部分为与虚拟对象存在重叠部分的格子,也即,可以为第一目标网格单元。区分是否与虚拟对象存在重叠部分的格子不仅可以通过格子是否存在阴影的方式,也可以通过调整颜色的方式,比如,第一目标网格单元为绿色,其余格子为灰色,此处不对格子的区分方式和显示方式做具体限制。也可以在图形用户界面的右边显示相应的控件,比如,可以显示暂停编辑、编辑占地面积、编辑碰撞体、编辑鼠标点、填充、擦掉、生成碰撞以及刷新目录等按钮,也可以显示需要生成碰撞体的虚拟对象的目录,比如,可以包括虚拟对象1、虚拟对象2、…、虚拟对象6等。可以通过点击上述不同虚拟对象后方的“编辑按钮”来对对应的虚拟对象进行选择和编辑碰撞体。
可选地,通过点击图形用户显示界面中的“填充”按钮,可以进入绘制状态,此时就可以对网格中的格子进行绘制。点击网格中的任意格子,即可更改该格子的颜色,比如,将该格子从白色调整为阴影形式,比如将灰色格子调整为绿色,来表示格子被选中,同时将被选中的格子添加到碰撞体列表中。
可选地,当通过鼠标点击屏幕时,可以将图形用户界面上的坐标转换为2D游戏场景所在的游戏世界中的坐标,再将游戏世界中的坐标转换为网格的本地坐标,也即,得到鼠标位置相对于格子的原点的坐标,也可以称为相对坐标。
可选地,通过相对坐标除以格子的边长,再向下取整,即可得到被选择(点击)的格子的所在行和列,其中,可以将被点击的格子的行设为indexY,可以将列设为indexX。
可选地,根据被点击的格子的所在行和列,可以确定该格子的编号。具体地,被点击的格子的编号=indexY*m+indexX,其中,m可以用于表示网格中的列数。
可选地,将上述确定出的被点击的格子的编号,也即,第一目标格子的编号,可以加入碰撞体列表中,作为碰撞体列表中的一个元素。并可以将该格子的四个顶点的颜色修改为绿色,使得该格子在第二图层中显示为绿色。
在该实施例中,图9是根据本公开其中一实施例的清除碰撞体时图形用户界面的显示内容的示意图,如图9所示,可以在图形用户界面的左边显示虚拟对象的第一图层以及网格的第二图形,其中,网格中存在的阴影的部分为与虚拟对象存在重叠部分的格子。也可以在图形用户界面的右边显示相应的控件以及虚拟对象的目录。
可选地,若存在误将某一未与虚拟对象存在重合区域的格子被选中的情况,可以在图形用户界面上执行取消选择操作,进入清除状态,此时就可以对某些阴影的格子进行清除,将其调整为白色,也可以通过绿色表示被选中的格子,可以对该绿色格子进行清除,将其调整为灰色,并将该格子从碰撞体列表中移除。
可选地,通过点击图形用户界面中的“擦掉”按钮,进入清除状态,此时就可以对阴影的格子进行清除,使其变为白色,并可以将该格子从碰撞体列表中移除。
可选地,当鼠标点击屏幕时,可以将鼠标的屏幕坐标转换为二维游戏世界中的坐标,再将二维游戏世界中的坐标转换为网格的本地坐标,即鼠标相对于网格的原点坐标,也可以称为相对坐标。
可选地,通过相对坐标除以格子的边长,再向下取整,即可得到被点击(取消选择)的格子的所在行和列,其中,所在行可以设为indexY,列可以设为indexX。
可选地,利用被点击的格子的所在行和列,可以计算该格子的编号。具体地,当前被点击格子的编号=indexY*m+indexX,其中,m可以用于表示网格中格子的列数。
可选地,将该网格单元的编号可以从碰撞体列表中移除,并可以将该网格单元的四个顶点的颜色从绿色修改为灰色,使该网格单元显示为灰色。
在该实施例中,图10是根据本公开其中一实施例的生成碰撞体时图形用户界面的显示内容的示意图,如图10所示,可以在图形用户界面的左边显示虚拟对象的第一图层以及网格的第二图层,其中,网格中的白色线为碰撞体列表的边缘线段,也可以用绿色进行表示。也可以在图形用户界面的右边显示相应的控件以及虚拟对象的目录。
可选地,图11是根据本公开其中一实施例的碰撞体列表中包含的格子的示意图,如图11所示,可以在图形用户界面上显示出碰撞体列表中所包含的格子,也即,可以显示成如图11所示的黑色,也可以显示成绿色。可以从碰撞体列表中获取所有黑色格子的编号。
可选地,在本公开实施例中,图中的黑色格子表示的是绿色格子。可以对所有绿色的格子进行遍历,在此过程中,可以逐一判断当前遍历到的格子的上下左右四条边是否为边缘线段。
举例而言,可以通过如下步骤来判断当前遍历的格子的上边是否为边缘线段:若当前格子位于整个网格的最上方一行,或者当前格子上方的格子不在碰撞体列表中,则可以将当前的格子的上边标记为边缘线段,并可以将该线段添加到水平边缘线段列表中。可以通过如下步骤来判断当前遍历的格子的下边是否为边缘线段:若当前格子位于整个网格的最下方一行,或者当前格子下方的格子不在碰撞体列表中,则可以将当前的格子的下边标记为边缘线段,并可以将该线段添加到水平边缘线段列表中。
再举例而言,可以通过如下步骤来判断当前遍历的格子的左边是否为边缘线段:若当前格子位于整个网格的最左侧一列,或者当前格子左侧的格子不在碰撞体列表中,则可以将当前的格子的左边标记为边缘线段,并可以将该线段添加到垂直边缘线段列表中。可以通过如下步骤来判断当前遍历的格子的右边是否为边缘线段:若当前格子位于整个网格的最右侧一列,或者当前格子右侧的格子不在碰撞体列表中,则可以将当前格子的右边标记为边缘线段,并可以将该线段添加到垂直边缘线段列表中。
作为一种可选的示例,图12是根据本公开其中一实施例的遍历格子而确定的边缘线段的示意图,若当前遍历到格子为10号格子,其左侧的9号格子和上方的14号格子不在碰撞体列表中,则可以将10号格子的坐标和上边标记为边缘线段。
可选地,图13是根据本公开其中一实施例的遍历完成后所得到的边缘结果的示意图,如图13所示,在找到边缘线段之后,可以得到如图13所示的边缘结果,其中共有10条边缘线段,20个顶点。
可选地,在多条边缘线段中,若边缘线段中存在垂直方向上且顶点重合的多个垂直边缘线段,可以对垂直边缘线段进行合并处理。若边缘线段中存在水平方向上且顶点重合的多个水平边缘线段,则可以对水平边缘线段进行合并处理,可以将垂直边缘线段存储在垂直边缘线段列表中。可以将水平边缘线段存储在水平边缘线段列表中。
可选地,在对方向相同并且有一个相同顶点的边缘线段进行合并的过程中,可以分别遍历垂直边缘线段列表中的所有垂直边缘线段以及水平边缘线段列表中所有水平边缘线段。
可选地,对于每个水平边缘线段或者垂直边缘线段,可以再遍历并且比较当前的水平边缘线段或者垂直边缘线段与对应的列表中的其他线段,判断它们是否处在同一水平轴或者同一垂直轴上。对于水平边缘线段,若两个水平边缘线段的四个顶点的y坐标一致,则可以表示它们在同一水平轴上。对于垂直边缘线段,若两个垂直边缘线段的四个顶点的x坐标一致,则可以表示它们在同一垂直轴上。
可选地,若上述过程中,确定出两个边缘线段在同一水平轴或者同一垂直轴上,可以再进一步检查这两个边缘线段的顶点是否重合。若重合,则可以合并这两个边缘线段称为一条更长的边缘线段,然后从对应的水平边缘线段列表或者垂直边缘线段列表中删除掉原始的能够合并的边缘线段,并可以将合并后的边缘线段加入到相应的边缘线段列表中。
可选地,不断地循环上述确定是否在同一水平轴或同一垂直轴的步骤以及确定边缘线段的顶点能否重合的步骤,直至找不到任何能够合并的边缘线段,结束合并边缘线段的过程,得到合并之后的结果。图14是根据本公开其中一实施例的对边缘线段合并得到合并结果的示意图,如图14所示,可以将碰撞体列表中的10条边缘线段经过上述方法进行合并,合并成6条边缘线段,以及6个顶点,其中,图14中的白色线段可以用于表示水平边缘线段,虚线可以用于表示垂直边缘线段,比如,合并后的线段1、线段5和线段3为垂直边缘线段,合并后的线段2、线段4和线段6为水平边缘线段。
可选地,为了创建出一个完整的封闭的碰撞体,需要将不同方向并且拥有同一个顶点的边缘线段进行连接。
可选地,从水平边缘线段列表中的第一个水平边缘线段开始,可以将该线段的两个顶点添加到碰撞体顶点列表中,然后将该线段从水平边缘线段列表中移除。
可选地,从垂直边缘线段列表中查找与碰撞体顶点列表中最后一个顶点相连的垂直边缘线段,并可以将该线段的另一个顶点添加到碰撞体顶点列表中。然后将该线段从垂直边缘线段列表中移除。
可选地,从水平边缘线段列表中可以查找与碰撞体顶点列表中最后一个顶点相连接的水平边缘线段,将该线段的另一个顶点添加到碰撞体顶点列表中。然后可以将该线段从水平边缘线段列表中移除。
可选地,对上述从垂直边缘线段列表与水平边缘线段列表中的线段的顶点添加到碰撞体顶点列表的步骤进行循环,直至无法在上述两个边缘线段列表中找到可以连接的线段。
在该实施例中,图15是根据本公开其中一实施例的根据碰撞体列表生成多边形碰撞体的示意图,如图15所示,在确定出水平边缘线段列表与垂直边缘线段列表中不存在可以连接到的边缘线段之后,可以将如图15所示的左侧碰撞体列表对应的碰撞体顶点列表中的所有点作为2D边缘碰撞体的顶点传递给物理引擎中,即可生成如图15的右侧所示的白色线段围成的一个多边形碰撞体。
可选地,根据开发游戏过程中对虚拟对象所要生成的碰撞体的精度以及虚拟对象所在第一图层的显示区域的大小等需求,可以对网格中格子大小进行调整,从而生成满足上述需求的目标数量个格子,便于得到满足需求的碰撞体。
举例而言,图16是根据本公开其中一实施例的基于格子尺寸编辑得到碰撞体的示意图,如图16所示,可以在图形用户界面中的相应输入框中填入0.2这个数值,从而可以生成格子尺寸为0.2*0.2的网格,相比于0.1,降低碰撞体的精度。
再举例而言,图17是根据本公开其中另一实施例的基于格子尺寸编辑得到碰撞体的示意图,如图17所示,可以在图形用户界面中的输入格子尺寸的输入框中填入数值0.1,从而生成格子尺寸为0.1*0.1的网格,相比于0.2,提高了碰撞体的精度。
当考虑到对碰撞体的精度等需求时,会对生成碰撞体过程中的步骤产生一定的影响,比如,若需要保证碰撞体的精度很高,则相关技术中需要通过大量的简单形状来组成碰撞体,或者需要通过大量的多边形对虚拟对象的轮廓进行转换,而上述过程需要消耗大量的开发游戏时间以及人力成本,因此,仍存在碰撞精度难以控制的技术问题。然而,在本公开实施例中,若需要调整碰撞体的精度,仅需要调整网格中格子的尺寸即可,从而为开发游戏的工作人员提供了一种简单且可控的调整碰撞体精度的方式。工作人员只需要在游戏引擎中的相应位置填写或输入一个关于格子的尺寸对应的数值,就可以调整精度,进而解决了碰撞精度难以控制的技术问题。
在该实施例中,可以通过创建网格的图层来对虚拟对象进行显示,可以对网格与虚拟对象存在一定的重叠区域的网格单元进行选择,并可以将选中的所有网格单元汇总在一个碰撞体列表中,也即,可以将碰撞体列表作为该虚拟对象在二维游戏场景中的碰撞体,由于考虑到可以通过网格来对虚拟对象的轮廓和所占范围进行显示,从而简化了对顶点或简单形状进行修改的步骤,相比于手动在虚拟对象上创建简单形状等方式,达到了更加直观快速地确定出虚拟对象所在范围对应的碰撞体的目的,进而实现了达到提高虚拟对象的碰撞体的生成效率的技术效果,解决了虚拟对象的碰撞体的生成效率低的技术问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
在本实施例中还提供了一种虚拟对象的碰撞体的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图18是根据本公开实施例的一种虚拟对象的碰撞体的生成装置的结构框图,如图18所示,该虚拟对象的碰撞体的生成装置1800可以包括:显示单元1802、确定单元1804和生成单元1806。
显示单元1802,用于在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;
确定单元1804,用于响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;
生成单元1806,用于基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。
可选地,显示单元1802中可以包括:第一显示单元,用于对虚拟对象在图形用户界面上的第一图层中的显示区域进行显示;第二显示单元,用于对虚拟对象对应的目标网格在图形用户界面上的第二图层中的显示区域进行显示。需要说明的是,此处不对第一显示单元和第二显示单元二者之间的顺序以及二者所显示的图层的顺序做具体限制。
可选地,显示单元1802中可以包括:创建模块,用于向虚拟对象创建网格对象,其中,网格对象为虚拟对象的子对象;显示模块,用于在图形用户界面上,显示基于网格对象创建的目标网格。
可选地,该装置还可以包括:第一确定单元,用于至少基于虚拟对象在第一图层上的显示区域,确定目标网格的绘制参数,其中,目标网格在第二图层上的显示区域中至少部分显示区域,与虚拟对象在第一图层上的显示区域重合;显示单元1802中可以包括:添加模块,用于在图形用户界面的第二图层上,将绘制参数添加至网格对象,以绘制出目标网格。
可选地,第一确定单元中可以包括:第一确定模块,用于基于虚拟对象在第一图层上的显示区域和碰撞体的精度,确定目标数量的网格单元,其中,目标数量的网格单元用于构成目标网格;第二确定模块,用于确定网格单元的绘制参数。
可选地,该装置还可以包括:调整单元,用于响应于对网格单元的尺寸的调整操作,调整碰撞体的精度。
可选地,确定单元1804可以包括:第一调整模块,用于响应于对目标网格的选择操作,将选择出的第一目标网格单元的初始显示信息调整为目标显示信息;第三确定模块,用于将具有目标显示信息的第一目标网格单元,确定为目标网格单元集的元素。
可选地,第三确定模块可以包括:第一确定子模块,用于确定具有目标显示信息的第一目标网格单元的标识信息;第二确定子模块,用于将标识信息,确定为目标网格单元集的元素。
可选地,确定单元1804可以包括:第二调整模块,用于响应于对目标网格的选择操作,分别将从目标网格中选择出的多个第二目标网格单元的初始显示信息,调整为目标显示信息;处理模块,用于响应于对目标网格的取消操作,将从多个第二目标网格单元中取消选择的至少一第三目标网格单元的目标显示信息,调整为初始显示信息,且将具有目标显示信息的第一目标网格单元,确定为目标网格单元集的元素。
可选地,生成单元1806可以包括:获取模块,用于获取目标网格单元集中第一目标网格单元的线段集,其中,线段集中的线段用于表示第一目标网格单元的边;第四确定模块,用于在至少一第一目标网格单元对应的至少一线段集中,确定多条边缘线段,其中,边缘线段用于确定目标网格单元集在图形用户界面上的显示区域;第一生成模块,用于基于多条边缘线段生成碰撞体。
可选地,第一生成模块可以包括:第一合并子模块,用于在多条边缘线段中,对处于相同方向且顶点重合的多条目标边缘线段进行合并;第一生成子模块,用于基于合并后的多条边缘线段生成碰撞体。
可选地,第一生成模块中还可以包括:第二合并子模块,用于在多条边缘线段中,对处于垂直方向且顶点重合的多条第一边缘线段进行合并;和/或,第三合并子模块,用于在多条边缘线段中,对处于水平方向且顶点重合的多条第二边缘线段进行合并。
可选地,第一生成模块还可以包括:第三确定子模块,用于在合并后的多条边缘线段的顶点集中,确定碰撞体的顶点集;第二生成子模块,用于基于碰撞体的顶点集,生成碰撞体。
可选地,第一生成模块还可以包括:发送子模块,用于将碰撞体的顶点集发送至物理引擎,其中,碰撞体的顶点集中相邻顶点由物理引擎连接以生成碰撞体;获取子模块,用于获取来自物理引擎的碰撞体。
可选地,确定单元1806可以包括:第二生成模块,用于基于目标网格单元集在图形用户界面上的显示区域的形状和位置,生成碰撞体。
在该实施例中,通过显示单元在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;通过确定单元响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;通过生成单元基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配,从而达到提高虚拟对象的碰撞体的生成效率的技术效果,解决了虚拟对象的碰撞体的生成效率低的技术问题。
需要说明的是,上述各个单元是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述单元均位于同一处理器中;或者,上述各个单元以任意组合的形式分别位于不同的处理器中。
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;
S2,响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;
S3,基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于虚拟对象创建的目标网格,其中,目标网格用于生成碰撞体;
S2,响应于对目标网格的选择操作,将从目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;
S3,基于目标网格单元集,生成虚拟对象在二维游戏场景中的碰撞体,其中,碰撞体的形状与目标网格单元集的图形用户界面上的显示区域的形状相匹配。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图19是根据本公开实施例的一种电子装置的示意图。如图19所示,电子装置1900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图19所示,电子装置1900以通用计算设备的形式表现。电子装置1900的组件可以包括但不限于:上述至少一个处理器1910、上述至少一个存储器1920、连接不同系统组件(包括存储器1920和处理器1910)的总线1930和显示器1940。
其中,上述存储器1920存储有程序代码,程序代码可以被处理器1910执行,使得处理器1910执行本公开实施例的上述方法部分中描述的根据本公开各种示例性实施方式的步骤。
存储器1920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)19201和/或高速缓存存储单元19202,还可以进一步包括只读存储单元(ROM)19203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器1920还可以包括具有一组(至少一个)程序模块19205的程序/实用工具19204,这样的程序模块19205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器1920可进一步包括相对于处理器1910远程设置的存储器,这些远程存储器可以通过网络连接至电子装置1900。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线1930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器1910或者使用多种总线结构中的任意总线结构的局域总线。
显示器1940可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子装置1900的用户界面进行交互。
可选地,电子装置1900也可以与一个或多个外部设备1400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置1900交互的设备通信,和/或与使得该电子装置1900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1950进行。并且,电子装置1900还可以通过网络适配器1960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图19所示,网络适配器1960通过总线1930与电子装置1900的其它模块通信。应当明白,尽管图19中未示出,可以结合电子装置1900使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、独立冗余磁盘阵列(Redundant Array of Independent Disk,简称为RAID)系统、磁带驱动器以及数据备份存储系统等。
上述电子装置1900还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图19所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置1900还可包括比图19中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器1920可用于存储计算机程序及对应的数据,如本公开实施例中的虚拟对象的碰撞体的生成方法对应的计算机程序及对应的数据。处理器1910通过运行存储在存储器1920内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟对象的碰撞体的生成方法。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

Claims (18)

1.一种虚拟对象的碰撞体的生成方法,其特征在于,包括:
在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于所述虚拟对象创建的目标网格,其中,所述目标网格用于生成所述碰撞体;
响应于对所述目标网格的选择操作,将从所述目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;
基于所述目标网格单元集,生成所述虚拟对象在所述二维游戏场景中的碰撞体,其中,所述碰撞体的形状与所述目标网格单元集在所述图形用户界面上的显示区域的形状相匹配。
2.根据权利要求1所述的方法,其特征在于,在所述图形用户界面上,显示基于所述虚拟对象创建的目标网格,包括:
向所述虚拟对象创建网格对象,其中,所述网格对象为所述虚拟对象的子对象;
在所述图形用户界面上,显示基于所述网格对象创建的所述目标网格。
3.根据权利要求2所述的方法,其特征在于,所述图形用户界面包括第一图层和第二图层,所述方法还包括:
至少基于所述虚拟对象在所述第一图层上的显示区域,确定所述目标网格的绘制参数,其中,所述目标网格在所述第二图层上的显示区域中至少部分显示区域,与所述虚拟对象在所述第一图层上的显示区域重合;
在所述图形用户界面上,显示基于所述网格对象创建的所述目标网格,包括:在所述图形用户界面的所述第二图层上,将所述绘制参数添加至所述网格对象,以绘制出所述目标网格。
4.根据权利要求3所述的方法,其特征在于,至少基于所述虚拟对象在所述第一图层上的显示区域,确定所述目标网格的绘制参数,包括:
基于所述虚拟对象在所述第一图层上的显示区域和所述碰撞体的精度,确定目标数量的网格单元,其中,所述目标数量的网格单元用于构成所述目标网格;
确定所述网格单元的绘制参数。
5.根据权利要求4所述的方法,其特征在于,所述网格单元的绘制参数包括以下至少之一:顶点位置、顶点法线、顶点颜色、顶点纹理坐标和三角面信息。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于对所述网格单元的尺寸的调整操作,调整所述碰撞体的精度。
7.根据权利要求1所述的方法,其特征在于,响应于对所述目标网格的选择操作,将从所述目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集,包括:
响应于对所述目标网格的选择操作,将选择出的第一目标网格单元的初始显示信息调整为目标显示信息;
将具有所述目标显示信息的所述第一目标网格单元,确定为所述目标网格单元集的元素。
8.根据权利要求7所述的方法,其特征在于,将具有所述目标显示信息的所述第一目标网格单元,确定为所述目标网格单元集的元素,包括:
确定具有所述目标显示信息的所述第一目标网格单元的标识信息;
将所述标识信息,确定为所述目标网格单元集的元素。
9.根据权利要求1所述的方法,其特征在于,响应于对所述目标网格的选择操作,将选择出的至少一第一目标网格单元确定为目标网格单元集,包括:
响应于对所述目标网格的选择操作,分别将从所述目标网格中选择出的多个第二目标网格单元的初始显示信息,调整为目标显示信息;
响应于对所述目标网格的取消操作,将从所述多个第二目标网格单元中取消选择的至少一第三目标网格单元的所述目标显示信息,调整为所述初始显示信息,且将具有所述目标显示信息的所述第一目标网格单元,确定为所述目标网格单元集的元素。
10.根据权利要求1所述的方法,其特征在于,基于所述目标网格单元集,生成所述虚拟对象在所述二维游戏场景中的碰撞体,包括:
获取所述目标网格单元集中所述第一目标网格单元的线段集,其中,所述线段集中的线段用于表示所述第一目标网格单元的边;
在至少一所述第一目标网格单元对应的至少一所述线段集中,确定多条边缘线段,其中,所述边缘线段用于确定所述目标网格单元集在所述图形用户界面上的显示区域;
基于所述多条边缘线段生成所述碰撞体。
11.根据权利要求10所述的方法,其特征在于,基于所述多条边缘线段生成所述碰撞体,包括:
在所述多条边缘线段中,对处于相同方向且顶点重合的多条目标边缘线段进行合并;
基于合并后的所述多条边缘线段生成所述碰撞体。
12.根据权利要求11所述的方法,其特征在于,在所述多条边缘线段中,对处于相同方向且顶点重合的多条目标边缘线段进行合并,包括:
在所述多条边缘线段中,对处于垂直方向且顶点重合的多条第一边缘线段进行合并;和/或,
在所述多条边缘线段中,对处于水平方向且顶点重合的多条第二边缘线段进行合并。
13.根据权利要求11所述的方法,其特征在于,基于合并后的所述多条边缘线段生成所述碰撞体,包括:
在合并后的所述多条边缘线段的顶点集中,确定所述碰撞体的顶点集;
基于所述碰撞体的顶点集,生成所述碰撞体。
14.根据权利要求13所述的方法,其特征在于,基于所述碰撞体的顶点集,生成所述碰撞体,包括:
将所述碰撞体的顶点集发送至物理引擎,其中,所述碰撞体的顶点集中相邻顶点由所述物理引擎连接以生成所述碰撞体;
获取来自所述物理引擎的所述碰撞体。
15.根据权利要求1所述的方法,其特征在于,基于所述目标网格单元集,生成所述虚拟对象在所述二维游戏场景中的碰撞体,包括:
基于所述目标网格单元集在所述图形用户界面上的显示区域的形状和位置,生成所述碰撞体。
16.一种虚拟对象的碰撞体的生成装置,其特征在于,包括:
显示单元,用于在图形用户界面上,显示二维游戏场景中待生成碰撞体的虚拟对象,以及基于所述虚拟对象创建的目标网格,其中,所述目标网格用于生成所述碰撞体;
确定单元,用于响应于对所述目标网格的选择操作,将从所述目标网格中选择出的至少一第一目标网格单元确定为目标网格单元集;
生成单元,用于基于所述目标网格单元集,生成所述虚拟对象在所述二维游戏场景中的碰撞体,其中,所述碰撞体的形状与所述目标网格单元集在所述图形用户界面上的显示区域的形状相匹配。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行所述权利要求1至15中任一项中所述的方法。
18.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至15中任一项中所述的方法。
CN202311348403.0A 2023-10-17 2023-10-17 虚拟对象的碰撞体的生成方法、装置和电子装置 Pending CN117224944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311348403.0A CN117224944A (zh) 2023-10-17 2023-10-17 虚拟对象的碰撞体的生成方法、装置和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311348403.0A CN117224944A (zh) 2023-10-17 2023-10-17 虚拟对象的碰撞体的生成方法、装置和电子装置

Publications (1)

Publication Number Publication Date
CN117224944A true CN117224944A (zh) 2023-12-15

Family

ID=89098381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311348403.0A Pending CN117224944A (zh) 2023-10-17 2023-10-17 虚拟对象的碰撞体的生成方法、装置和电子装置

Country Status (1)

Country Link
CN (1) CN117224944A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118069106A (zh) * 2024-04-17 2024-05-24 深圳市二一教育科技有限责任公司 批量添加碰撞体积的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118069106A (zh) * 2024-04-17 2024-05-24 深圳市二一教育科技有限责任公司 批量添加碰撞体积的方法

Similar Documents

Publication Publication Date Title
CN111167120A (zh) 游戏中虚拟模型的处理方法和装置
WO2019128358A1 (zh) 信息处理方法及装置、存储介质、电子设备
US8914259B2 (en) Passive associativity in three-dimensional (3D) modeling
WO2016149554A2 (en) Interactive dimensioning of parametric models
CN103324393A (zh) 用于应用实体的3d用户接口
CN117224944A (zh) 虚拟对象的碰撞体的生成方法、装置和电子装置
CN106204713B (zh) 静态合并处理方法和装置
CN108837510B (zh) 信息的展示方法和装置、存储介质、电子装置
CN111957040A (zh) 遮挡位置的检测方法、装置、处理器及电子装置
CN105103112A (zh) 用于操纵显示装置上的对象的取向的设备和方法
CN112902968A (zh) 一种高效率三维数字导航地球生成方法及系统
CN110619683A (zh) 三维模型调整方法、装置、终端设备及存储介质
US20230377268A1 (en) Method and apparatus for multiple dimension image creation
WO2023240884A1 (zh) 游戏场景的生成方法、装置、存储介质和电子装置
JP5920858B1 (ja) プログラム、情報処理装置、深度定義方法及び記録媒体
JPH10293862A (ja) 三次元オブジェクトデータ処理方法
CN115115814A (zh) 信息处理方法、装置、可读存储介质和电子装置
CN113706675B (zh) 镜像处理方法、装置、存储介质和电子装置
CN115888085A (zh) 游戏信息的处理方法、装置和存储介质
CN114816457A (zh) 克隆虚拟模型的方法、装置、存储介质及电子装置
CN115382208A (zh) 三维指引地图生成方法、装置、存储介质和电子装置
CN114820968A (zh) 三维可视化方法和装置、机器人、电子设备和存储介质
CN114283230A (zh) 植被模型渲染方法、装置、可读存储介质和电子装置
KR20220164238A (ko) 이미지 블록 기반 도형 패턴 생성 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
CN111111154A (zh) 虚拟游戏对象的建模方法、装置、处理器及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination