在虚拟场景中构建地形的方法及装置与流程

专利2022-05-10  27



1.本发明涉及地形构建的技术领域,尤其是涉及一种在虚拟场景中构建地形的方法及装置。


背景技术:

2.随着游戏功能越来越多样化,三维游戏的规模也越来越大,游戏场景中地形构建已经成为场景构建中很重要的一部分,但在游戏过程中,地形可能由于玩家的操作而发生变化,在这种情况下,需要重新构建发生变化后的地形,将发生变化后的地形进行渲染显示,以为用户提供更好的游戏效果。例如,玩家可以在游戏中走路或跑动时,在地形比较湿软的情况下,地形的形变没有体现,显示不够逼真。因此,亟需一种可以在虚拟场景中构建地形的方法。


技术实现要素:

3.为了较为逼真地展现地形随玩家的踩踏而产生的变化,本技术提供一种在虚拟场景中构建地形的方法及装置。
4.本技术的上述发明目的一是通过以下技术方案得以实现的:一种在虚拟场景中构建地形的方法,包括:s1、接收到踩踏指令时,获取踩踏目标的重量值,所述重量值包括踩踏目标的初始重量值以及负重值;s2、根据所述踩踏指令确定踩踏区域;s3、根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度;s4、根据所述陷入深度在待处理区域清除第一指定数量的正方体地形模型;s5、根据所述陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型;s6、对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合。
5.通过采用上述技术方案,当玩家控制角色在地形上行走或奔跑时,角色的足底与地形接触,当角色的足底的位置信息与地形重合时,视为接收到踩踏指令;此时获取踩踏目标即角色的重量值,角色具有初始重量值,角色佩戴一件装备或饰品则视为负重值增加,每件装备或饰品具有预设的负重值,然后根据踩踏指令确定踩踏区域,根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度,然后根据陷入深度在待处理区域清除第一指定数量的正方体地形模型,根据陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型,对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合,从而实现较为逼真地展现地形随玩家的踩踏而产生的变化。
6.本技术在一较佳示例中可以进一步配置为:所述根据所述踩踏指令确定踩踏区域包括:
根据所述踩踏指令,确定踩踏目标的位置坐标集合;根据所述位置坐标集合确定地形上踩踏区域。
7.本技术在一较佳示例中可以进一步配置为:还包括:当踩踏指令消失后,在第一预设时间段内,在踩踏区域内重新填入第一指定数量的正方体地形模型;在第二预设时间段内,在影响区域内重新填入第二指定数量的正方体地形模型。
8.通过采用上述技术方案,能够在角色踩踏完毕离开后,地形在一段时间内恢复。
9.本技术在一较佳示例中可以进一步配置为:所述第二预设时间段的起始时间节点为第一预设时间段的终止时间节点。
10.通过采用上述技术方案,当踩踏区域的正方体地形模型填充完毕后,才开始填充影响区域内的正方体地形模型,呈现出逐步回复的视觉效果。
11.本技术在一较佳示例中可以进一步配置为:所述s6步骤包括:s61、将影响区域剩余的正方体地形模型靠近踩踏目标的顶点投影到二维平面;s62、统计顶点在x和y方向的分布范围,构建包含所有顶点的外围四边形,并将外围四边形剖分为两个三角形;s63、选取顶点插入两个三角形中包含该顶点的三角形,并将顶点插入的三角形剖分为三个新三角形;s64、判断剖分得到的三个新三角形是否符合delaunay三角网规则;若剖分得到的三个新三角形符合delaunay三角网规则,则返回步骤s63;若剖分得到的三个新三角形不符合delaunay三角网规则,则进行下一步骤;s65、对不符合delaunay三角网规则的三角形进行递归优化,返回步骤s63;s66、搜索待插值点对应顶点并根据搜索得到的顶点对待插值点进行插值,构建网格点邻接关系;s67、根据网格点邻接关系拟合曲面。
12.通过采用上述技术方案,对取出正方体地形模型后的影响区域进行曲面拟合,使得地形地面显示较为流畅。
13.本技术的发明目的二是通过以下技术方案得以实现的:一种在虚拟场景中构建地形的装置,包括:重量值获取模块,用于接收到踩踏指令时,获取踩踏目标的重量值,所述重量值包括踩踏目标的初始重量值以及负重值;区域确定模块,用于根据所述踩踏指令确定踩踏区域;深度确定模块,用于根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度;第一模型消除模块,用于根据所述陷入深度在待处理区域清除第一指定数量的正方体地形模型;第二模型消除模块,用于根据所述陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型;拟合模块,用于对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合。
14.本技术的发明目的三是通过以下技术方案得以实现的:一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述在虚拟场景中构建地形的方法的步骤。
15.本技术的发明目的四是通过以下技术方案得以实现的:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述在虚拟场景中构建地形的方法的步骤。
16.综上所述,本技术包括以下至少一种有益技术效果:1、当玩家控制角色在地形上行走或奔跑时,角色的足底与地形接触,当角色的足底的位置信息与地形重合时,视为接收到踩踏指令;此时获取踩踏目标即角色的重量值,角色具有初始重量值,角色佩戴一件装备或饰品则视为负重值增加,每件装备或饰品具有预设的负重值,然后根据踩踏指令确定踩踏区域,根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度,然后根据陷入深度在待处理区域清除第一指定数量的正方体地形模型,根据陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型,对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合,从而实现较为逼真地展现地形随玩家的踩踏而产生的变化;2、能够在角色踩踏完毕离开后,地形在一段时间内恢复;3、当踩踏区域的正方体地形模型填充完毕后,才开始填充影响区域内的正方体地形模型,呈现出逐步回复的视觉效果。
附图说明
17.图1是本技术一实施例中在虚拟场景中构建地形的方法的流程图;图2是本技术一实施例中在虚拟场景中构建地形的方法中步骤s6的实现流程图;图3是本技术一实施例中在虚拟场景中构建地形的装置的原理框图;图4是本技术一实施例中的电子设备示意图。
具体实施方式
18.以下结合附图对本技术作进一步详细说明。
19.本技术公开了一种在虚拟场景中构建地形的方法,参照图1,具体包括如下步骤:s1、接收到踩踏指令时,获取踩踏目标的重量值,重量值包括踩踏目标的初始重量值以及负重值;在一实施例中,当玩家控制角色在地形上行走或奔跑时,角色的足底与地形接触,当角色的足底的位置信息与地形重合时,视为接收到踩踏指令;此时获取踩踏目标即角色的重量值,角色具有初始重量值,初始重量值是预先设定的,角色没佩戴一件装备或饰品则视为负重值增加,每件装备或饰品具有预设的负重值,则踩踏目标的重量值包括角色的初始重量值以及负重值。
20.s2、根据踩踏指令确定踩踏区域;具体地,包括以下步骤:s21、根据踩踏指令,确定踩踏目标的位置坐标集合;
在一实施例中,角色在游戏世界坐标系中具有位置坐标集合,通过踩踏目标在游戏世界坐标系中的位置坐标,即角色在游戏世界坐标系中的位置坐标集合,得到角色的足部在游戏世界坐标系中的位置坐标集合。
21.s22、根据位置坐标集合确定地形上踩踏区域。
22.地形在游戏世界坐标系中同样具有位置坐标集合,通过地形在游戏世界坐标系中同样具有位置坐标集合和角色的足部在游戏世界坐标系中的位置坐标集合的相接和重合处,或是在一水平平面上投影的重叠部分,得到地形上的踩踏区域的位置坐标集合。
23.s3、根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度;影响区域的划定,可以是与目标的重量呈正相关关系,即当角色的重量越大时,影响区域的面积则越大,影响区域的划定,先通过目标的重量得到扩展距离,然后在踩踏区域外部与踩踏区域的轮廓线之间扩展距离相等的距离内的范围作为影响区域。踩踏区域的陷入深度,可以是与与目标的重量呈正相关关系,即当角色的重量越大时,踩踏区域的陷入深度则越深,其具体的正相关关系式可通过实际情况进行调整和设置。
24.s4、根据陷入深度在待处理区域清除第一指定数量的正方体地形模型;根据陷入深度,在踩踏区域的位置坐标集合中,选择在游戏坐标系中高度方向上的位于顶部的等同于陷入深度的高度内的位置坐标集合,然后将与这些位置坐标集合有干涉的正方体地形模型清除。
25.s5、根据陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型;在影像区域中,位于最远离待处理区域的区域边缘,自该地形上的影像区域中位于最远离待处理区域的区域边缘,在游戏坐标系内高度方向上的最高点至踩踏区域的边缘的连接面上,将有干涉的正方体地形模型清除。
26.s6、对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合。
27.参照图2,将正方体地形模型清除后,对影响区域进行曲面拟合,其中,s6步骤包括:s61、将影响区域剩余的正方体地形模型靠近踩踏目标的顶点投影到二维平面;s62、统计顶点在x和y方向的分布范围,构建包含所有顶点的外围四边形,并将外围四边形剖分为两个三角形;s63、选取顶点插入两个三角形中包含该顶点的三角形,并将顶点插入的三角形剖分为三个新三角形;s64、判断剖分得到的三个新三角形是否符合delaunay三角网规则;若剖分得到的三个新三角形符合delaunay三角网规则,则返回步骤s63;若剖分得到的三个新三角形不符合delaunay三角网规则,则进行下一步骤;s65、对不符合delaunay三角网规则的三角形进行递归优化,返回步骤s63;对不符合delaunay三角网规则的三角形进行递归优化,具体包括以下分步骤:选取三角形的一条边作为对角线构建四边形;对构建的四边形进行交换对角线处理;选取构建的四边形的一条边作为对角线构建新四边形;判断构建的新四边形中的三角形是否符合delaunay三角网规则;若符合delaunay三角网规则,则返回步骤选取三角形的一条边作为
对角线构建四边形;若不符合delaunay三角网规则,则返回步骤对步骤选取三角形的一条边作为对角线构建四边形中构建的四边形进行交换对角线处理;s66、搜索待插值点对应顶点并根据搜索得到的顶点对待插值点进行插值,构建网格点邻接关系;具体地,选取一个三角形并计算其面积;将待插值点与三角形的每条边组成新三角形,并分别计算各个新三角形的面积;判断三角形面积是否等于各个新三角形的面积之和;若三角形面积等于各个新三角形的面积之和,则待插值点位于该三角形内,操作结束;若三角形面积不等于各个新三角形的面积之和,则待插值点不在该三角形内,返回步骤选取一个三角形并计算其面积。以待插值点所在三角形的边作为公共边,搜索其相邻三角形,待插值点所在三角形及其相邻三角形顶点即为待插值点对应顶点;根据待插值点对应顶点对待插值点进行插值,构建网格点邻接关系。
28.s67、根据网格点邻接关系拟合曲面。
29.从而对取出正方体地形模型后的影响区域进行曲面拟合,使得地形地面显示较为流畅。
30.此外,在另一实施例中,在虚拟场景中构建地形的方法还包括:s7、当踩踏指令消失后,在第一预设时间段内,在踩踏区域内重新填入第一指定数量的正方体地形模型;s8、在第二预设时间段内,在影响区域内重新填入第二指定数量的正方体地形模型。
31.其中,第一预设时间段的长度可以是与重量值呈正相关,第二预设时间段的长度为一预设值,是预先设定的,第二预设时间段的起始时间节点为第一预设时间段的终止时间节点,即当踩踏区域的正方体地形模型填充完毕后,才开始填充影响区域内的正方体地形模型,从而呈现出逐步回复的视觉效果。
32.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
33.在一实施例中,提供一种在虚拟场景中构建地形的装置,该在虚拟场景中构建地形的装置与上述实施例中在虚拟场景中构建地形的方法一一对应。如图3所示,该在虚拟场景中构建地形的装置包括重量值获取模块、区域确定模块、深度确定模块、第一模型消除模块和第二模型消除模块。各功能模块详细说明如下:重量值获取模块,用于接收到踩踏指令时,获取踩踏目标的重量值,重量值包括踩踏目标的初始重量值以及负重值;区域确定模块,用于根据踩踏指令确定踩踏区域;深度确定模块,用于根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度;第一模型消除模块,用于根据陷入深度在待处理区域清除第一指定数量的正方体地形模型;第二模型消除模块,用于根据陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型;
拟合模块,用于对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合。
34.关于在虚拟场景中构建地形的装置的具体限定可以参见上文中对于在虚拟场景中构建地形的方法的限定,在此不再赘述。上述在虚拟场景中构建地形的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
35.在一个实施例中,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过装置总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种在虚拟场景中构建地形的方法:s1、接收到踩踏指令时,获取踩踏目标的重量值,重量值包括踩踏目标的初始重量值以及负重值;s2、根据踩踏指令确定踩踏区域;s3、根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度;s4、根据陷入深度在待处理区域清除第一指定数量的正方体地形模型;s5、根据陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型;s6、对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合。
36.该计算机程序被处理器执行时能实现上述方法实施例中任一种在虚拟场景中构建地形的方法。
37.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:s1、接收到踩踏指令时,获取踩踏目标的重量值,重量值包括踩踏目标的初始重量值以及负重值;s2、根据踩踏指令确定踩踏区域;s3、根据踩踏目标的重量和踩踏区域确定踩踏区域周边的影响区域,以及踩踏区域的陷入深度;s4、根据陷入深度在待处理区域清除第一指定数量的正方体地形模型;s5、根据陷入深度和影响区域在待处理区域周边清除第二指定数量的正方体地形模型;s6、对清除第二指定数量的正方体地形模型后的影响区域进行曲面拟合。该计算机程序被处理器执行时能实现上述方法实施例中任一种在虚拟场景中构建地形的方法。
38.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读
取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(rs61m)或者外部高速缓冲存储器。作为说明而非局限,rs61m以多种形式可得,诸如静态rs61m(srs61m)、动态rs61m(drs61m)、同步drs61m(sdrs61m)、双数据率sdrs61m(ddrsdrs61m)、增强型sdrs61m(esdrs61m)、同步链路(synchlink) drs61m(sldrs61m)、存储器总线(rs61mbus)直接rs61m(rdrs61m)、直接存储器总线动态rs61m(drdrs61m)、以及存储器总线动态rs61m(rdrs61m)等。
39.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
40.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
转载请注明原文地址:https://doc.8miu.com/index.php/read-1722386.html

最新回复(0)