掌桥专利:专业的专利平台
掌桥专利
首页

一种游戏地图的生成方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 09:30:39


一种游戏地图的生成方法、装置、电子设备及存储介质

技术领域

本申请涉及游戏地图技术领域,尤其涉及一种游戏地图的生成方法、装置、电子设备及存储介质。

背景技术

策略游戏(Strategy Game,SLG)开发过程中,沙盘地图的制作和美术效果一直是难点,其中,建筑物、植物是沙盘地图比较常见的资源,会对美术效果产生较大的影响。

目前,沙盘大地图的地表有各种形式地貌和起伏,建筑物和植物放在地表上的时候很容易被一些起伏较大的丘陵给直接掩埋住,或出现悬空的情况,所以导致美术效果不佳。

而且,这些资源根据赛季的不同会随机摆放,如果定制资源地和野外建筑将会增加巨大的资源量,其内存消耗和制作成本也是巨大的。如果把地表做成纯平的,建筑物和植物直接放在地表上不会产生掩埋和悬空,但会牺牲美术效果。

因此,如何在地表起伏的地图上,添加建筑物和植物后,仍可以保证地图的美术效果是目前亟待解决的技术问题。

发明内容

有鉴于此,本申请实施例至少提供一种游戏地图的生成方法、装置、电子设备及存储介质,不仅可以保证地图的美术效果,还可以提升资源的利用率。

本申请主要包括以下几个方面:

第一方面,本申请实施例提供一种游戏地图的生成方法,所述生成方法包括:

获取待生成地图所需的沙盘模型;

按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型;所述子模型包括至少一个资源;

基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点;

基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,生成游戏地图。

在一种可能的实施方式中,所述预设拆分规则包括:

基于所述沙盘模型中各个所述资源之间的位置关系,和/或,各个所述资源的资源类型,对所述沙盘模型进行拆分。

在一种可能的实施方式中,在所述获取待生成地图所需的沙盘模型之后,所述生成方法还包括:

删除所述沙盘模型中所述资源的第一投影;

所述按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型,包括:

按照所述预设拆分规则对删除所述第一投影后的所述沙盘模型进行拆分,得到多个子模型。

在一种可能的实施方式中,所述基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点,包括:

获取所述子模型在所述待生成地图的地表中的地表位置信息;

基于所述地表位置信息和所述子模型的模型信息,确定与所述子模型对应的所述挂接点在所述待生成地图中的位置坐标;

在所述待生成地图的地表的所述位置坐标处生成对应的所述挂接点。

在一种可能的实施方式中,所述基于所述地表位置信息和所述子模型的模型信息,确定与所述子模型对应的所述挂接点的位置坐标,包括:

确定与所述地表位置信息对应的高度图,并根据所述高度图确定所述挂接点的高度坐标;

根据所述子模型的模型信息,确定所述子模型的中心点的平面坐标;

基于所述高度坐标和所述平面坐标,确定所述挂接点在所述待生成地图中的位置坐标。

在一种可能的实施方式中,在所述按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型之后,所述生成方法包括:

为所述子模型分配模型标识;

所述基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,包括:

建立拆分得到的所述子模型的模型标识和生成的所述挂接点之间的关联关系;每个所述子模型与一个所述挂接点相对应;

将拆分得到的所述子模型加载至游戏引擎中,并将所述子模型挂接至与所述子模型的所述模型标识关联的所述挂接点上。

在一种可能的实施方式中,在所述按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型之后,所述生成方法包括:

在拆分得到的所述子模型的底部添加模型延展部;

根据以下步骤将所述子模型挂接至所述地表上:

通过对应的所述挂接点将所述子模型挂接至所述地表上,并将所述子模型对应的所述模型延展部埋设于所述地表下;

其中,所述挂接点与所述子模型底部的中心点相重合。

在一种可能的实施方式中,在所述基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上之后,所述生成方法还包括:

在所述地表上添加所述子模型的第二投影,生成所述游戏地图。

在一种可能的实施方式中,所述资源包括植物、建筑物、山体。

第二方面,本申请实施例还提供一种游戏地图的生成装置,所述生成装置包括:

获取模块,用于获取待生成地图所需的沙盘模型;

拆分模块,用于按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型;所述子模型包括至少一个资源;

生成模块,用于基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点;

基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,生成游戏地图。

在一种可能的实施方式中,所述预设拆分规则包括:

基于所述沙盘模型中各个所述资源之间的位置关系,和/或,各个所述资源的资源类型,对所述沙盘模型进行拆分。

在一种可能的实施方式中,所述生成装置还包括:

删除模块,用于删除所述沙盘模型中所述资源的第一投影;

所述拆分模块,还用于按照所述预设拆分规则对删除所述第一投影后的所述沙盘模型进行拆分,得到多个子模型。

在一种可能的实施方式中,所述第一生成模块,包括:

获取单元,用于获取所述子模型在所述待生成地图的地表中的地表位置信息;

确定单元,用于基于所述地表位置信息和所述子模型的模型信息,确定与所述子模型对应的所述挂接点在所述待生成地图中的位置坐标;

生成单元,用于在所述待生成地图的地表的所述位置坐标处生成对应的所述挂接点。

在一种可能的实施方式中,所述确定单元,用于根据以下步骤确定与所述子模型对应的所述挂接点的位置坐标:

确定与所述地表位置信息对应的高度图,并根据所述高度图确定所述挂接点的高度坐标;

根据所述子模型的模型信息,确定所述子模型的中心点的平面坐标;

基于所述高度坐标和所述平面坐标,确定所述挂接点在所述待生成地图中的位置坐标。

在一种可能的实施方式中,所述生成装置包括:

分配模块,用于为所述子模型分配模型标识;

所述第二生成模块,用于根据以下步骤将所述子模型挂接至所述地表上:

建立拆分得到的所述子模型的模型标识和生成的所述挂接点之间的关联关系;每个所述子模型与一个所述挂接点相对应;

将拆分得到的所述子模型加载至游戏引擎中,并将所述子模型挂接至与所述子模型的所述模型标识关联的所述挂接点上。

在一种可能的实施方式中,所述生成装置包括:

添加模块,用于在拆分得到的所述子模型的底部添加模型延展部;

所述第二生成模块,用于根据以下步骤将所述子模型挂接至所述地表上:

通过对应的所述挂接点将所述子模型挂接至所述地表上,并将所述子模型对应的所述模型延展部埋设于所述地表下;

其中,所述挂接点与所述子模型底部的中心点相重合。

在一种可能的实施方式中,所述第二生成模块还用于:

在所述地表上添加所述子模型的第二投影,生成所述游戏地图。

在一种可能的实施方式中,所述资源包括植物、建筑物、山体。

第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的游戏地图的生成方法的步骤。

第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的游戏地图的生成方法的步骤。

本申请实施例提供的游戏地图的生成方法、装置、电子设备及存储介质,按照预设拆分规则对待生成地图所需的沙盘模型进行拆分,得到多个子模型,并将拆分得到的子模型通过对应的挂接点依次挂接至地表上,生成游戏地图,与现有技术中通过定制资源地和野外建筑来避免出现悬空和掩埋的情况,但这样将会增加巨大的资源量,其内存消耗和制作成本也是巨大的;如果把地表做成纯平的,建筑物和植物直接放在地表上不会产生掩埋和悬空,但会牺牲美术效果相比,本申请可以实现在地表起伏地势下添加资源,可以大大减少资源被掩埋、悬空情况的出现,不仅可以保证地图的美术效果,还可以提升资源的利用率。

进一步,本申请实施例提供的游戏地图的生成方法,还可以在拆分得到的子模型的底部添加模型延展部,通过对应的挂接点将子模型挂接至地表上,将子模型对应的模型延展部埋设于地表下,其中,挂接点与子模型底部的中心点相重合,这样,可以避免出现资源被掩埋、悬空的情况,可以保证地图的美术效果。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种游戏地图的生成方法的流程图;

图2示出了一个沙盘模型的示意图;

图3示出了具有模型延展部的子模型添加至地表的示意图;

图4示出了本申请实施例所提供的一种游戏地图的生成装置的功能模块图之一;

图5示出了本申请实施例所提供的一种游戏地图的生成装置的功能模块图之二;

图6示出了图5中的第一生成模块的结构示意图;

图7示出了本申请实施例所提供的一种电子设备的结构示意图。

主要元件符号说明:

图中:400-游戏地图的生成装置;410-获取模块;420-拆分模块;430-第一生成模块;431-获取单元;432-确定单元;433-生成单元;440-第二生成模块;450-删除模块;460-分配模块;470-添加模块;700-电子设备;710-处理器;720-存储器;730-总线。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。

为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“游戏地图的生成”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。

本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要进行游戏地图的生成的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的游戏地图的生成方法及装置的方案均在本申请保护范围内。

值得注意的是,在本申请提出之前,现有方案中为了避免由于地表起伏造成的资源的掩埋、悬空的情况出现,一种方案是定制资源地和野外建筑匹配地表起伏的地势,但这样将会增加巨大的资源量,其内存消耗和制作成本也是巨大的;另一种方案是把地表做成纯平的,建筑物和植物直接放在地表上不会产生掩埋和悬空,但会牺牲美术效果。

针对上述问题,本申请实施例通过获取待生成地图所需的沙盘模型,并遍历沙盘模型中的各个资源,可以按照预设拆分规则对沙盘模型进行拆分,得到多个子模型,进而,基于子模型在待生成地图的地表中的地表位置信息,可以在待生成地图的地表上生成挂接点,进一步地,基于拆分得到的子模型与生成的挂接点之间的关联关系,通过对应的挂接点将子模型挂接至地表上,生成游戏地图。这样,在地表起伏地势下添加子模型,可以大大减少资源被掩埋、悬空情况的出现,不仅可以保证地图的美术效果,还可以提升资源的利用率。

为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。

图1为本申请实施例所提供的一种游戏地图的生成方法的流程图。如图1所示,本申请实施例提供的游戏地图的生成方法,包括以下步骤:

S101:获取待生成地图所需的沙盘模型。

在具体实施中,先获取待生成地图所需的沙盘模型,这里,待生成地图需要多个沙盘模型,该多个沙盘模型可以是相同的,也可以是不同的,其中,每个沙盘模型是由多个资源构成的,遍历每个沙盘模型中的各个资源,以便对沙盘模型进行拆分。通常,设计师会对游戏地图进行设计,再有程序师制作成游戏地图,故,程序师知晓待生成地图所需的沙盘模型,所以,程序师之前会制作好沙盘模型,这里,沙盘模型可以理解为一个包含多个资源的整体,沙盘模型比如村落。这里,每个沙盘模型是一个整体,在相关技术中,通常直接将沙盘模型添加至地图地表上,由于地表地势是不平坦的,会出现有的资源悬空,有的资源被掩埋的情况。

需要说明的是,在制作游戏地图时,先制作游戏地图上的地表,通常,地表上设置有丘陵,地表地形制作成起伏的,可以更接近现实的地表,可以保证地图的美术效果。

其中,资源可以为植物,也可以为建筑物。

这里,图2示出了一种沙盘模型的示意图,该沙盘模型包括多个资源,如图2所示,资源包括植物、建筑物、山体等。

S102:按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型;所述子模型包括至少一个资源。

在具体实施中,在获取待生成地图所需的制作好的沙盘模型之后,通过遍历沙盘模型,来对沙盘模型进行拆分,具体地,可以按照预设拆分规则来对沙盘模型进行拆分,这样,可以使拆分得到的子模型满足要求,这里,是将一个体积较大的沙盘模型拆分成多个体积小的子模型,根据预设拆分规则,有的子模型就是一个资源,有的子模型由至少两个资源构成。

可选地,在步骤S101中所述获取待生成地图所需的沙盘模型之后,还包括以下步骤:删除所述沙盘模型中所述资源的第一投影;在步骤S102中所述按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型,包括以下步骤:按照所述预设拆分规则对删除所述第一投影后的所述沙盘模型进行拆分,得到多个子模型。

在具体实施中,可以在对沙盘模型进行拆分前,先讲沙盘模型中资源的第一投影去除,即,将沙盘模型中的投影去除,之后按照预设拆分规则对删除第一投影后的沙盘模型进行拆分,得到多个子模型,这样,通过将一个资源对另一个资源的投影去除,可以在下次随机对拆分后的子模型进行摆放,而不会受到投影的影响,提升子模型的重复利用率。

这里,沙盘模型中的各个资源直接连接在一起,即便随着地表起伏也会出现部分资源因为高度问题被地表掩埋或者悬空的问题,所以,本申请要对沙盘模型进行拆分,这样,可以解决随着地表起伏造成掩埋、悬空的问题,而且,拆分后得到的子模型相对沙盘模型为体积更小的模型,可以实现资源的复用,可以大大缓解内存需要存储大量模型的问题。

可选地,预设拆分规则包括:基于所述沙盘模型中各个所述资源之间的位置关系,和/或,各个所述资源的资源类型,对所述沙盘模型进行拆分。

在具体实施中,可以根据沙盘模型中各个资源之间的位置关系来对沙盘模型进行拆分,比如,一个资源与另外一个资源的位置较近,或者叠加在一起,可以将这两个资源作为一个子模型;一个资源的体积很小,但该资源与沙盘模型中的其他资源之间的距离较远,则将该资源单独作为一个子模型。也可以根据资源的资源类型来对沙盘模型进行拆分,比如,植物和建筑物通常会作为两个单独的资源,但一群相距很近的植物可以作为一个子模型。

需要说明的是,设置预设拆分规则的目的在于将沙盘模型拆分成符合要求的子模型,子模型放置在起伏地表的地图上,通常不会出现悬空、掩埋的情况。

S103:基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点。

在具体实施中,可以通过挂节点将子模型挂接至地图地表上,可以在子模型要放置在待生成地图上的地表位置处生成挂接点,这里,需要让资源能识别到地表从而随着地表起伏,具体地,可以通过挂接点对高度图信息进行拾取,依照高度信息来判定子模型的位置,这样才足够真实。

可选地,步骤S103中所述基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点,包括以下步骤:

获取所述子模型在所述待生成地图的地表中的地表位置信息;基于所述地表位置信息和所述子模型的模型信息,确定与所述子模型对应的所述挂接点在所述待生成地图中的位置坐标;在所述待生成地图的地表的所述位置坐标处生成对应的所述挂接点。

在具体实施中,可以在起伏的地表上生成挂接点,并将子模型挂接至对应的挂接点,每个挂接点的生成过程相同,先获取子模型要防止在待生成地图所在位置的地表位置信息,进而,根据地表位置信息和该子模型的模型信息,来确定该子模型对应的挂接点在待生成地图中的位置坐标,这里,地表位置信息包括地表的高度信息,模型信息包括该子模型的长度、宽度等大小信息,进而,在待生成地图的地表的该位置坐标出生成对应的挂接点。

其中,待生成地图的地表是地表面片,可以将该地表面片作为放置挂接点的壳子,用来放置挂接点。

可选地,基于所述地表位置信息和所述子模型的模型信息,确定与所述子模型对应的所述挂接点的位置坐标,包括以下步骤:

确定与所述地表位置信息对应的高度图,并根据所述高度图确定所述挂接点的高度坐标;根据所述子模型的模型信息,确定所述子模型的中心点的平面坐标;基于所述高度坐标和所述平面坐标,确定所述挂接点在所述待生成地图中的位置坐标。

在具体实施中,可以根据以下步骤确定一个挂接点在待生成地图中的位置坐标,先根据待生成地图的地表位置信息确定出高度图,并根据高度图来确定出要生成的挂接点的高度坐标,以及根据要生成的挂接点对应的子模型的模型信息,来确定该子模型的中心点的平面坐标,其中,模型信息包括模型的大小、尺寸信息,进而,将得到的高度坐标和平面坐标,作为该挂接点在待生成地图中的位置坐标。

这里,高度图实际上是一个2维数组,创建地形时需要高度图,地形实际上就是一系列高度不同的网格而已,这样数组中每个元素的索引值刚好可以用来定位不用的网格(x,y),而所储存的值就是网格的高度(z),正是由于这个简单的映射关系,最常见的地形生成方法都使用高度图作为输入数据。

这里,在步骤S102中所述按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型之后,为所述子模型分配模型标识;在步骤S103中所述基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,包括:建立拆分得到的所述子模型的模型标识和生成的所述挂接点之间的关联关系;每个所述子模型与一个所述挂接点相对应;将拆分得到的所述子模型加载至游戏引擎中,并将所述子模型挂接至与所述子模型的所述模型标识关联的所述挂接点上。

在具体实施中,每个子模型与一个挂接点相对应,在对沙盘模型进行拆分得到多个子模型后,为每个子模型分配一个模型标识,并将子模型以gim格式进行存储,以便直接调用子模型,该模型标识用于唯一表征该子模型,并建立每个子模型的模型标识和一个挂接点之间的关联,这样,在生成挂接点后,可以将每个子模型挂接至对应挂接点上。

这里,游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程序而不用由零开始。

可选地,在步骤S102中所述按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型之后,在拆分得到的所述子模型的底部添加模型延展部;在步骤S103中所述基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,包括:通过对应的所述挂接点将所述子模型挂接至所述地表上,并将所述子模型对应的所述模型延展部埋设于所述地表下;其中,所述挂接点与所述子模型底部的中心点相重合。

在具体实施中,在对沙盘模型进行拆分得到多个子模型后,可以在每个子模型的底部添加模型延展部,这样,在将添加有模型延展部的子模型添加至地图地表上时,可以完全避免出现子模型被掩埋或悬空的情况出现,具体地,在将带有模型延展部的子模型挂接至挂接点上shift,使子模型底部的中心点与该挂接点重合,使得该子模型位于地表上,该子模型对应的模型延展部埋设于地表下。这样,可以避免出现资源被掩埋、悬空的情况,可以保证地图的美术效果。

这里,若子模型只包含植物,则添加的模型延展部可以为树根;若子模型至包含建筑物,则添加的模型延展部可以为地基。

这里,图3示出了具有模型延展部的子模型添加至地表的示意图,如图3所示,地表为起伏状的,通过在子模型的底部增设模型延展部,可以避免出现资源被掩埋、悬空的情况,可以保证地图的美术效果。

S104:基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,生成游戏地图。

在具体实施中,在对沙盘模型进行拆分得到多个子模型,以及在地表上生成多个挂接点后,根据每个子模型与相应挂接点之间的关联关系,通过对应的挂接点将子模型挂接至地表上,生成游戏地图。

可选地,在步骤S104中所述基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上之后,还包括以下步骤:

在所述地表上添加所述子模型的第二投影,生成所述游戏地图。

在具体实施中,在将拆分得到的各个子模型添加至地图地表上之后,在实际环境中,植物或建筑物都会在地表上产生投影,故,本申请在地表上添加投影,这里,仅对能够产生都应的子模型添加投影,这样,可以提升地图的美术效果,更具真实性,提高玩家的体验度。

需要说明的是,本申请在地图地表的起伏的情况下,在地表上添加子模型,可以保证地图的美观性,通过对沙盘模型的拆分,可以增加子模型的重复利用率,使得资源的摆放不受地形起伏的影响,可以在地图的任意位置上进行摆放。

在本申请实施例中,通过获取待生成地图所需的沙盘模型,并遍历沙盘模型中的各个资源,可以按照预设拆分规则对沙盘模型进行拆分,得到多个子模型,进而,基于子模型在待生成地图的地表中的地表位置信息,可以在待生成地图的地表上生成挂接点,进一步地,基于拆分得到的子模型与生成的挂接点之间的关联关系,通过对应的挂接点将子模型挂接至地表上,生成游戏地图。这样,在地表起伏地势下添加子模型,可以大大减少资源被掩埋、悬空情况的出现,不仅可以保证地图的美术效果,还可以提升资源的利用率。

基于同一申请构思,本申请实施例中还提供了与上述实施例提供的游戏地图的生成方法对应的游戏地图的生成装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例的游戏地图的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

如图4至图6所示,图4示出了本申请实施例所提供的一种游戏地图的生成装置400的功能模块图之一;图5示出了本申请实施例所提供的一种游戏地图的生成装置400的功能模块图之二;图6示出了图5中的第一生成模块430的结构示意图。

如图4所示,所述游戏地图的生成装置400包括:

获取模块410,用于获取待生成地图所需的沙盘模型;

拆分模块420,用于按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型;所述子模型包括至少一个资源;

第一生成模块430,用于基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点;

第二生成模块440,用于基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,生成游戏地图。

在一种可能的实施方式中,所述预设拆分规则包括:

基于所述沙盘模型中各个所述资源之间的位置关系,和/或,各个所述资源的资源类型,对所述沙盘模型进行拆分。

在一种可能的实施方式中,如图5所示,所述游戏地图的生成装置400还包括:

删除模块450,用于删除所述沙盘模型中所述资源的第一投影;

所述拆分模块420,还用于按照所述预设拆分规则对删除所述第一投影后的所述沙盘模型进行拆分,得到多个子模型。

在一种可能的实施方式中,如图6所示,所述第一生成模块430,包括:

获取单元431,用于获取所述子模型在所述待生成地图的地表中的地表位置信息;

确定单元432,用于基于所述地表位置信息和所述子模型的模型信息,确定与所述子模型对应的所述挂接点在所述待生成地图中的位置坐标;

生成单元433,用于在所述待生成地图的地表的所述位置坐标处生成对应的所述挂接点。

在一种可能的实施方式中,如图6所示,所述确定单元432,用于根据以下步骤确定与所述子模型对应的所述挂接点的位置坐标:

确定与所述地表位置信息对应的高度图,并根据所述高度图确定所述挂接点的高度坐标;

根据所述子模型的模型信息,确定所述子模型的中心点的平面坐标;

基于所述高度坐标和所述平面坐标,确定所述挂接点在所述待生成地图中的位置坐标。

在一种可能的实施方式中,如图5所示,所述游戏地图的生成装置400包括:

分配模块460,用于为所述子模型分配模型标识;

所述第二生成模块440,用于根据以下步骤将所述子模型挂接至所述地表上:

建立拆分得到的所述子模型的模型标识和生成的所述挂接点之间的关联关系;每个所述子模型与一个所述挂接点相对应;

将拆分得到的所述子模型加载至游戏引擎中,并将所述子模型挂接至与所述子模型的所述模型标识关联的所述挂接点上。

在一种可能的实施方式中,如图5所示,所述游戏地图的生成装置400包括:

添加模块470,用于在拆分得到的所述子模型的底部添加模型延展部;

所述第二生成模块440,用于根据以下步骤将所述子模型挂接至所述地表上:

通过对应的所述挂接点将所述子模型挂接至所述地表上,并将所述子模型对应的所述模型延展部埋设于所述地表下;

其中,所述挂接点与所述子模型底部的中心点相重合。

在一种可能的实施方式中,如图5所示,所述第二生成模块440还用于:

在所述地表上添加所述子模型的第二投影,生成所述游戏地图。

在一种可能的实施方式中,所述资源包括植物、建筑物、山体。

在本申请实施例中,通过获取待生成地图所需的沙盘模型,并遍历沙盘模型中的各个资源,可以按照预设拆分规则对沙盘模型进行拆分,得到多个子模型,进而,基于子模型在待生成地图的地表中的地表位置信息,可以在待生成地图的地表上生成挂接点,进一步地,基于拆分得到的子模型与生成的挂接点之间的关联关系,通过对应的挂接点将子模型挂接至地表上,生成游戏地图。这样,在地表起伏地势下添加子模型,可以大大减少资源被掩埋、悬空情况的出现,不仅可以保证地图的美术效果,还可以提升资源的利用率。

基于同一申请构思,参见图7所示,为本申请实施例提供的一种电子设备700的结构示意图,包括:处理器710、存储器720和总线730,所述存储器720存储有所述处理器710可执行的机器可读指令,当电子设备700运行时,所述处理器710与所述存储器720之间通过所述总线730进行通信,所述机器可读指令被所述处理器710运行时执行如上述实施例中任一所述的游戏地图的生成方法的步骤。

具体地,所述机器可读指令被所述处理器710执行时可以执行如下处理:

获取待生成地图所需的沙盘模型;

按照预设拆分规则对所述沙盘模型进行拆分,得到多个子模型;所述子模型包括至少一个资源;

基于所述子模型在所述待生成地图的地表中的地表位置信息,在所述待生成地图的地表上生成挂接点;

基于拆分得到的所述子模型与生成的所述挂接点之间的关联关系,通过对应的所述挂接点将所述子模型挂接至所述地表上,生成游戏地图。

在本申请实施例中,通过获取待生成地图所需的沙盘模型,并遍历沙盘模型中的各个资源,可以按照预设拆分规则对沙盘模型进行拆分,得到多个子模型,进而,基于子模型在待生成地图的地表中的地表位置信息,可以在待生成地图的地表上生成挂接点,进一步地,基于拆分得到的子模型与生成的挂接点之间的关联关系,通过对应的挂接点将子模型挂接至地表上,生成游戏地图。这样,在地表起伏地势下添加子模型,可以大大减少资源被掩埋、悬空情况的出现,不仅可以保证地图的美术效果,还可以提升资源的利用率。

基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的游戏地图的生成方法的步骤。

具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述游戏地图的生成方法,通过对应的挂接点将子模型挂接至地表上,生成游戏地图。这样,在地表起伏地势下添加子模型,可以大大减少资源被掩埋、悬空情况的出现,不仅可以保证地图的美术效果,还可以提升资源的利用率。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种游戏地图的生成方法、装置、电子设备及存储介质
  • 随机游戏地图的生成方法及装置、电子设备、存储介质
技术分类

06120112191156