一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

模型生成方法、装置和电子设备与流程

2021-09-10 20:15:00 来源:中国专利 TAG:电子设备 装置 生成 模型 公开


1.本公开涉及游戏技术领域,尤其是涉及一种模型生成方法、装置和电子设备。


背景技术:

2.在游戏场景中,为优化画面展现效果或玩法需要,有时需要在该游戏场景中生成一些墙体或碰撞体等,其中,墙体可以用作障碍物或装饰物等,碰撞体可以在游戏场景中进行碰撞检测等;相关技术中,通常直接将相关建模软件中已有的成品模型作为墙体或碰撞体,并设置在游戏场景中,由于成品模型的外形结构已经固定,难以保证与当前游戏场景的有效匹配,例如,如果当前游戏场景中,需要设置墙体或碰撞体的地面是起伏的,由于成品模型的外形结构已经固定,导致难以完美贴合起伏的地面,可能会在地面和成品模型之间产生缝隙等,降低了游戏品质和用户体验。


技术实现要素:

3.本公开的目的在于提供一种模型生成方法、装置和电子设备,以提高游戏品质和用户体验。
4.本公开提供的一种模型生成方法,方法包括:获取模型生成位置,以及模型形状生成参数;其中,模型形状生成参数用于:确定目标模型的模型形状;基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;对模型形状进行图像渲染处理,得到目标模型。
5.进一步的,模型形状生成参数包括:目标模型在虚拟表面所占区域大小;基于模型形状生成参数,在模型生成位置生成目标模型的模型形状的步骤包括:基于目标模型在虚拟表面所占区域大小,以及模型生成位置的中心点坐标,确定第一起始位置点的位置坐标;其中,第一起始位置点位于模型生成位置的虚拟表面;基于第一起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
6.进一步的,模型形状生成参数还包括:目标模型的高度;基于第一起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状的步骤包括:将第一起始位置点的位置坐标中的高度坐标与目标模型的高度相加,得到与第一起始位置点对应的第二起始位置点的位置坐标中的高度坐标;基于第二起始位置点的位置坐标中的高度坐标,确定第二起始位置点的位置坐标,其中,第二起始位置点位于与第一起始位置点所处的虚拟表面垂直的维度上;基于第一起始位置点的位置坐标,以及第二起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
7.进一步的,模型形状生成参数还包括:位置点密度;基于第一起始位置点的位置坐标,以及第二起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状的步骤包括:基于第一起始位置点的位置坐标、第二起始位置点的位置坐标,以及位置点密度,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标;基于每个位置点的
位置坐标,在模型生成位置生成目标模型的模型形状。
8.进一步的,基于第一起始位置点的位置坐标、第二起始位置点的位置坐标,以及位置点密度,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标的步骤包括:分别从第一起始位置点的位置坐标和第二起始位置点的位置坐标开始,按照位置点密度,沿模型生成位置顺时针或逆时针的方向,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标。
9.进一步的,基于每个位置点的位置坐标,在模型生成位置生成目标模型的模型形状的步骤包括:保存每个位置点的位置坐标;基于每个位置点的位置坐标的保存顺序,依次连接相邻的两组位置点对中的每个位置点,在模型生成位置组合成目标模型的模型形状。
10.进一步的,每组位置点对中,第一位置点的位置坐标中的高度坐标,与第二位置点的位置坐标中的高度坐标之间的差值,与目标模型的高度相同;第一位置点的位置坐标和第二位置点的位置坐标中,除高度坐标之外的坐标值对应相同。
11.进一步的,目标模型包括虚拟墙体、虚拟边界线或虚拟碰撞体。
12.本公开提供的一种模型生成装置,装置包括:获取模块,用于获取模型生成位置,以及模型形状生成参数;其中,模型形状生成参数用于:确定目标模型的模型形状;生成模块,用于基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;处理模块,用于对模型形状进行图像渲染处理,得到目标模型。
13.本公开提供的一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述任一项的模型生成方法。
14.本公开提供的一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述任一项的模型生成方法。
15.本公开提供的模型生成方法、装置和电子设备,首先获取模型生成位置,以及模型形状生成参数,然后基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;最后对模型形状进行图像渲染处理,得到目标模型。该方式中,模型形状由至少一组位置点对组成,每组位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;从而可以保证最终生成的目标模型贴合在虚拟表面,提高了游戏品质和用户体验。
附图说明
16.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本公开实施例提供的一种模型生成方法的流程图;
18.图2为本公开实施例提供的一种模型生成方法的流程图;
19.图3为本公开实施例提供的一种模型的形状示意图;
20.图4为本公开实施例提供的一种模型的形状示意图;
21.图5为本公开实施例提供的一种模型生成装置的结构示意图;
22.图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
23.下面将结合实施例对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
24.相关技术中,如果需要在游戏场景中生成一些墙体或碰撞体等,一般采用的方式是,直接将在相关建模软件中制作的成品模型作为墙体或碰撞体,并设置在游戏场景中,该方式存在成品模型与当前游戏场景匹配度较差的问题,例如,如果当前游戏场景中,需要设置墙体或碰撞体的地面是起伏的,可能存在成品模型不能完美贴合起伏的地面,导致在地面和成品模型之间产生缝隙、造成穿帮等问题,降低了游戏品质和用户体验。
25.基于此,本公开实施例提供了一种模型生成方法、装置和电子设备,该技术可以应用于需要在游戏场景中创建模型的应用中。
26.为便于对本实施例进行理解,首先对本公开实施例所公开的一种模型生成方法进行详细介绍;如图1所示,该方法包括如下步骤:
27.步骤s102,获取模型生成位置,以及模型形状生成参数;其中,模型形状生成参数用于:确定目标模型的模型形状。
28.上述目标模型可以是在游戏场景中需要创建的任意模型,比如,该目标模型可以是虚拟墙体、虚拟碰撞体或虚拟边界线等;上述模型形状可以理解为目标模型的外形形状,该模型形状可以是任意形状,比如,可以是正方形、圆形、梯形或椭圆形等,比如,如果目标模型是虚拟墙体,该虚拟墙体的外形形状可以是正方形的包围墙等;上述模型生成位置可以理解为,在游戏场景中需要创建目标模型的具体位置,比如,如果需要在游戏场景中的虚拟地面的指定区域创建虚拟墙体,则该虚拟地面的指定区域即对应上述模型生成位置;上述模型形状生成参数可以包括目标模型在虚拟表面所占区域大小、目标模型的高度等参数,用户可以根据实际需求预先设置模型形状生成参数,通过这些模型形状生成参数可以确定出目标模型的模型形状;在实际实现时,当需要在游戏场景中创建目标模型时,用户可以根据实际需求,在该游戏场景中选择需要创建该目标模型的模型生成位置,以及可以用于确定目标模型的模型形状的模型形状生成参数,然后获取用户所确定的模型生成位置,以及模型形状生成参数。
29.步骤s104,基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上。
30.上述模型生成位置的虚拟表面可以理解为,在游戏场景中,模型生成位置所对应
的表面区域,比如,如果模型生成位置是游戏场景中的虚拟地面的指定区域,则该指定区域的虚拟地面即对应上述模型生成位置的虚拟表面;在实际实现时,当获取到上述模型生成位置,以及模型形状生成参数后,就可以基于该模型形状生成参数,在模型生成位置生成上述目标模型的模型形状;该模型形状中可以包括一组或多组位置点对,每组位置点对中通常包括两个位置点,其中,第一位置点位于模型生成位置的虚拟表面,以使模型形状与模型生成位置的虚拟表面贴合,比如,如果模型生成位置是游戏场景中的虚拟地面的指定区域,则该第一位置点可以位于该指定区域的虚拟地面上;每组位置点对中的第二位置点通常位于与对应的第一位置点所处的虚拟表面垂直的维度上,比如,如果第一位置点位于虚拟地面,则对应的第二位置点的位置可以是,在与虚拟地面垂直的高度方向上,对第一位置点增加模型高度后所对应的位置点。
31.步骤s106,对模型形状进行图像渲染处理,得到目标模型。
32.上述图像渲染处理可以是设置模型形状的材质,对模型形状进行着色、调光或贴图处理等,以使经过图像渲染处理后的模型形状更接近于现实世界;在实际实现时,当在模型生成位置生成目标模型的模型形状后,可以对该模型形状进行图像渲染处理,比如,可以对该模型形状设置材质、进行贴图处理等,以使渲染后得到的目标模型可以达到预期效果;具体可以参考相关技术中的图像渲染方式,在此不再赘述。
33.上述模型生成方法,首先获取模型生成位置,以及模型形状生成参数,然后基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;最后对模型形状进行图像渲染处理,得到目标模型。该方式中,模型形状由至少一组位置点对组成,每组位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;从而可以保证最终生成的目标模型贴合在虚拟表面,提高了游戏品质和用户体验。
34.在一可选的实施方式中,该方法在上述实施例方法的基础上实现;该方法重点描述基于模型形状生成参数,在模型生成位置生成目标模型的模型形状的具体过程,具体对应步骤s204至步骤s206,该方法中,模型形状生成参数包括:目标模型在虚拟表面所占区域大小,目标模型的高度,位置点密度;其中,目标模型在虚拟表面所占区域大小也可以理解为目标模型在虚拟表面所占区域的范围大小,具体可以根据实际需求预先进行设定,比如,预先设定该范围大小为1000cm*1000cm等;目标模型的高度也可以根据实际需求预先进行设定,比如,可以从1cm~100000cm中选取一个固定值作为该目标模型的高度等;上述位置点密度可以通过设定相邻两组位置点对之间的直线距离来表示,用户可以根据实际需求预先设定该直线距离,比如,该直线距离可以是1cm~10000000cm中的任意常数,例如可以设定该直线距离为50cm等,一般情况下,所设定的相邻两组位置点对之间的直线距离越短,位置点密度越大,所设定的相邻两组位置点对之间的直线距离越长,位置点密度越小;通常位置点密度越大,所得到的目标模型与虚拟表面的贴合度越好。如图2所示,该方法包括如下步骤:
35.步骤s202,获取模型生成位置,以及模型形状生成参数;其中,模型形状生成参数用于:确定目标模型的模型形状。
36.在实际实现时,上述目标模型可以包括虚拟墙体、虚拟边界线或虚拟碰撞体等,在
游戏场景中,虚拟墙体可以用作障碍物或装饰物等,虚拟边界线可以用于对游戏场景中的区域进行划分;虚拟碰撞体可以用于在游戏场景中进行碰撞检测等;当然,该目标模型还可以是其他任意模型,用户可以通过设置适合的模型形状生成参数,以得到所需要的目标模型。
37.步骤s204,基于目标模型在虚拟表面所占区域大小,以及模型生成位置的中心点坐标,确定第一起始位置点的位置坐标;其中,第一起始位置点位于模型生成位置的虚拟表面。
38.上述模型生成位置的中心点坐标可以理解为该模型生成位置的中心点所对应的坐标值,通常可以将该中心点坐标作为原点坐标,在与虚拟表面平行的维度上,以原点向右的方向为x轴正方向,原点向下的方向为y轴正方向为例,则中心点坐标在x轴方向和y轴方向的坐标值均为0;上述第一起始位置点的位置坐标可以理解为,为确定目标模型的模型形状,所确定的第一个位置点的坐标值,从该第一起始位置点开始,可以依次确定出后续的位置点;在实际实现时,在获取到模型生成位置,以及模型形状生成参数后,可以基于模型形状生成参数中,目标模型在虚拟表面所占区域大小,以及该模型生成位置的中心点坐标,可以确定第一起始位置点的位置坐标,为使所生成的目标模型贴合模型生成位置的虚拟表面,通常使所确定的第一起始位置点位于该虚拟表面上;比如,以目标模型在虚拟表面所占区域大小为500cm*500cm,即为正方形形状,模型生成位置的中心点坐标在x轴方向和y轴方向的坐标值均为0,以原点向右的方向为x轴正方向,原点向下的方向为y轴正方向为例,如果取该正方形形状的左上角作为起始位置,则第一起始位置点在x轴方向的位置坐标为0

500/2=

250cm,在y方向的位置坐标为0

500/2=

250cm,该第一起始位置点位于虚拟表面上,从而可以确定出该第一起始位置点的具体位置,及相应的位置坐标。
39.步骤s206,基于第一起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
40.当确定上述第一起始位置点的位置坐标后,就可以基于该第一起始位置点的位置坐标,在模型生成位置生成上述目标模型的模型形状。具体的,上述步骤s206可以通过下述步骤一至步骤三来实现:
41.步骤一,将第一起始位置点的位置坐标中的高度坐标与目标模型的高度相加,得到与第一起始位置点对应的第二起始位置点的位置坐标中的高度坐标。
42.在实际实现时,当确定上述第一起始位置点的位置坐标后,可以提取出其中的高度坐标,由于第一起始位置点位于模型生成位置的虚拟表面,可以将该高度坐标与预先设定的目标模型的高度相加,即可得到与该第一起始位置点对应的第二起始位置点的位置坐标中的高度坐标,比如,如果如果第一起始位置点的位置坐标中的高度坐标为0cm,预先设定的目标模型的高度为50cm,则第二起始位置点的位置坐标中的高度坐标的坐标值为0 50=50cm。
43.步骤二,基于第二起始位置点的位置坐标中的高度坐标,确定第二起始位置点的位置坐标,其中,第二起始位置点位于与第一起始位置点所处的虚拟表面垂直的维度上。
44.为方便说明,以第一起始位置点在x轴方向、y轴方向和z轴方向的位置坐标分别为

250cm、

250cm和0cm,第二起始位置点的位置坐标中的高度坐标为是50cm为例,由于第二起始位置点位于与第一起始位置点所处的虚拟表面垂直的维度上,因此,在x轴方向和y
轴方向,第二起始位置点具有与第一起始位置点相同的坐标值,可以确定第二起始位置点在x轴方向、y轴方向和z轴方向的位置坐标分别为

250cm、

250cm和50cm。
45.步骤三,基于第一起始位置点的位置坐标,以及第二起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
46.当确定第二起始位置点的位置坐标后,可以基于上述第一起始位置点的位置坐标,以及该第二起始位置点的位置坐标,在模型生成位置生成上述目标模型的模型形状。具体的,该步骤三可以通过下述步骤a和步骤b来实现:
47.步骤a,基于第一起始位置点的位置坐标、第二起始位置点的位置坐标,以及位置点密度,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标。
48.具体的,该步骤a可以包括:分别从第一起始位置点的位置坐标和第二起始位置点的位置坐标开始,按照位置点密度,沿模型生成位置顺时针或逆时针的方向,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标。
49.为方便说明,以目标模型在虚拟表面所占区域大小为500cm*500cm,即为正方形形状,模型生成位置的中心点坐标在x轴方向和y轴方向的坐标值均为0,以原点向右的方向为x轴正方向,原点向下的方向为y轴正方向为例,第一起始位置点为正方形的左上角为例,则第一起始位置点在x轴方向和y轴方向的位置坐标分别为

250cm和

250cm,第二起始位置点在x轴方向和y轴方向的位置坐标分别为

250cm和

250cm,如果以相邻两组位置点对之间的直线距离来表示位置点密度,且该直线距离为50cm,则可以分别从第一起始位置点的位置坐标和第二起始位置点的位置坐标开始,按照该直线距离,沿着正方形形状顺时针或逆时针的方向,依次确定上述至少一组位置点对,比如,以顺时针为例,则可以确定相邻的第二组位置点对中的第一位置点和第二位置点在x轴方向的位置坐标均为

250 50=

200cm,在y轴方向的位置坐标均保持不变,仍为

250cm,该第二组位置点对中的第一位置点位于模型生成位置的虚拟表面;该第二组位置点对中,第二位置点在z轴方向的高度坐标与第一位置点在z轴方向的高度坐标之间的差值为上述目标模型的高度,从而可以确定出该第二组位置点对中的第一位置点和第二位置点的具体位置,及相应的位置坐标;依次类推,以确定后续每一组位置点对,以及每一组位置点对中,每个位置点的位置坐标。
50.上述每组位置点对中,第一位置点的位置坐标中的高度坐标,与第二位置点的位置坐标中的高度坐标之间的差值,与目标模型的高度相同;第一位置点的位置坐标和第二位置点的位置坐标中,除高度坐标之外的坐标值对应相同;即,在与虚拟表面垂直的维度上,每组位置点对中,第一位置点和第二位置点只有高度不同,第二位置点的位置坐标中的高度坐标,比第一位置点的位置坐标中的高度坐标高出了目标模型的高度这一预设固定值。
51.步骤b,基于每个位置点的位置坐标,在模型生成位置生成目标模型的模型形状。具体的,该步骤b可以通过下述步骤a和步骤b来实现:
52.步骤a,保存每个位置点的位置坐标。
53.在实际实现时,当确定上述至少一组位置点对中,每个位置点的位置坐标后,通常会保存所确定的每个位置点的位置坐标,并且通常会按照每组位置点对的确定顺序,保存相应的每个位置点的位置坐标,比如,在确定第一起始位置点的位置坐标和第二起始位置点的位置坐标后,保存相应的位置坐标,然后继续确认相邻的第二组位置点对的第一起始
位置点的位置坐标和第二起始位置点的位置坐标,在确认该第二组位置点对中的每个位置点的位置坐标后,保存相应的位置坐标,再继续确认与第二组位置点对相邻的第三组位置点对的第一起始位置点的位置坐标和第二起始位置点的位置坐标,并在确认该第三组位置点对中的每个位置点的位置坐标后,保存相应的位置坐标,依次类推,以保存上述至少一组位置点对中,每个位置点的位置坐标。
54.步骤b,基于每个位置点的位置坐标的保存顺序,依次连接相邻的两组位置点对中的每个位置点,在模型生成位置组合成目标模型的模型形状。
55.在实际实现时,在确定每个位置点的位置坐标后,可以基于每个位置点的位置坐标的保存顺序,依次连接相邻的两组位置点对中的每个位置点,比如,在确定第一起始位置点的位置坐标和第二起始位置点的位置坐标,并沿模型生成位置顺时针的方向,确定相邻的第二组位置点对后,可以按照顺时针组合的方式依次连接第二起始位置点、第二组位置点对中的第一位置点,以及第一起始位置点,得到第一个三角形,依次连接第二起始位置点、第二组位置点对中的第二位置点和第一位置点,得到第二个三角形,依次类推,对每组位置点对中的每个位置点均完成连接,得到多个三角形,对所得到的多个三角形进行组合,得到上述目标模型的模型形状。
56.步骤s208,对模型形状进行图像渲染处理,得到目标模型。
57.上述模型生成方法,首先获取模型生成位置,以及模型形状生成参数;基于目标模型在虚拟表面所占区域大小,以及模型生成位置的中心点坐标,确定第一起始位置点的位置坐标;然后基于第一起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状;最后对模型形状进行图像渲染处理,得到目标模型。该方式中,模型形状由至少一组位置点对组成,每组位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;从而可以保证最终生成的目标模型贴合在虚拟表面,提高了游戏品质和用户体验。
58.为进一步理解上述实施例,下面提供如图3所示的一种模型的形状示意图,为简化描述,下述数据均以厘米单位为例进行说明,为实现一个贴合地面的包围墙,首先确定模型生成位置的中心点坐标(0,0),如确定虚拟地面的指定区域的中心点坐标为(0,0),即图3中的黑色虚线空心圆点对应中心点坐标,设定目标模型在虚拟表面所占区域的范围大小是1000*1000,然后,基于该范围大小和中心点坐标计算出一个打点取数据的起始位置,比如,可以采取左上角作为起始位置,那左上角就是x=0

1000/2=

500,y=0

1000/2=

500,(对应上述第一起始位置点在x轴方向和y轴方向的位置坐标,第二起始位置点在x轴方向和y轴方向的位置坐标),自定义一个打点时的间距大小,比如,定义打点间距为500(对应上述通过相邻两组位置点对之间的直线距离来表示的位置点密度),表示每隔500打一次点采样数据,确定这些参数后,再计算出打点的次数,分别计算x方向和y方向的打点次数,打点的次数就是范围大小中的每个边长除以打点间距,即1000/500=2次,x方向和y方向的打点次数可以分别定义为x_count和y_count。
59.遍历打点的次数,由于包围墙是正方形,有四条边,所以该正方形的每条边都需要遍历2次,每次打点都取上点(对应上述第二位置点)和下点(对应上述第一位置点)两个点,图3中黑色实心原点对应上点,黑色实线空心圆点对应下点,每次打点所取得的上点比下点相比,只是高度z值大一些,其他坐标值对应相同(该高度z值对应上述目标模型的高度,每
组位置点对中,第一位置点的位置坐标中的高度坐标,与第二位置点的位置坐标中的高度坐标之间的差值,与目标模型的高度相同;第一位置点的位置坐标和第二位置点的位置坐标中,除高度坐标之外的坐标值对应相同),其中,该高度z值可以根据实际需求进行设置,按照顺时针的顺序遍历该正方形的四条边,采集每个上点和下点的位置信息,即每个上点和下点的位置坐标(x,y,z)(对应上述每个位置点的位置坐标),将采集到的上点和下点的位置信息作为记录进行缓存,最后基于缓存的顺序,通过图形api(application programming interface,应用程序接口)利用采集的数据点,为模型设置材质贴图就可以渲染出贴合虚拟地面的形状和效果(对应上述对模型形状进行图像渲染处理,得到目标模型),该包围墙通常是空心的形状。
60.上述图3是以正方形作为生产模型形状,用户可以根据自己的需求,修改打点方式以生成不一样的生产模型形状,例如,可以是圆形、梯形或椭圆形等。
61.下面对模型形状的组合方式进行说明,参见图4所示的一种模型的形状示意图,为方便说明,以相邻的两组位置点对为例,其中,第一组位置点对中的第二位置点以上点1表示,第一组位置点对中的第一位置点以下点1表示,第二组位置点对中的第二位置点以上点2表示,第二组位置点对中的第一位置点以下点2表示,实际实现时,任何形状一般都是通过三角形拼接得到的,一个三角形需要三个顶点,位置点的位置信息的缓存顺序与三角形的三个顶点的组合连接方式具有关联关系,如果位置点的位置信息的缓存顺序确定,则三角形的三个顶点的组合连接方式通常也就可以确定了,比如,可以是顺时针组合连接方式,或者是逆时针组合连接方式等,如果按顺时针组合连接的方式,则可以依次连接图4中的上点1、下点2和下点1得到第一个三角形,依次连接上点1、上点2和下点2得到第二个三角形,依次类推,对每组位置点对中的每个位置点均完成连接,得到多个三角形,对所得到的多个三角形进行组合,得到上述目标模型的模型形状;如果按逆时针组合连接的方式,则可以依次连接图4中的上点1、下点1和下点2得到第一个三角形,依次连接上点1、下点2和上点2得到第二个三角形,依次类推,对每组位置点对中的每个位置点均完成连接,得到多个三角形,对所得到的多个三角形进行组合,得到上述目标模型的模型形状。
62.上述方式可以在游戏中利用程序自定义生产目标模型,通过在游戏场景中,设置uv(二维的uv坐标系,其中,水平方向是u,垂直方向是v)的分布,并采用规则有序打点的方式采集相关位置点的位置信息,然后根据打点的顺序组合成几何形状,对组合成的几何形状进行渲染,最后渲染出满足预期效果的模型,该模型可以完全贴合虚拟表面,不会产生缝隙或穿帮;比如,对于游戏场景中的虚拟起伏地面,每次打点时的下点位于该虚拟起伏地面上,从而可以保证最终生成的模型能够与该虚拟起伏地面相贴合。
63.本公开实施例提供了一种模型生成装置,如图5所示,该装置包括:获取模块50,用于获取模型生成位置,以及模型形状生成参数;其中,模型形状生成参数用于:确定目标模型的模型形状;生成模块51,用于基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;处理模块52,用于对模型形状进行图像渲染处理,得到目标模型。
64.上述模型生成装置,首先获取模型生成位置,以及模型形状生成参数,然后基于模型形状生成参数,在模型生成位置生成目标模型的模型形状;其中,模型形状包括至少一组
位置点对;位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;最后对模型形状进行图像渲染处理,得到目标模型。该装置中,模型形状由至少一组位置点对组成,每组位置点对中,第一位置点位于模型生成位置的虚拟表面,第二位置点位于与第一位置点所处的虚拟表面垂直的维度上;从而可以保证最终生成的目标模型贴合在虚拟表面,提高了游戏品质和用户体验。
65.进一步的,模型形状生成参数包括:目标模型在虚拟表面所占区域大小;生成模块51还用于:基于目标模型在虚拟表面所占区域大小,以及模型生成位置的中心点坐标,确定第一起始位置点的位置坐标;其中,第一起始位置点位于模型生成位置的虚拟表面;基于第一起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
66.进一步的,模型形状生成参数还包括:目标模型的高度;生成模块51还用于:将第一起始位置点的位置坐标中的高度坐标与目标模型的高度相加,得到与第一起始位置点对应的第二起始位置点的位置坐标中的高度坐标;基于第二起始位置点的位置坐标中的高度坐标,确定第二起始位置点的位置坐标,其中,第二起始位置点位于与第一起始位置点所处的虚拟表面垂直的维度上;基于第一起始位置点的位置坐标,以及第二起始位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
67.进一步的,模型形状生成参数还包括:位置点密度;生成模块51还用于:基于第一起始位置点的位置坐标、第二起始位置点的位置坐标,以及位置点密度,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标;基于每个位置点的位置坐标,在模型生成位置生成目标模型的模型形状。
68.进一步的,生成模块51还用于:分别从第一起始位置点的位置坐标和第二起始位置点的位置坐标开始,按照位置点密度,沿模型生成位置顺时针或逆时针的方向,确定至少一组位置点对,以及至少一组位置点对中,每个位置点的位置坐标。
69.进一步的,生成模块51还用于:保存每个位置点的位置坐标;基于每个位置点的位置坐标的保存顺序,依次连接相邻的两组位置点对中的每个位置点,在模型生成位置组合成目标模型的模型形状。
70.进一步的,每组位置点对中,第一位置点的位置坐标中的高度坐标,与第二位置点的位置坐标中的高度坐标之间的差值,与目标模型的高度相同;第一位置点的位置坐标和第二位置点的位置坐标中,除高度坐标之外的坐标值对应相同。
71.进一步的,目标模型包括虚拟墙体、虚拟边界线或虚拟碰撞体。
72.本发明实施例所提供的模型生成装置,其实现原理及产生的技术效果和前述模型生成方法实施例相同,为简要描述,模型生成装置实施例部分未提及之处,可参考前述模型生成方法实施例中相应内容。
73.本公开实施例还提供了一种电子设备,参见图6所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述模型生成方法。
74.进一步地,图6所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
75.其中,存储器131可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。通过至
少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
76.处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
77.本公开实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述模型生成方法,具体实现可参见方法实施例,在此不再赘述。
78.本公开实施例所提供的模型生成方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
79.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
80.最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜