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

用于游戏场景生成的方法、装置、电子设备和存储介质与流程

2022-11-19 13:56:52 来源:中国专利 TAG:


1.本公开的实施例涉及计算机领域,并且更具体地,涉及用于游戏场景生成的方法、装置、电子设备和存储介质。


背景技术:

2.近年来,随着终端设备的计算能力和图像处理能力的提高,更高复杂度和精细度的游戏软件得以开发、运行。相应地,游戏软件中的场景规模变得更大,并且场景生成要求更高的细节呈现。
3.此类游戏场景例如可以是三维游戏场景,当玩家针对游戏地图进行移动光标时,将在空间坐标系下查看游戏地图上不同位置所配置的各类资源素材,从而在判断游戏空间中的相对位置的同时,获得逼真的三维视觉体验。
4.作为此类游戏场景的配置方法,例如,在地形类的游戏场景中,游戏开发设计人员将针对特定的地形位置,相应地配置诸如碎石、小山丘、崖壁等尺寸不同的石头资源等素材,以增加地形细节的丰富度和视觉逼真度。


技术实现要素:

5.本公开的实施例提供了一种用于游戏场景生成的方案。
6.在本公开的第一方面,提供了一种用于游戏场景生成的方法。该方法,包括:针对目标场景,确定待配置对象的目标区域;根据与所述待配置对象相关的预设信息,利用多个包围盒将所述目标区域切分成多个子区域,使得每个子区域被相应的包围盒包围;以及确定与多个所述子区域中的各个所述子区域相匹配的待配置对象并将所述相匹配的待配置对象放置于各个所述子区域。
7.在本公开的第二方面,提供了一种用于游戏场景生成的装置。该装置包括:区域确定模块,被配置为针对目标场景,确定待配置对象的目标区域;区域切分模块,被配置为根据与所述待配置对象相关的预设信息,利用多个包围盒将所述目标区域切分成多个子区域,使得每个子区域被相应的包围盒包围;以及对象配置模块,被配置为确定与多个所述子区域中的各个所述子区域相匹配的待配置对象并将所述相匹配的待配置对象放置于各个所述子区域。
8.在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理器;以及存储有计算机可执行指令的至少一个存储器,所述至少一个存储器和所述计算机可执行指令被配置为,与所述至少一个处理器一起,使得所述电子设备执行根据本公开的第一方面所述的方法。
9.在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质包括存储在其上的计算机可执行指令,所述计算机可执行指令在被执行时使一个或多个设备执行根据本公开的第一方面所述的方法。
10.提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实
施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
11.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
12.图1a示出了根据本公开的一些实施例的用于游戏场景生成的处理的流程图;
13.图1b示出了根据本公开的一些实施例的用于游戏场景生成的处理的界面示意图;
14.图1c示出了根据本公开的一些实施例的目标场景的示意图;
15.图1d示出了根据本公开的一些实施例的目标区域的示意图;
16.图1e示出了根据本公开的一些实施例的子区域的示意图;
17.图2示出了根据本公开的一些实施例的关于区域确定处理的进一步的流程图;
18.图3a示出了根据本公开的一些实施例的关于区域切分处理的进一步的流程图;
19.图3b示出了根据本公开的一些实施例的关于区域切分处理的界面示意图;
20.图3c示出了根据本公开的一些实施例的利用第一aabb包围盒进行区域切分处理的示意图;图3d示出了根据本公开的一些实施例的利用第二aabb包围盒进行区域切分处理的示意图;
21.图4a示出了根据本公开的另一些实施例的关于对象配置处理的进一步的流程图;
22.图4b示出了根据本公开的一些实施例的关于对象配置处理的界面示意图;
23.图4c示出了根据本公开的一些实施例的有向包围盒有向包围子区域的示意图;
24.图5示出了根据本公开的一些实施例的用于游戏场景生成的装置500的示意性框图;以及
25.图6示出了可以用来实施本公开的实施例的示例设备700的示意性框图。
具体实施方式
26.下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
27.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”、“第三”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
28.如本文中所使用的,术语“游戏场景”指的是游戏中的包括山峰悬崖、沙漠、平原等在内的自然环境、包括交通道路、建筑物等在内的社会环境、建筑物内部的室内环境等,通常由与各类环境相匹配的多种物件资源(诸如,石头、树木、家居等)组成,由三维技术实现。在游戏场景中,地形类场景指的是体现了地物形状和地貌的环境,例如可以由分布的碎石、小山丘、崖壁等尺寸不同的石头资源等素材共同呈现出高低起伏的各种状态,地形中的不
同区域可以由不同参数(诸如,坡度、高度、侵蚀度、起伏状况等)所定义。
29.随着游戏软件中要求场景规模更大、场景生成更精细,本发明人注意到,在游戏软件场景生成的开发设计中,仅以人工手动的方式将对象配置到相应场景位置中,仅能应对规模较小的场景或颗粒度较低的场景要求,无法适应游戏场景中对象配置位置和对象配置数量均呈指数级增长的情形。游戏开发设计人员若仅以人工手动的方式配置对象,不仅工作量相应地呈指数级增长,而且容易出现错误和偏差,亦无法有利地实现多种类、高精度的场景生成。
30.为了至少解决上述问题,本公开的示例实施例提出了一种用于游戏场景生成的方案。针对目标场景,确定待配置对象的目标区域,根据与待配置对象相关的预设信息,利用多个包围盒将目标区域切分成多个子区域,使得每个子区域被相应的包围盒包围,并且确定与多个子区域中的各个子区域相匹配的待配置对象并将相匹配的待配置对象放置于各个子区域。
31.通过本公开的用于游戏场景生成的方案,能够自动地确定游戏场景中需要配置对象的较大区域,并且能够根据对象的尺寸将该较大区域通过至少一次切分处理,切分出颗粒度更细的较小区域,在各个较小区域中相匹配地放置合适的对象,由此自动地实现复杂游戏场景中的对象配置,极大地提高了游戏场景的制作效率,同时能够得到对象配置错落有致且细节呈现更为精细、丰富、美观的游戏场景。
32.图1a示出了根据本公开的一些实施例的用于游戏场景生成的处理的流程图,图1b示出了根据本公开的一些实施例的用于游戏场景生成的处理的界面示意图,图1c示出了根据本公开的一些实施例的目标场景的示意图,图1d示出了根据本公开的一些实施例的目标区域的示意图,图1e示出了根据本公开的一些实施例的子区域的示意图。
33.在游戏场景的制作过程中,在配置对象之前,通常形成有该游戏场景的地形。一般,游戏场景的地形可以配置于三维坐标系下,地形可以具有坡度、高度及侵蚀度等地形参数,地形中各区域的高低起伏可以由不同的地形参数所定义。
34.首先,针对目标场景,执行区域确定处理。
35.如图1a和图1b所示,获取目标场景100的地形数据,在步骤s100中,针对目标场景100,确定待配置对象400的目标区域200。例如,如图1c所示,目标场景100示例为具有高低起伏的山峦,其在三维坐标系下,x轴坐标为(-50000,50000),y轴坐标为(-50000,50000),z轴坐标为(0,20000),坐标系单位例如为像素。在此,需注意的是,目标场景100并非必须铺满整个坐标轴,也可以只是上述x轴、y轴、z轴坐标下的一部分。另外,在上述示例中,坐标系单位示出为像素,但不限于此,也可以是毫米、厘米、米等任意的单位。
36.另外,执行区域确定处理后确定的目标区域200在三维坐标系下具有各自的坐标,其尺寸由各自的坐标所确定。例如,其中一个目标区域200的坐标可以是x轴坐标为(-5000,0)、y轴坐标为(-5000,0)、z轴坐标为(0,1000),其尺寸为5000
×
5000
×
1000;另一个目标区域的坐标可以是x轴坐标为(5000,10000),y轴坐标为(-1500,-1000),z轴坐标为(500,1000),其尺寸为5000
×
500
×
500。
37.图2示出了根据本公开的一些实施例的关于区域确定处理的进一步的流程图。
38.在一些实施例中,如图2所示,步骤s100可以进一步包括步骤s110和步骤s120,以获取与待配置对象400相关的预设信息,基于预设信息以及目标场景100的地形参数,从目
标场景100中确定一个或多个目标区域200。例如,预设信息包括待配置对象400的尺寸,该待配置对象400的尺寸根据长度、宽度、高度中的至少一项来确定。
39.首先,在步骤s110中,根据目标场景100的地形参数,确定目标场景100中地形参数的数值处于地形参数的最大值和最小值之间的一个或多个目标区域200。例如,地形参数可以是坡度,坡度的数值被定义为最大值为100%且最小值为50%,从目标场景100中,确定目标场景100中坡度的数值处于最大值100%和最小值50%之间的目标区域200,例如可以是坡度为60%的目标区域,也可以是坡度为80%的目标区域。在此,需注意的是,可以根据不同的地形参数的组合从目标场景100中确定目标区域200,不限于仅根据一个地形参数来确定。
40.然后,在步骤s120中,根据目标区域200之间的连通性(例如,是否彼此连接),进一步确定目标区域。例如,以将确定的目标区域200中相互连接的目标区域200确定为一个目标区域200,或者将确定的目标区域200中与其他目标区域200均不连接的目标区域200确定为一个目标区域200的方式,从目标区域200中重新确定目标区域200。由此,能够将彼此连接的目标区域200进行合并,获得作为区域切分处理的对象的独立的一个或多个目标区域200。
41.在此,根据预设信息及地形参数确定目标区域的方式不限于此,也可以根据需要选择合适的方式,只要能够选择中需要配置对象的区域即可。
42.通过本公开的区域确定处理,能够更高效地确定适于区域切分的目标区域。
43.然后,针对执行区域确定处理后确定的目标区域,执行区域切分处理。
44.接下来,如图1a和图1b所示,在步骤s200中,根据与待配置对象400相关的预设信息,利用多个包围盒将目标区域200切分成多个子区域300,使得每个子区域300被相应的包围盒包围。例如,如图1c所示,目标游戏场景100中深色部分表示目标区域200。进一步地,例如,图1d示出了图1c所示的目标区域200中的一个目标区域200。例如,图1e进一步地示出了针对图1d所示的目标区域200执行切分处理后得到的子区域300中的一个子区域300。在此,切分出的子区域300在三维坐标系下具有各自的坐标,其尺寸由各自的坐标所确定。例如,针对x轴坐标为(-5000,0)、y轴坐标为(-5000,0)、z轴坐标为(0,1000)的其中一个目标区域200,通过执行区域切分处理,可以切分成3125000个子区域300,其中一个子区域300的坐标可以是x轴坐标为(-5,0),y轴坐标为(-2,0),z轴坐标为(0,1),其尺寸为5
×2×
1。进一步地,在步骤s200中,通过多轮切分过程将目标区域200切分成多个子区域300。该多轮切分是指,从目标区域200切分成子区域300的过程经由多轮执行,通过每轮切分而得到更小的区域,以便于更匹配待配置对象的尺寸或目标区域的各项参数。
45.在此,包围盒可以基于求解离散点集最优包围空间的算法,是利用体积稍大且特性简单的几何体(诸如,正方体、长方体、圆柱体、球等)将几何对象(在本文中可以是游戏场景中的对象)完全包围(诸如,包括、包裹、容纳、覆盖等)以形成封闭空间。在本文中,包围盒包括aabb包围盒、有向包围盒、包围球、固定方向凸包等。其中,aabb(axis-aligned bounding box)包围盒是每一边平行于一个坐标平面的六面体,其长、宽、高可以彼此不同。有向包围盒(obb/oriented bounding box)是根据几何对象本身的几何形状以最紧凑的方式确定尺寸和方向的包围盒。
46.在此,待配置对象400可以包括尺寸不同的用于配置游戏场景的至少一个物件资
源(诸如,石头、树木、家居等),待配置对象400的尺寸根据长度、宽度、高度中的至少一者来确定,包括待配置对象400的尺寸、颜色、样式等在内的待配置对象400的参数可以预先存储。
47.图3a示出了根据本公开的一些实施例的关于区域切分处理的进一步的流程图,图3b示出了根据本公开的一些实施例的关于区域切分处理的界面示意图,图3c示出了根据本公开的一些实施例的利用第一aabb包围盒进行区域切分处理的示意图,图3d示出了根据本公开的一些实施例的利用第二aabb包围盒进行区域切分处理的示意图。
48.在一些实施例中,步骤s200可以进一步包括步骤s211至步骤s215。如上所述,在步骤s200中,通过多轮切分过程将目标区域200切分成多个子区域300。以下,为便于说明,以两轮切分过程为例进行示例性说明。
49.首先,在步骤s211中,根据第一aabb包围盒10的第一尺寸,生成具有第一尺寸的互相连接的多个第一aabb包围盒10。在此,第一aabb包围盒10的尺寸可以是预先确定的固定值,也可以是根据目标游戏场景的属性等确定的数值。在上述示例中,第一aabb包围盒10的尺寸例如可以是100
×
100
×
100。
50.然后,在步骤s212中,如图3c所示,利用在步骤s211中生成的多个第一aabb包围盒10,将目标区域200切分成用于切分子区域300(详细后述)的多个区域250,其中每个区域250被相应的第一aabb包围盒10包围。例如,在上述示例中,针对x轴坐标为(-5000,0)、y轴坐标为(-5000,0)、z轴坐标为(0,1000)的其中一个目标区域200,利用尺寸为100
×
100
×
100的第一aabb包围盒10,将该目标区域200切分成25000个区域250。其中,该25000个区域250中的每个区域250分别被相应的第一aabb包围盒10包围(诸如,包裹、容纳、覆盖等)。其中,每个第一aabb包围盒10中无需全部被相应的区域250所填满,只要至少一部分包括目标区域200的一部分即可。例如,在上述示例中,在100
×
100
×
100的其中一个第一aabb包围盒10中,其包围的区域250的坐标可以是x轴坐标为(-50,0),y轴坐标为(-20,0),z轴坐标为(0,100),其尺寸为50
×
20
×
100,占第一aabb包围盒10的整个尺寸的10%。
51.接着,在步骤s213中,针对在步骤s212中包括相应区域的多个第一aabb包围盒10中的每个第一aabb包围盒10,根据预设信息和第一aabb包围盒10的第一尺寸,确定第二aabb包围盒20的数量,其中所述预设信息例如包括待配置对象400的尺寸。在一些实施例中,基于所述第一aabb包围盒10的所述第一尺寸和待配置对象400的尺寸的最大值,确定第二aabb包围盒20的数量的最小值。基于所述第一aabb包围盒10的所述第一尺寸和待配置对象400的尺寸的最小值,确定第二aabb包围盒20的数量的最大值。然后,在最大值与所述最小值之间,确定第二aabb包围盒20的数量。例如,区域切分模块520在最大值与最小值之间,随机选择一个值作为第二aabb包围盒20的数量。例如,在上述示例中,针对100
×
100
×
100的其中一个第一aabb包围盒10,对象资源中待配置对象400的尺寸的最大值为50
×
50
×
50、最小值为10
×
10
×
10,由此确定第二aabb包围盒20的数量的最小值为8、最大值为1000,随机确定第二aabb包围盒20的数量为125。在此,随机选择的方式可以基于随机算法,随机算法可以是能够随机确定数值的任何算法,包括但不限于数值概率算法、蒙特卡洛(monte carlo)算法、拉斯维加斯(las vegas)算法、舍伍德(sherwood)算法等。
52.然后,在步骤s214中,根据在步骤s213中确定的第二aabb包围盒20的数量,确定第二aabb包围盒20的第二尺寸,生成具有第二尺寸的互相连接的第二aabb包围盒20。在一些
实施例中,通过将第一aabb包围盒10的第一尺寸除以第二aabb包围盒20的数量,确定第二aabb包围盒20的第二尺寸。例如,在上述示例中,针对100
×
100
×
100的其中一个第一aabb包围盒10和数量为125的第二aabb包围盒20,第二aabb包围盒20的第二尺寸被确定为20
×
20
×
20。
53.接着,在步骤s215中,如图3d所示,利用在步骤s214中生成的第二aabb包围盒20,将在步骤s212中切分出的多个区域250中的每个区域250进一步切分成多个子区域300,使得每个子区域300被相应的第二aabb包围盒20包围。例如,在上述示例中,针对x轴坐标为(-5000,0)、y轴坐标为(-5000,0)、z轴坐标为(0,1000)的其中一个目标区域200,通过执行切分处理,利用20
×
20
×
20的3125000个互相连接的第二aabb包围盒20,切分成3125000个子区域300,其中3125000个子区域300中的每个子区域300分别被相应的第二aabb包围盒20包围(诸如,包裹、容纳、覆盖等)。其中,每个第二aabb包围盒20中无需全部被子区域300所填满,只要至少一部分包括目标区域200的一部分即可。例如,在上述示例中,在5
×5×
1的其中一个第二aabb包围盒20中,其有向包围的子区域300的坐标可以是x轴坐标为(-5,0),y轴坐标为(-2,0),z轴坐标为(0,1),其尺寸为5
×2×
1,占包围盒的整个尺寸的40%。
54.通过本公开的区域划分处理,由于利用第一aabb包围盒和第二aabb包围盒进行多轮的切分,能够更精准地确定待配置对象的适当区域。
55.然后,针对执行区域切分处理后得到的子区域300,执行对象配置处理。
56.如图1a和图1b所示,在步骤s300中,确定与在步骤s200中切分出的多个子区域300中的各个子区域300相匹配的待配置对象400,并将相匹配的待配置对象400放置于各个子区域300。例如,在上述示例中,将尺寸为4.95
×
2.05
×
0.95的接近子区域300的尺寸的待配置对象放置于尺寸为5
×2×
1的该子区域300处。
57.图4a示出了根据本公开的另一些实施例的关于对象配置处理的进一步的流程图,图4b示出了根据本公开的一些实施例的关于对象配置处理的界面示意图,图4c示出了根据本公开的一些实施例的有向包围盒有向包围子区域的示意图。
58.在一些实施例中,如图4a所示,步骤s300可以进一步包括步骤s310和步骤s320。
59.首先,在步骤s310中,针对在步骤s200中生成的子区域300的每个子区域300,确定有向包围该子区域300的有向包围盒30。例如,针对子区域300,以最紧凑地有向包围(诸如,包括、包裹等)子区域300的方式确定有向包围盒30,有向包围盒30的尺寸和方向由子区域300的尺寸和方向来确定。例如,在上述示例中,在5
×5×
1的其中一个包围盒中,其包括的子区域300的坐标可以是x轴坐标为(-5,0),y轴坐标为(-2,0),z轴坐标为(0,1),其尺寸为5
×2×
1,其法线方向为第一方向。由此,有向包围盒30的尺寸被确定为5
×2×
1,法线方向被确定为第一方向。
60.然后,在步骤s320中,确定与在步骤s310中生成的有向包围盒30相匹配的待配置对象400,并将与有向包围盒30相匹配待配置对象400放置于子区域300。
61.在一些实施例中,针对在步骤s310中生成的有向包围相应子区域300的有向包围盒30,以使待配置对象400的法线方向与有向包围盒30的中心点的法线方向相匹配的方式,以有向包围盒30的中心点作为待配置对象400的中心,将待配置对象400放置于中心点。在此,中心点是有向包围盒30的立体几何的中点。例如,在上述示例中,有向包围盒30的法线方向为第一方向,相应地,该有向包围盒30的中心点的法线方向为第一方向,在此基础上,
使待配置对象400的法线方向为第一方向。另外,有向包围盒30的法线方向基于其有向包围的相应子区域300的坡度来确定。例如,在三维坐标系下子区域300的坡度(例如,子区域300的朝上平面与三维坐标系的xy平面的夹角)为60
°
的情况下,有向包围该子区域300的法线方向为与该子区域300的朝上平面垂直的方向。
62.在一些实施例中,可以根据有向包围盒30的第三尺寸,确定有向包围盒30的中心点,使得中心点与有向包围盒30的第三尺寸、法线方向上方向相关联。然后,根据与中心点相关联的有向包围盒30的第三尺寸和待配置对象400的尺寸,确定与所述中心点相匹配的待配置对象400。接着,以中心点作为待配置对象400的中心,将待配置对象400放置于所述中心点。在此,有向包围盒30的朝向可以是其有向包围的子区域300的朝上平面所朝向的方向,但不限于,也可以根据需要设置为朝向的其他方向。
63.在一些实施例中,可以使中心点的朝向为正上方方向,重新确定中心点的法线方向,以使待配置对象400的法线方向与重新确定的中心点的法线方向相匹配的方式,以中心点作为待配置对象400的中心,将待配置对象400放置于中心点。由此,可以使待配置对象400旋转而垂直放置于目标游戏场景中,增强了对象的丰富度和逼真度。
64.在另一些实施例中,可以基于有向包围盒30的第三尺寸和第一系数,确定待配置对象400的尺寸的下阈值,并且基于有向包围盒30的第三尺寸和第二系数,确定待配置对象400的尺寸的上阈值,其中第二系数大于第一系数。然后,从尺寸处于下阈值与上阈值之间的待配置对象中,随机选择要放置于所述中心点的一个待配置对象400。例如,在上述示例中,与中心点相关联的有向包围盒30的尺寸为5
×2×
1,第一系数为0.8,第二系数为1.2,待配置对象400的下阈值被确定为5
×2×1×
0.8,待配置对象400的上阈值被确定为5
×2×1×
1.2,随机确定的待配置对象400的尺寸为4.95
×
2.05
×
0.95。
65.在一些实施例中,第一aabb包围盒和第二aabb包围盒优选为aabb包围盒。
66.在另一些实施例中,有向包围盒优选为有向包围盒。通过使用不同类型的包围盒来分别用于区域划分和对象配置,能够进一步精准地确定相匹配的对象。
67.在一些实施例中,游戏场景的配置不限于三维坐标系,也可以以一维坐标系、二维坐标系、四维坐标系等任意维度和参数的坐标系来配置。例如,在基于虚拟现实(augmented reality)技术开发的游戏场景中,可以按照校准、跟踪和对齐的要求配置坐标系的相关参数。
68.在上述示例中,尺寸由“数值
×
数值
×
数值”的形式来体现,但不限于此,尺寸可以由仅一个数值、或者以“数值
×
数值”等各种形式来体现和用于处理。
69.根据本公开的示例实施例的用于游戏场景生成的方法,通过针对目标场景,确定待配置对象的目标区域,根据与所述待配置对象相关的预设信息,利用多个包围盒将所述目标区域切分成多个子区域,使得每个子区域被相应的包围盒包围,并且确定与多个所述子区域中的各个所述子区域相匹配的待配置对象并将所述相匹配的待配置对象放置于各个所述子区域。
70.由此,能够自动地确定游戏场景中需要配置对象的较大区域,并且能够根据对象的尺寸将该较大区域通过至少一次切分处理,切分出颗粒度更细的较小区域,在各个较小区域中相匹配地配置合适的待配置对象,由此自动地实现复杂游戏场景中的对象配置,极大地提高了游戏场景的制作效率,同时能够得到对象配置错落有致且细节呈现更为精细、
丰富、美观的游戏场景。
71.图5示出了根据本公开的一些实施例的用于游戏场景生成的装置500的示意性框图。装置500可以被包括在后述图6的设备600中或者被实现为设备600。
72.如图5所示,装置500可以包括区域确定模块510,被配置为执行步骤s100及相关子步骤的区域确定处理。例如,区域确定模块510可以针对目标场景100,确定待配置对象400的目标区域200。
73.在一些实施例中,区域确定模块510获取与待配置对象400相关的预设信息,基于预设信息以及目标场景100的地形参数,从目标场景100中确定一个或多个目标区域200。在一些实施例中,待配置对象400的尺寸根据长度、宽度、高度中的至少一项来确定,待配置对象400包括尺寸不同的用于配置游戏场景的至少一个石头资源。在一些实施例中,可以通过半结构化数据结构(json格式)来存储待配置对象400的尺寸的各项参数,包括待配置对象的中心坐标、长度、宽度、高度、存储路径等。
74.在一些实施例中,区域确定模块510基于与待配置对象400相关的预设信息以及地形参数的最大值和最小值,确定目标场景100中地形参数的数值处于地形参数的最大值和最小值之间的一个或多个目标区域200,其中地形参数包括坡度、高度及侵蚀度中的至少一项。
75.装置500可以还包括区域切分模块520,被配置为执行步骤s200及相关子步骤的区域切分处理。例如,区域切分模块520根据与待配置对象400相关的预设信息,利用多个包围盒将目标区域200切分成多个子区域300,使得每个子区域300被相应的包围盒包围。
76.在一些实施例中,区域切分模块520根据第一aabb包围盒10的第一尺寸,生成具有第一尺寸的互相连接的多个第一aabb包围盒10。在一些实施例中,区域切分模块520利用多个第一aabb包围盒10,将目标区域200切分成用于切分子区域300多个区域250,使得每个区域250被相应的第一aabb包围盒10包围。
77.在一些实施例中,区域切分模块520针对多个第一aabb包围盒10中的每个第一aabb包围盒10,根据预设信息和第一aabb包围盒10的第一尺寸,确定第二aabb包围盒20的数量,根据第二aabb包围盒20的数量,确定第二aabb包围盒20的第二尺寸,并且根据第二aabb包围盒20的第二尺寸,生成具有第二尺寸的互相连接的多个第二aabb包围盒20。在一些实施例中,区域切分模块520利用多个第二aabb包围盒20,将每个区域250切分成多个子区域300,使得每个子区域300被相应的第二aabb包围盒20包围。
78.在一些实施例中,第一aabb包围盒10和第二aabb包围盒20为aabb包围盒。
79.在一些实施例中,区域切分模块520基于第一aabb包围盒10的第一尺寸和待配置对象400的尺寸的最大值,确定第二aabb包围盒20的数量的最小值,并且基于第一aabb包围盒10的第一尺寸和待配置对象400的尺寸的最小值,确定第二aabb包围盒20的数量的最大值。在一些实施例中,区域切分模块520在最大值与最小值之间,确定第二aabb包围盒20的数量。例如,区域切分模块520在最大值与最小值之间,随机选择一个值作为第二aabb包围盒20的数量。
80.装置500可以还包括对象配置模块530,被配置为执行步骤s300及相关子步骤的对象配置处理。例如,对象配置模块530将与多个子区域300中的各个子区域300相匹配的待配置对象400,并将相匹配的待配置对象400放置于各个子区域300。
81.在一些实施例中,对象配置模块530针对子区域300的每个子区域300,确定有向包围子区域300的有向包围盒30,并且将与有向包围盒30相匹配的待配置对象400放置于子区域300。在一些实施例中,有向包围盒30为有向包围盒。
82.在一些实施例中,对象配置模块530以使待配置对象400的法线方向与有向包围盒30的法线方向相匹配的方式,以有向包围盒30的中心点作为待配置对象400的中心,将待配置对象400放置于中心点,其中中心点是有向包围盒30的立体几何中心,有向包围盒30的法线方向基于子区域300的坡度来确定。
83.在一些实施例中,对象配置模块530根据有向包围盒30的第三尺寸,确定有向包围盒30的中心点,将中心点与有向包围盒30的第三尺寸、法线方向和朝向相关联,并且根据有向包围盒30的第三尺寸和待配置对象400的尺寸,确定与中心点相匹配的待配置对象400。在一些实施例中,对象配置模块530以使待配置对象400的法线方向与中心点相关联的法线方向相匹配的方式,以中心点作为待配置对象400的中心,将待配置对象400放置于中心点。
84.在一些实施例中,对象配置模块530通过将中心点的朝向调整为正上方方向,重新确定中心点的法线方向,并且以使待配置对象400的法线方向与重新确定的中心点的法线方向相匹配的方式,将待配置对象400放置于中心点。
85.在一些实施例中,对象配置模块530基于有向包围盒30的第三尺寸和第一系数,确定待配置对象400的尺寸的下阈值,并且基于有向包围盒30的第三尺寸和第二系数,确定待配置对象400的尺寸的上阈值,其中第二系数大于第一系数。在一些实施例中,对象配置模块530从尺寸处于下阈值与上阈值之间的待配置对象400中,确定要放置于中心点的一个待配置对象400。例如,对象配置模块530从尺寸处于下阈值与上阈值之间的待配置对象400中,随机选择一个数值作为要放置于中心点的一个待配置对象400。
86.根据本公开的示例实施例的用于游戏场景生成的装置,通过针对目标场景,确定待配置对象的目标区域,根据与待配置对象相关的预设信息,利用多个包围盒将目标区域切分成多个子区域,使得每个子区域被相应的包围盒包围,并且确定与多个子区域中的各个子区域相匹配的待配置对象并将相匹配的待配置对象放置于各个子区域。
87.由此,能够自动地确定游戏场景中需要配置对象的较大区域,并且能够根据对象的尺寸将该较大区域通过至少一次切分处理,切分出颗粒度更细的较小区域,在各个较小区域中相匹配地配置合适的对象,由此自动地实现复杂游戏场景中的对象配置,极大地提高了游戏场景的制作效率,同时能够得到对象配置错落有致且细节呈现更为精细、丰富、美观的游戏场景。
88.图6示出了可以用来实施本公开的实施例的示例设备700的示意性框图。设备600可以用于上述用于游戏场景生成的处理。
89.如图6所示,设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
90.设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通
信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
91.上文所描述的各个过程和处理,例如用于游戏场景生成的区域确定处理、区域切分处理及对象配置处理,可由处理单元601执行。例如,在一些实施例中,区域确定处理、区域切分处理及对象配置处理可以被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到ram 603并由cpu 601执行时,可以执行上文描述的区域确定处理、区域切分处理及对象配置处理的一个或多个动作。
92.本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
93.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
94.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
95.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
96.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
97.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
98.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
99.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
100.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献