导航网格生成方法、装置、非易失性存储介质及电子装置制造方法及图纸

技术编号:27460827 阅读:16 留言:0更新日期:2021-02-25 05:18
本发明专利技术公开了一种导航网格生成方法、装置、非易失性存储介质及电子装置。该方法包括:获取虚拟建筑模型所包含的多个虚拟建筑部件的属性信息集合;基于属性信息集合确定与多个虚拟建筑部件中可行走虚拟建筑部件对应的多边形的顶点在游戏场景中的位置信息;根据位置信息以及多边形的连接关系得到第一多边形网格,并将第一多边形网格转化为第一导航网格;在第二导航网格中去除与第一导航网格中目标类型虚拟建筑部件的对应网格,得到第三导航网格;在第三导航网格与第一导航网格之间建立连通关系,生成目标导航网格。本发明专利技术解决了相关技术中虚拟建筑模型的每次变化均会触发重新烘焙NavMesh网格,由此导致大量的冗余操作的技术问题。技术问题。技术问题。

【技术实现步骤摘要】
导航网格生成方法、装置、非易失性存储介质及电子装置


[0001]本专利技术涉及计算机领域,具体而言,涉及一种导航网格生成方法、装置、非易失性存储介质及电子装置。

技术介绍

[0002]对于开放世界类型游戏而言,通常允许游戏玩家在游戏地图中使用一些模板化的部件自由搭建虚拟建筑模型。为了提升游戏氛围和体验,需要非玩家角色(NPC)能够自由地进入游戏玩家所搭建的虚拟建筑模型并且还能够在虚拟建筑模型的内部自由行动。这便需要实现动态虚拟建筑模型内部的寻路需求,并且能够从虚拟建筑模型外部导航到虚拟建筑模型内部。在三维(3D)游戏场景中,通常会采用导航网格(NavMesh)方式实现寻路,然而,从场景资源生成NavMesh寻路网格却是一个非常耗时的过程。另外,在网络游戏的开发过程中,虽然从安全性角度考虑,NPC的逻辑通常运行在服务端,但是在服务端实时地根据虚拟建筑模型的不断变化重新生成寻路数据存在一定性能压力且延时较高,从而对NPC的人工智能(AI)表现造成一定不利影响。
[0003]在通常情况下,可以使用导航(navigation)库离线生成寻路的NavMesh网格,并且在静态场景中可以直接加载使用,以获取从起始点到目标点的通行路径。当游戏玩家能够自由搭建虚拟建筑模型时,原先可通行路径很有可能会被虚拟建筑模型所阻挡,目标点也可能由原先位于虚拟建筑模型外部变为位于虚拟建筑模型内部,因此静态的网格已经无法满足需求。为此,相关技术中所提供的解决方案在于:将虚拟建筑模型的网格(Mesh)数据与游戏场景地形的Mesh数据共同作为输入参数,通过体素化、构建高度场、筛选可行走区域、生成区域和多边形以及生成DetailMesh这一套完整流程,生成相应的NavMesh网格。然而,此种解决方案的明显缺陷在于:游戏玩家在搭建虚拟建筑模型时可能会频繁地增加或删除部分部件,甚至会拆除原有虚拟建筑模型并重建新的虚拟建筑模型,抑或是在游戏场景中为了增强战斗体验,一些部件可以在战斗过程中遭受破坏(例如:虚拟墙体模型在遭受炸弹袭击后发生坍塌),这时都需要从头开始重新烘焙NavMesh网格。
[0004]由此可见,虚拟建筑模型的每次变化均会触发重新烘焙NavMesh网格,而游戏玩家可能只是在原有的虚拟建筑模型的基础上增加或者删除了少量部件,其引起的变化很小,并且其余区域的寻路情况则保持不变。但是,此时仍然需要将一个区域范围内的场景地形的Mesh数据和所有建筑部件的Mesh数据共同作为输入参数,重新烘焙NavMesh网格,由此导致大量的冗余操作,其不但会对处理器的性能造成较大压力,并且在烘焙的过程中,NPC的寻路功能还会暂时处于停滞状态,如果重新烘焙NavMesh网格消耗的时间较长,那么NPC会表现较为迟钝,从而影响游戏玩家的游戏体验。
[0005]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本专利技术至少部分实施例提供了一种导航网格生成方法、装置、非易失性存储介质
及电子装置,以至少解决相关技术中虚拟建筑模型的每次变化均会触发重新烘焙NavMesh网格,由此导致大量的冗余操作,其不但会对处理器的性能造成较大压力,并且在烘焙的过程中影响NPC表现,从而影响游戏玩家的游戏体验的技术问题。
[0007]根据本专利技术其中一实施例,提供了一种导航网格生成方法,包括:
[0008]获取虚拟建筑模型所包含的多个虚拟建筑部件的属性信息集合;基于属性信息集合确定与多个虚拟建筑部件中可行走虚拟建筑部件对应的多边形的顶点在游戏场景中的位置信息;根据位置信息以及多边形的连接关系得到第一多边形网格,并将第一多边形网格转化为第一导航网格;在第二导航网格中去除与第一导航网格中目标类型虚拟建筑部件的对应网格,得到第三导航网格,其中,第二导航网格为初始的场景地形导航网格;在第三导航网格与第一导航网格之间建立连通关系,生成目标导航网格。
[0009]可选地,多边形的连接关系为根据可行走虚拟建筑部件的邻接关系确定的连接关系。
[0010]可选地,属性信息集合包括:虚拟建筑部件的位置信息、和/或虚拟建筑部件的旋转信息。
[0011]可选地,目标虚拟建筑部件对应的网格为目标包围盒对应的网格,目标包围盒为目标虚拟建筑部件对应的包围盒。
[0012]可选地,上述方法还包括:基于虚拟建筑模型所包含的多个虚拟建筑部件的部件类型,将多个虚拟建筑部件划分为可行走虚拟建筑部件和不可行走虚拟建筑部件。
[0013]可选地,基于属性信息集合确定与可行走虚拟建筑部件对应的多边形的顶点在游戏场景中的位置信息包括:基于可行走虚拟建筑部件的位置信息和旋转信息计算多边形中每个顶点在可行走虚拟建筑部件的局部空间坐标系下的第一坐标位置;将局部空间坐标系下的第一坐标位置转换为游戏场景的世界空间坐标系下的第二坐标位置。
[0014]可选地,属性信息集合还包括:虚拟建筑模型的出入口位置,在第三导航网格与第一导航网格之间建立连通关系,生成目标导航网格包括:在第一导航网格中获取出入口位置;在第三导航网格中获取与出入口位置对应的待连通位置;利用分离网格链接组件在出入口位置与待连通位置之间建立连通关系,生成目标导航网格。
[0015]可选地,属性信息集合还包括:每个虚拟建筑部件的包围盒信息,上述方法还包括:基于每个虚拟建筑部件的包围盒信息构建多层次包围盒树。
[0016]可选地,上述方法还包括:当向虚拟建筑模型中添加新的虚拟建筑部件时,基于待添加的虚拟建筑部件的部件类型对多边形的连接关系和/或多层次包围盒树进行更新。
[0017]可选地,基于待添加的虚拟建筑部件的部件类型对多边形的连接关系和/或多层次包围盒树进行更新包括:当待添加的虚拟建筑部件的部件类型为可行走虚拟建筑部件并且不属于目标类型虚拟建筑部件时,将待添加的虚拟建筑部件对应表面的多边形添加至第一多边形网格并更新多边形的连接关系,得到第二多边形网格;将第二多边形网格转化为第四导航网格,以及基于待添加的虚拟建筑部件的包围盒信息更新多层次包围盒树。
[0018]可选地,基于待添加的虚拟建筑部件的部件类型对多边形的连接关系和/或多层次包围盒树进行更新包括:当待添加的虚拟建筑部件的部件类型为可行走虚拟建筑部件并且属于目标类型虚拟建筑部件时,将待添加的虚拟建筑部件对应表面的多边形添加至第一多边形网格并更新多边形的连接关系,得到第三多边形网格;将第三多边形网格转化为第
五导航网格,以及基于待添加的虚拟建筑部件的包围盒信息更新多层次包围盒树;在第三导航网格中去除与待添加的虚拟建筑部件的包围盒对应的网格,得到第六导航网格;在第五导航网格与第六导航网格之间建立连通关系,更新目标导航网格。
[0019]可选地,基于待添加的虚拟建筑部件的部件类型对多边形的连接关系和/或多层次包围盒树进行更新包括:当待添加的虚拟建筑部件的部件类型为不可行走虚拟建筑部件并且影响多边形的连接关系时,更新多边形的连接关系。
[0020]可选地,上述方法还包括:当从虚拟建筑模型中删除原有虚拟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种导航网格生成方法,其特征在于,包括:获取虚拟建筑模型所包含的多个虚拟建筑部件的属性信息集合;基于所述属性信息集合确定与所述多个虚拟建筑部件中可行走虚拟建筑部件对应的多边形的顶点在游戏场景中的位置信息;根据所述位置信息以及所述多边形的连接关系得到第一多边形网格,并将所述第一多边形网格转化为第一导航网格;在第二导航网格中去除与所述第一导航网格中目标类型虚拟建筑部件的对应网格,得到第三导航网格,其中,所述第二导航网格为初始的场景地形导航网格;在所述第三导航网格与所述第一导航网格之间建立连通关系,生成目标导航网格。2.根据权利要求1所述的导航网格生成方法,其特征在于,所述多边形的连接关系为根据所述可行走虚拟建筑部件的邻接关系确定的连接关系。3.根据权利要求1所述的导航网格生成方法,其特征在于,所述属性信息集合包括:所述虚拟建筑部件的位置信息、和/或所述虚拟建筑部件的旋转信息。4.根据权利要求1所述的导航网格生成方法,其特征在于,所述目标虚拟建筑部件对应的网格为目标包围盒对应的网格,所述目标包围盒为所述目标虚拟建筑部件对应的包围盒。5.根据权利要求1所述的导航网格生成方法,其特征在于,所述方法还包括:基于所述虚拟建筑模型所包含的多个虚拟建筑部件的部件类型,将所述多个虚拟建筑部件划分为所述可行走虚拟建筑部件和不可行走虚拟建筑部件。6.根据权利要求1所述的导航网格生成方法,其特征在于,基于所述属性信息集合确定与所述可行走虚拟建筑部件对应表面的多边形的顶点在所述游戏场景中的位置信息包括:基于所述可行走虚拟建筑部件的位置信息和旋转信息计算所述多边形中每个顶点在所述可行走虚拟建筑部件的局部空间坐标系下的第一坐标位置;将所述局部空间坐标系下的第一坐标位置转换为所述游戏场景的世界空间坐标系下的第二坐标位置。7.根据权利要求1所述的导航网格生成方法,其特征在于,所述属性信息集合还包括:所述虚拟建筑模型的出入口位置,在所述第三导航网格与所述第一导航网格之间建立所述连通关系,生成所述目标导航网格包括:在所述第一导航网格中获取所述出入口位置;在所述第三导航网格中获取与所述出入口位置对应的待连通位置;利用分离网格链接组件在所述出入口位置与所述待连通位置之间建立所述连通关系,生成所述目标导航网格。8.根据权利要求1所述的导航网格生成方法,其特征在于,所述属性信息集合还包括:每个虚拟建筑部件的包围盒信息,所述方法还包括:基于每个虚拟建筑部件的包围盒信息构建多层次包围盒树。9.根据权利要求8所述的导航网格生成方法,其特征在于,所述方法还包括:当向所述虚拟建筑模型中添加新的虚拟建筑部件时,基于待添加的虚拟建筑部件的部件类型对所述多边形的连接关系和/或所述多层次包围盒树进行更新。10.根据权利要求9所述的导航网格生成方法,其特征在于,基于所述待添加的虚拟建
筑部件的部件类型对所述多边形的连接关系和/或所述多层次包围盒树进行更新包括:当所述待添加的虚拟建筑部件的部件类型为所述可行走虚拟建筑部件并且不属于所述目标类型虚拟建筑部件时,将所述待添加的虚拟建筑部件对应表面的多边形添加至所述第一多边形网格并更新所述多边形的连接关系,得到第二多边形网格;将所述第二多边形网格转化为第四导航网格,以及基于所述待添加的虚拟建筑部件的包围盒信息更新所述多层次包围盒树。11.根据权利要求9所述的导航网格生成方法,其特征在于,基于所述待添加的虚拟建筑部件的部件类型对所述多边形的连接关系和/或所述多层次包围盒树进行更新包括:当所述待添加的虚拟建筑部件的部件类型为所述可行走虚拟建筑部件并且属于所述目标类型虚拟建筑部件时,将所述待添加的虚拟建筑部件对应表面的多边形添加至所述第一多边形网格并更新所述多边形的连接关系,得到第三多边形网格;将所述第三多边形网格转化为第五导航网格,以及基于所述待添加的虚拟建筑部件的包围盒信息更新所述多层次包围盒树;在所述第三导航网格中去除与所述待添加的虚拟建筑部件的包围盒对应的网格,得到第六导航网格;在所述第五导航网格与所述第六导航网格之间建立连通关系,更新所述目标导航网格。12.根据权利要求9所述的导航网格生成方法,其特征在于,基于所述待添加的...

【专利技术属性】
技术研发人员:刘晶
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1