1.本技术涉及计算机技术领域,特别是涉及一种虚拟构件轮廓信息获取方法以及虚拟构件轮廓显示方法。
背景技术:2.随着计算机技术的发展,出现了虚拟构件。虚拟构件是指用户利用虚拟构件构建界面所构造的非真实构件。比如,虚拟构件具体可以是指在游戏场景中,玩家控制虚拟对象在虚拟场景中建造的房屋。虚拟构件构建完成后,用户若通过终端上传虚拟构件关联数据至服务器,可以使得服务器将用户的虚拟构件关联数据下发至其他用户的终端,以使得用户的虚拟构件在其他用户的终端上显示,若其他用户只需要从外部观察虚拟构件,应该对虚拟构件进行遮挡剔除。举例说明,在游戏场景中,对于处于同一个游戏服务器的玩家来说,可以观察到其余玩家所建造的房屋,在房屋外观察时,房屋大部分内部结构应该由遮挡剔除进行剔除。
3.传统技术中,常用的遮挡剔除方式为,使用策划的针对不同种类的结构部件进行配置来生成虚拟构件轮廓,如果部件被配置成轮廓部件,则算入虚拟构件轮廓中,反之则被剔除。其中,策划可以实现强制配置,比如在游戏场景中,针对用户建造的房屋来说,沙发、电视等在远处不需要显示的结构不显示。
4.然而,传统方法,如果有大量的策划配置的轮廓部件被遮挡时,这部分被遮挡的数据其实是不必要的,但仍然会创建,从而使得服务器会下发大量不必要的数据。
技术实现要素:5.基于此,有必要针对上述技术问题,提供一种能够减少不必要数据下发的虚拟构件轮廓信息获取方法、装置、计算机设备、存储介质和程序产品以及实现高效轮廓显示的虚拟构件轮廓显示方法、装置、计算机设备、存储介质和程序产品。
6.一种虚拟构件轮廓信息获取方法,所述方法包括:
7.获取虚拟构件对应构建区域的结构数据;
8.根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
9.当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
10.当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
11.根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
12.一种虚拟构件轮廓信息获取装置,所述遮挡剔除装置包括:
13.获取模块,用于获取虚拟构件对应构建区域的结构数据;
14.遍历模块,用于根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
15.处理模块,用于当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
16.更新模块,用于当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
17.信息生成模块,用于根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
19.获取虚拟构件对应构建区域的结构数据;
20.根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
21.当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
22.当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
23.根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
24.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
25.获取虚拟构件对应构建区域的结构数据;
26.根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
27.当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
28.当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
29.根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
30.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
31.获取虚拟构件对应构建区域的结构数据;
32.根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
33.当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
34.当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
35.根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
36.一种虚拟构件轮廓显示方法,所述方法包括:
37.接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到;
38.根据第一用户标识缓存虚拟构件对应的轮廓信息;
39.接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户
标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
40.一种虚拟构件轮廓显示装置,所述轮廓显示装置包括:
41.接收模块,用于接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到;
42.缓存模块,用于根据第一用户标识缓存虚拟构件对应的轮廓信息;
43.数据下发模块,用于接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
44.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
45.接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到;
46.根据第一用户标识缓存虚拟构件对应的轮廓信息;
47.接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
48.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
49.接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到;
50.根据第一用户标识缓存虚拟构件对应的轮廓信息;
51.接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
52.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
53.接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到;
54.根据第一用户标识缓存虚拟构件对应的轮廓信息;
55.接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
56.上述虚拟构件轮廓信息获取方法、装置、计算机设备、存储介质和程序产品,通过获取虚拟构件对应构建区域的结构数据,根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格,能够在单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,利用单位方格与预设虚拟构件位置参照点的相对位置信息,判断单位方格是否为轮廓边缘方格,从而可以在单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,进而可以在所有单位方格均被遍历时,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息,整个过程,能够动
态计算出虚拟构件对应的轮廓结构信息,剔除不必要的结构数据,从而能够使得服务器减少不必要数据下发。
57.上述虚拟构件轮廓显示方法、装置、计算机设备、存储介质和程序产品,通过接收第一用户的、携带第一用户标识以及虚拟构件对应的轮廓信息的轮廓信息上传请求,根据第一用户标识获取缓存中对应的虚拟构件轮廓信息,能够根据第一用户标识实现对虚拟构件对应的轮廓信息的缓存,从而可以在第二用户发送的轮廓数据下发请求携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发,整个过程,由于下发的是动态计算出来的虚拟构件对应的轮廓结构信息,已剔除不必要的结构数据,能够实现高效轮廓显示。
附图说明
58.图1为一个实施例中虚拟构件轮廓信息获取方法的流程示意图;
59.图2为另一个实施例中虚拟构件轮廓信息获取方法的流程示意图;
60.图3为又一个实施例中虚拟构件轮廓信息获取方法的流程示意图;
61.图4为一个实施例中虚拟构件轮廓显示方法的应用环境图;
62.图5为一个实施例中虚拟构件轮廓显示方法的流程示意图;
63.图6为一个实施例中虚拟构件轮廓显示方法的应用场景图;
64.图7为一个实施例中虚拟构件轮廓信息获取装置的结构框图;
65.图8为一个实施例中虚拟构件轮廓显示装置的结构框图;
66.图9为一个实施例中计算机设备的内部结构图;
67.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
68.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
69.在一个实施例中,如图1所示,提供了一种虚拟构件轮廓信息获取方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以是区块链上的节点。本实施例中,该方法包括以下步骤:
70.步骤102,获取虚拟构件对应构建区域的结构数据。
71.其中,构建区域是指用于在构建虚拟构件的区域。结构数据是指构建区域中每层级结构组件的单位方格的结构信息。结构组件是指将构建区域离散化成单位方格后,在同一个高度层级的所有单位方格集合,举例说明,同一个高度层级具体可以是指同一个z轴高度,其中的z轴方向可以按照需要自行设置,进一步地,在构建区域中会设置对应的空间直角坐标系,即xyz坐标系,空间直角坐标系的原点可根据虚拟构件自行设置。比如,空间直角坐标系的原点可以为虚拟构件分别在三个坐标轴方向上中点位置的交点。举例说明,当虚
拟构件为规则几何图形时,空间直角坐标系的原点可以为虚拟构件的几何中心。单位方格是指构建区域中的最小区域单元,每个单位方格都带有三维坐标,在确定空间直角坐标系的原点后,即可确定每一个单位方格的三维坐标。举例说明,单位方格具体可以为3*3*1大小的单位方格。
72.具体的,在用户在虚拟构件构建界面完成虚拟构件构建后,终端会响应用户的虚拟构件构建完成操作,获取虚拟构件结构数据,根据虚拟构件结构数据,确定虚拟构件对应构建区域中哪些单位方格存在虚拟构件结构,得到虚拟构件对应构建区域的结构数据。
73.步骤104,根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格。
74.具体的,在得到结构数据后,终端会根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格,获取每个单位方格的结构信息,根据结构信息判断每个单位方格是否存在虚拟构件结构,并针对存在虚拟构件结构的单位方格进行下一步处理。其中,当单位方格存在虚拟构件结构时,单位方格的结构信息中会存在与虚拟构件结构对应的构件结构标识。
75.步骤106,当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息。
76.其中,单位方格的位置信息是指单位方格在虚拟构件对应构建区域中的坐标信息。举例说明,单位方格的位置信息具体可以是指单位方格在虚拟构件对应构建区域中的三维坐标。预设虚拟构件位置参照点是指预先设置的、用于对构建区域的单位方格进行位置参照的点。比如,预设虚拟构件位置参照点具体可以是指构建区域中空间直角坐标系的原点。
77.其中,相对位置信息是指单位方格与预设建筑位置参照点在每个坐标轴方向上的相对距离。比如,当预设建筑位置参照点为构建区域中空间直角坐标系的原点时,相对位置信息具体可以是指单位方格与预设建筑位置参照点在x轴、y轴和z轴方向上的相对距离。需要说明的是,相对位置信息可以用绝对值表示,也可以用带符号的数值表示。
78.下面对用带符号的数值表示相对位置信息进行举例说明,预设建筑位置参照点的坐标为(0,0,0),若单位方格的位置信息为(2,3,-1),则可以得到在x轴上的相对位置信息为+2,在y轴上的相对位置信息为+3,在z轴上的相对位置信息为-1。对应的,若采用绝对值表示,则可以得到在x轴上的相对位置信息为2,在y轴上的相对位置信息为3,在z轴上的相对位置信息为1。
79.具体的,当单位方格的结构信息表征为存在虚拟构件结构时,表示单位方格存在对应的虚拟构件结构,终端会获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息。
80.步骤108,当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历。
81.其中,轮廓边缘方格是指包括被判断为虚拟构件中位于边缘的虚拟构件结构的方格。预设轮廓数组是指预先设置的用于保存查找到的轮廓结构信息的数组。比如,预设轮廓数组的大小可以根据虚拟构件的尺寸确定,为2*k,其中k=x与y的最大值之和,x为虚拟构件在x轴上的长度,y为虚拟构件在y轴上的长度。轮廓结构信息是指当前被判定为虚拟构件
轮廓的一部分的、位于边缘的虚拟构件结构的信息。比如,轮廓结构信息具体可以是指虚拟构件结构的结构标识。举例说明,轮廓结构信息具体可以是指虚拟构件结构的结构id(identity document,身份标识号)。
82.具体的,在确定相对位置信息后,当预设轮廓数组中存在轮廓结构信息时,终端会获取预设轮廓数组中轮廓结构信息,以根据轮廓结构信息获取对应的当前轮廓边缘方格,确定当前轮廓边缘方格对应的当前边缘位置信息,以根据当前边缘位置信息和相对位置信息,判断单位方格是否为轮廓边缘方格。其中,当前轮廓边缘方格是指包括当前被判断为虚拟构件中位于边缘的虚拟构件结构的方格。当前边缘位置信息是指当前轮廓边缘方格与在构建区域内的位置,可以用坐标表示。
83.具体的,当根据当前边缘位置信息和相对位置信息,确定单位方格距离预设虚拟构件参照点的距离远于当前轮廓边缘方格时,表示单位方格为轮廓边缘方格,终端会用轮廓边缘方格的结构信息替换与当前边缘位置信息对应的轮廓结构信息,以实现更新预设轮廓数组中轮廓结构信息。当预设轮廓数组中不存在轮廓结构信息时,终端会直接将单位方格作为轮廓边缘方格。其中,当前边缘位置信息是与当前轮廓边缘方格对应的,当前轮廓边缘方格是与轮廓结构信息对应的,据此可以确定与当前边缘位置信息对应的轮廓结构信息。
84.步骤110,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
85.其中,虚拟构件对应的轮廓信息是指构成虚拟构件轮廓的所有虚拟构件结构的信息。比如,虚拟构件对应的轮廓信息具体可以是指构成虚拟构件轮廓的所有虚拟构件结构的结构标识。
86.具体的,直到所有单位方格均被遍历,终端会对最新的预设轮廓数组中轮廓结构信息进行过滤,滤除重复轮廓结构信息,根据过滤后的轮廓结构信息,生成虚拟构件对应的轮廓信息。
87.上述虚拟构件轮廓信息获取方法,通过获取虚拟构件对应构建区域的结构数据,根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格,能够在单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,利用单位方格与预设虚拟构件位置参照点的相对位置信息,判断单位方格是否为轮廓边缘方格,从而可以在单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,进而可以在所有单位方格均被遍历时,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息,整个过程,能够动态计算出虚拟构件对应的轮廓结构信息,剔除不必要的结构数据,从而能够使得服务器减少不必要数据下发。
88.在一个实施例中,获取虚拟构件对应构建区域的结构数据包括:
89.响应用户的虚拟构件构建完成操作,获取虚拟构件结构数据;
90.根据虚拟构件结构数据,确定与虚拟构件结构对应的目标单位方格信息;
91.获取与虚拟构件结构对应的构件结构标识,根据构件结构标识和目标单位方格信息,更新虚拟构件对应构建区域中每层级结构组件的单位方格的结构信息;
92.根据更新后的单位方格的结构信息,得到虚拟构件对应构建区域的结构数据。
93.其中,虚拟构件结构数据是指用户在虚拟构件构建界面完成虚拟构件构建后,终
端可以获取到的数据,包括结构标识以及结构属性,其中,结构属性用于描述虚拟构件结构存在于哪些单位方格中。目标单位方格信息是指存在虚拟构件结构的单位方格的信息。构件结构标识是指用于对虚拟构件结构进行区分的标识,与虚拟构件结构一一对应,可按照需要自行预先设置。比如,构件结构标识具体可以是指建筑结构id。
94.具体的,在用户在虚拟构件构建界面完成虚拟构件构建后,终端会响应用户的虚拟构件构建完成操作,获取虚拟构件结构数据,根据虚拟构件结构数据,确定哪些单位方格中包括哪些虚拟构件结构,得到与虚拟构件结构对应的目标单位方格信息,获取与虚拟构件结构对应的构件结构标识,根据构件结构标识和目标单位方格信息,在虚拟构件对应构建区域中每层级结构组件的单位方格中写入构件结构标识,以实现更新虚拟构件对应构建区域中每层级结构组件的单位方格的结构信息。在更新完成后,终端就可以根据更新后的单位方格的结构信息,得到虚拟构件对应构建区域的结构数据。
95.本实施例中,通过响应用户的虚拟构件构建完成操作,获取虚拟构件结构数据,可以利用虚拟构件结构数据,确定对应的目标单位方格信息,从而可以在获取构件结构标识的基础上,利用构件结构标识和目标单位方格信息去更新虚拟构件对应构建区域中每层级结构组件的单位方格的结构信息,实现对虚拟构件对应构建区域的结构数据的获取。
96.在一个实施例中,根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格包括:
97.根据结构数据,获取当前遍历单位方格的结构信息;
98.当当前遍历单位方格的结构信息中存在构件结构标识时,确定当前遍历单位方格的结构信息表征为存在虚拟构件结构。
99.具体的,在遍历虚拟构件对应构建区域中每层级结构组件的单位方格时,终端会根据结构数据,获取当前遍历单位方格的结构信息,当当前遍历单位方格的结构信息中存在构件结构标识时,表示当前遍历单位方格中存在虚拟构件结构,确定当前遍历单位方格的结构信息表征为存在虚拟构件结构。进一步的,在遍历虚拟构件对应构建区域中每层级结构组件的单位方格时,可以采用的遍历方式为依次遍历每层级结构组件,在遍历每层级结构组件时依次遍历其中所有单位方格。
100.本实施例中,通过获取当前遍历单位方格的结构信息,能够根据结构信息中是否存在构件结构标识,实现对当前遍历单位方格是否存在虚拟构件结构的判断。
101.在一个实施例中,当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历之前,还包括:
102.获取预设轮廓数组中轮廓结构信息对应的当前轮廓边缘方格,确定当前轮廓边缘方格对应的当前边缘位置信息;
103.根据当前边缘位置信息和相对位置信息,判断单位方格是否为轮廓边缘方格。
104.具体的,在确定相对位置信息后,当预设轮廓数组中存在轮廓结构信息时,终端会获取预设轮廓数组中轮廓结构信息,以根据轮廓结构信息获取对应的当前轮廓边缘方格,确定当前轮廓边缘方格对应的当前边缘位置信息,根据当前边缘位置信息计算当前轮廓边缘方格与预设虚拟构件参照点之间的距离,根据该距离和相对位置信息,去判断单位方格距离预设虚拟构件参照点的距离是否远于任意当前轮廓边缘方格,当单位方格距离预设虚
拟构件参照点的距离远于当前轮廓边缘方格时,表示单位方格为轮廓边缘方格,终端会用轮廓边缘方格的结构信息替换与当前边缘位置信息对应的轮廓结构信息,以实现更新预设轮廓数组中轮廓结构信息。
105.其中,在每个坐标轴方向上,都会存在对应的当前轮廓边缘方格,因此,在根据当前轮廓边缘方格与预设虚拟构件参照点之间的距离和相对位置信息,去判断单位方格距离预设虚拟构件参照点的距离是否远于任意当前轮廓边缘方格时,需要以坐标轴方向为依据进行比对,即将单位方格与每个坐标轴方向上的当前轮廓边缘方格都进行比对。只要存在任意当前轮廓边缘方格在对应坐标轴方向上,距离预设虚拟构件参照点的距离小于单位方格,就可以认为单位方格为轮廓边缘方格,终端会用轮廓边缘方格的结构信息,替换在该对应坐标轴方向上与预设虚拟构件参照点的距离小于单位方格的当前边缘位置信息对应的轮廓结构信息,以实现更新预设轮廓数组中轮廓结构信息。
106.举例说明,假设针对预设虚拟构件轮廓参照点,其在x轴正方向上,与当前轮廓边缘方格之间的距离为+5且与单位方格之间的相对位置距离为+6,则可以认为在x轴正方向上,单位方格距离预设虚拟构件参照点的距离远于当前轮廓边缘方格。
107.本实施例中,通过获取预设轮廓数组中轮廓结构信息对应的当前轮廓边缘方格,确定当前轮廓边缘方格对应的当前边缘位置信息,能够利用当前边缘位置信息和相对位置信息,实现对单位方格是否为轮廓边缘方格的判断。
108.在一个实施例中,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息包括:
109.对最新的预设轮廓数组中轮廓结构信息进行过滤,滤除重复轮廓结构信息,根据过滤后的轮廓结构信息,生成虚拟构件对应的轮廓信息。
110.具体的,直到所有单位方格均被遍历,终端会对最新的预设轮廓数组中轮廓结构信息进行过滤,以滤除重复轮廓结构信息,从而可以根据过滤后的轮廓结构信息,生成虚拟构件对应的轮廓信息。举例说明,在预设轮廓数组中轮廓结构信息可以用轮廓结构标识表示,则终端使用哈希运算去计算轮廓结构标识对应的哈希值,通过比对哈希值,可以滤除重复轮廓结构信息,即相同的轮廓结构信息,在预设轮廓数组中只保存一份,过滤完成后所得到的轮廓结构信息即为虚拟构件对应的轮廓信息。
111.本实施例中,通过对最新的预设轮廓数组中轮廓结构信息进行过滤,滤除重复轮廓结构信息,能够得到不冗余的虚拟构件对应的轮廓信息。
112.在一个实施例中,直到所有单位方格均被遍历,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息之后,还包括:
113.上传虚拟构件对应的轮廓信息至服务器。
114.具体的,在生成虚拟构件对应的轮廓信息之后,终端会上传虚拟构件对应的轮廓信息至服务器,以使得服务器根据虚拟构件对应的轮廓信息实现对用户对应的轮廓信息的更新和缓存。
115.本实施例中,通过上传虚拟构件对应的轮廓信息至服务器,能够提示服务器对虚拟构件对应的轮廓信息进行更新,以实现准确下发轮廓信息,减少对不必要数据的下发。
116.在一个实施例中,如图2所示,以虚拟构件为游戏场景中的虚拟庄园为例,通过一个流程示意图来说明本技术的虚拟构件轮廓信息获取方法,该遮挡剔除方法具体包括以下
步骤:
117.响应用户的虚拟构件构建完成操作,生成轮廓(即获取虚拟构件结构数据),获取庄园stage数组,i=0(即获取虚拟构件对应构建区域的结构数据),根据庄园stage数组,遍历庄园中stage中unitcube(即虚拟构件对应构建区域中每层级结构组件的单位方格),当unitcube存在建造元素(即虚拟构件结构)且比边界集合中存储的cube坐标(即当前轮廓边缘方格)离原点(即预设虚拟构件位置参照点)更远时,替换边界集合中的值(即当根据相对位置信息确定单位方格为轮廓边缘方格时,根据单位方格的结构信息,更新预设轮廓数组中轮廓结构信息),直到所有单位方格均被遍历,hash(哈希)筛选边界集合保存的建造元素,输出筛选完的边界集合为轮廓(即对最新的预设轮廓数组中轮廓结构信息进行过滤,滤除重复轮廓结构信息,根据过滤后的轮廓结构信息,生成虚拟构件对应的轮廓信息,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息)。
118.在一个实施例中,如图3所示,通过一个流程示意图来说明本技术的虚拟构件轮廓信息获取方法,该遮挡剔除方法具体包括以下步骤:
119.步骤302,响应用户的虚拟构件构建完成操作,获取虚拟构件结构数据;
120.步骤304,根据虚拟构件结构数据,确定与虚拟构件结构对应的目标单位方格信息;
121.步骤306,获取与虚拟构件结构对应的构件结构标识,根据构件结构标识和目标单位方格信息,更新虚拟构件对应构建区域中每层级结构组件的单位方格的结构信息;
122.步骤308,根据更新后的单位方格的结构信息,得到虚拟构件对应构建区域的结构数据;
123.步骤310,根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
124.步骤312,当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
125.步骤314,获取预设轮廓数组中轮廓结构信息对应的当前轮廓边缘方格,确定当前轮廓边缘方格对应的当前边缘位置信息;
126.步骤316,根据当前边缘位置信息和相对位置信息,判断单位方格是否为轮廓边缘方格;
127.步骤318,当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
128.步骤320,对最新的预设轮廓数组中轮廓结构信息进行过滤,滤除重复轮廓结构信息,根据过滤后的轮廓结构信息,生成虚拟构件对应的轮廓信息;
129.步骤322,上传虚拟构件对应的轮廓信息至服务器。
130.本技术提供的虚拟构件轮廓显示方法,可以应用于如图4所示的应用环境中。其中,终端402和终端404通过网络与服务器406进行通信。服务器406接收第一用户通过终端402发送的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到,根据第一用户标识缓存虚拟构件对应的轮廓信息,接收第二用户通过终端404发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的
轮廓信息、并下发至终端404。其中,终端402和404可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器406可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以是区块链上的节点。
131.在一个实施例中,如图5所示,提供了一种虚拟构件轮廓显示方法,以该方法应用于图4中的服务器为例进行说明,包括以下步骤:
132.步骤502,接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到。
133.具体的,第一用户在终端生成虚拟构件对应的轮廓信息后,会通过所使用的终端上传轮廓信息上传请求至服务器,服务器会接收到第一用户的轮廓信息上传请求,以根据其中携带的第一用户标识缓存虚拟构件对应的轮廓信息。
134.步骤504,根据第一用户标识缓存虚拟构件对应的轮廓信息。
135.具体的,在根据第一用户标识缓存虚拟构件对应的轮廓信息时,服务器会先根据第一用户标识查询缓存中是否已缓存有与第一用户标识对应的历史虚拟构件轮廓信息,当缓存中未缓存有与第一用户标识对应的历史虚拟构件轮廓信息时,服务器会直接根据第一用户标识缓存虚拟构件对应的轮廓信息,当缓存中已缓存有与第一用户标识对应的历史虚拟构件轮廓信息时,服务器会比对缓存中已缓存的历史虚拟构件轮廓信息以及新接收到的虚拟构件对应的轮廓信息,当两者不一致时,缓存虚拟构件对应的轮廓信息,若两者一致,则不需要更新缓存。
136.步骤506,接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
137.具体的,当第二用户在确认需要获取第一用户的虚拟构件的轮廓数据时,会通过自身使用的终端发送轮廓数据下发请求至服务器,服务器会接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发至第二用户所使用的终端,以使得第二用户所使用的终端获取到第一用户的虚拟构件的轮廓数据,根据第一用户的虚拟构件的轮廓数据在自身终端显示第一用户的虚拟构件的轮廓。
138.上述虚拟构件轮廓显示方法,通过接收第一用户的、携带第一用户标识以及虚拟构件对应的轮廓信息的轮廓信息上传请求,根据第一用户标识获取缓存中对应的虚拟构件轮廓信息,能够根据第一用户标识实现对虚拟构件对应的轮廓信息的缓存,从而可以在第二用户发送的轮廓数据下发请求携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发,整个过程,由于下发的是动态计算出来的虚拟构件对应的轮廓结构信息,已剔除不必要的结构数据,能够实现高效轮廓显示。
139.在一个实施例中,如图6所示,提供一个应用场景来说明本技术的虚拟构件轮廓显示方法,其中,虚拟构件为虚拟庄园,该虚拟构件轮廓显示方法具体包括以下内容:
140.玩家a在完成庄园建造后,通过第一终端发送完成庄园建造提示至服务器,服务器发送回调提示至第一终端,第一终端响应玩家a的庄园构建完成操作,生成庄园对应的轮廓信息,发送轮廓信息上传请求至服务器,轮廓信息上传请求中携带玩家a标识以及庄园对应的轮廓信息,服务器接收轮廓信息上传请求,根据玩家a标识缓存庄园对应的轮廓信息,在
接收到玩家b通过第二终端发送的轮廓数据下发请求时,当数据轮廓下发请求中携带的玩家a标识时,从缓存中获取庄园对应的轮廓信息、并下发,从而玩家b在第二终端可以根据接收到的庄园对应的轮廓信息,生成玩家a的轮廓庄园。
141.应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
142.在一个实施例中,如图7所示,提供了一种虚拟构件轮廓信息获取装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块702、遍历模块704、处理模块706、更新模块708和信息生成模块710,其中:
143.获取模块702,用于获取虚拟构件对应构建区域的结构数据;
144.遍历模块704,用于根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格;
145.处理模块706,用于当单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,根据位置信息,确定单位方格与预设虚拟构件位置参照点的相对位置信息;
146.更新模块708,用于当根据相对位置信息确定单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,直到所有单位方格均被遍历;
147.信息生成模块710,用于根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息。
148.上述虚拟构件轮廓信息获取方法,通过获取虚拟构件对应构建区域的结构数据,根据结构数据,遍历虚拟构件对应构建区域中每层级结构组件的单位方格,能够在单位方格的结构信息表征为存在虚拟构件结构时,获取单位方格的位置信息,利用单位方格与预设虚拟构件位置参照点的相对位置信息,判断单位方格是否为轮廓边缘方格,从而可以在单位方格为轮廓边缘方格时,根据轮廓边缘方格的结构信息,更新预设轮廓数组中轮廓结构信息,进而可以在所有单位方格均被遍历时,根据最新的预设轮廓数组中轮廓结构信息,生成虚拟构件对应的轮廓信息,整个过程,能够动态计算出虚拟构件对应的轮廓结构信息,剔除不必要的结构数据,从而能够使得服务器减少不必要数据下发。
149.在一个实施例中,获取模块还用于响应用户的虚拟构件构建完成操作,获取虚拟构件结构数据,根据虚拟构件结构数据,确定与虚拟构件结构对应的目标单位方格信息,获取与虚拟构件结构对应的构件结构标识,根据构件结构标识和目标单位方格信息,更新虚拟构件对应构建区域中每层级结构组件的单位方格的结构信息,根据更新后的单位方格的结构信息,得到虚拟构件对应构建区域的结构数据。
150.在一个实施例中,遍历模块还用于根据结构数据,获取当前遍历单位方格的结构信息,当当前遍历单位方格的结构信息中存在构件结构标识时,确定当前遍历单位方格的结构信息表征为存在虚拟构件结构。
151.在一个实施例中,更新模块还用于获取预设轮廓数组中轮廓结构信息对应的当前轮廓边缘方格,确定当前轮廓边缘方格对应的当前边缘位置信息,根据当前边缘位置信息和相对位置信息,判断单位方格是否为轮廓边缘方格。
152.在一个实施例中,信息生成模块还用于对最新的预设轮廓数组中轮廓结构信息进行过滤,滤除重复轮廓结构信息,根据过滤后的轮廓结构信息,生成虚拟构件对应的轮廓信息。
153.在一个实施例中,遮挡剔除装置还包括信息上传模块,信息上传模块用于上传虚拟构件对应的轮廓信息至服务器。
154.在一个实施例中,如图8所示,提供了一种虚拟构件轮廓显示装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:接收模块802、缓存模块804和数据下发模块806,其中:
155.接收模块802,用于接收第一用户的轮廓信息上传请求,轮廓信息上传请求携带第一用户标识以及虚拟构件对应的轮廓信息,其中,虚拟构件对应的轮廓信息通过上述虚拟构件轮廓信息获取方法得到;
156.缓存模块804,用于根据第一用户标识缓存虚拟构件对应的轮廓信息;
157.数据下发模块806,用于接收第二用户发送的轮廓数据下发请求,当轮廓数据下发请求中携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发。
158.上述虚拟构件轮廓显示方法,通过接收第一用户的、携带第一用户标识以及虚拟构件对应的轮廓信息的轮廓信息上传请求,根据第一用户标识获取缓存中对应的虚拟构件轮廓信息,能够根据第一用户标识实现对虚拟构件对应的轮廓信息的缓存,从而可以在第二用户发送的轮廓数据下发请求携带有第一用户标识时,从缓存中获取虚拟构件对应的轮廓信息、并下发,整个过程,由于下发的是动态计算出来的虚拟构件对应的轮廓结构信息,已剔除不必要的结构数据,能够实现高效轮廓显示。
159.关于虚拟构件轮廓信息获取装置以及虚拟构件轮廓显示装置的具体限定可以参见上文中对于虚拟构件轮廓信息获取方法以及虚拟构件轮廓显示方法的限定,在此不再赘述。上述虚拟构件轮廓信息获取装置以及虚拟构件轮廓显示装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
160.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储虚拟构件对应的轮廓信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟构件轮廓显示方法。
161.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显
示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种虚拟构件轮廓信息获取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
162.本领域技术人员可以理解,图9和图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
163.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
164.在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
165.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
166.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
167.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
168.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。