本发明涉及一种游戏场景的编辑方法及系统,尤其涉及一种适用于大型游戏场景的编辑方法及系统。
背景技术:
就现有的电子类游戏来看,玩家在游戏中的大多数行为和互动都是在场景中进行的。具体来说,玩家操作的角色可以在其中行走,飞行,探险和战斗等。游戏场景是游戏中不可缺少的重要元素,因此场景编辑是游戏开发领域十分重要的环节。随着开放世界游戏玩法的普及,游戏场景的面积变得越来越大,广阔的场景可以达到几十甚至上百平方公里。目前主流的游戏引擎包括均提供了相关的场景编辑器软件,在这些编辑软件中开发者可编辑游戏世界,包括放置地形,草地,植被、道路、建筑、岩石、水体等。
但是,在现有技术中,游戏场景的制作方式主要依赖人员的手工操作。用户使用库中的各类物体素材,如草地,沙石,树木等,在屏幕指定位置点击鼠标,系统会计算出当前屏幕点在场景中的三维坐标,计算完成后把物体放置在该坐标位置上。如此循环往复,直到放置完场景中所有的物体为止。
由此可见,目前的编辑方式随着游戏场景的规模的日益扩大变得越来越低效。一个开放的野外世界场景,可能会包含上万甚至上十万的树木,手工放置无疑是工作量非常巨大的,同时也提高了系统的计算压力,增加制作成本。此外,出于对现实世界的还原,制作人员还需要考虑放置物体的合理性和多样性,这也大大增加了游戏场景编辑的复杂性。现有的场景编辑方式已经很难满足用户的需求,降低了游戏开发的效率,制约了游戏画面向更好的品质上发展。
有鉴于上述的缺陷,本设计人,积极加以研究创新,以期创设一种适用于大型游戏场景的编辑方法及系统,使其更具有产业上的利用价值。
技术实现要素:
为解决上述技术问题,本发明的目的是提供一种适用于大型游戏场景的编辑方法及系统。
本发明的适用于大型游戏场景的编辑方法,其包括以下步骤:
步骤一,用户制定场景描述图类型定义和物体描述定义;
步骤二,绘制场景描述图;
步骤三,对场景描述图进行分解,构成若干个层数据;
步骤四,对层数据进行分类处理,生成密度分布图;
步骤五,对密度分布图进行分割,制定图形处理器计算任务;
步骤六,通过图形处理器,对密度分布图进行离散化处理;
步骤七,通过图形处理器,对离散化数据进行重叠处理;
步骤八,通过图形处理器,生成最终的物体摆放数据;
步骤九,图形处理器将物体摆放数据回传至中央处理器;
步骤十,中央处理器接收物体摆放数据并进行保存。
进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤一中的场景描述图类型定义,涵盖场景内物体的具体类型,包含草地,灌木,树林,岩石,水体,道路;所述物体描述定义,为场景内各类物体的信息,包含物体名称,具体类型,尺寸。
更进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤二中的场景描述图为一张或是若干张彩色图片构成,图片中的不同颜色表示不同的场景物体,颜色的深度代表物体分布特征。
更进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤三中,层数据代表不同类型物体的集合,按照场景类型层数据,包含地表层,地表水体层,树木层,灌木层,草地层,岩石层,道路层。
更进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤四中,将每一层数据转化为灰度图,此灰度图构成密度分布图,灰度图的灰度等级代表着该层物体的分布,不同类型物体的灰度意义不同。
更进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤五中,将密度分布图按照64x64的大小分割为小块,构成若干区块,每个区块为一个图形处理器的任务。
更进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤六中,离散化处理后的每一个离散化点都代表着每一个物体。图形处理器的处理程序能使用着色器语言进行编制;
所述步骤七中,通过重叠处理读取物体类型描述,获得物体的尺寸大小,之后再次对离散数据进行处理,将不同大小的物体点进行再次调整,避免物体在场景中重叠在一起。
更进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述步骤八中,通过运行在图形处理器上的仿射变换算法,计算得出物体的摆放数据,所述摆放数据定义为一个4x4的矩阵,包含物体的坐标、旋转信息。
再进一步地,上述的适用于大型游戏场景的编辑方法,其中,所述中央处理器通过图形处理器提供的读回接口,将图形处理器计算的物体摆放信息都读回内存,并转换为中央处理器能识别的格式;中央处理器将物体摆放数据保存到当前场景文件夹中,并按摆放数据加载物体并显示给最终用户。
大型游戏场景的编辑系统,其包括有场景描述图绘制单元:用于场景描述类型和绘制场景描述图;
还包括有层数据转换单元:用于将场景描述图转换成层数据;
还包括有密度分布图转换单元:用于将层数据转换成物体密度分布图;
还包括有物体摆放数据生成单元:用于切割密度分布图制定处理任务,并在图形处理器上通过离散化和重叠处理生成物体摆放数据;
还包括有物体摆放数据保存单元:用于将物体摆放数据传回中央处理器并保存。
借由上述方案,本发明至少具有以下优点:
1、能够提高大型游戏场景的制作效率,减少布置工时,降低了开发成本。
2、通过描述图降低了物体摆放的复杂性,使得画面表现可以更加丰富。
3、能够使用图形处理器进行并行计算加速,减少中央处理器计算量,提升了系统运行速度。
4、实施期间,用户使用场景分布描述图描述场景,而不是逐一摆放物体。
5、层数据通过处理生成物体密度分布图,可以通过离散和重叠处理计算所需的物体摆放数据。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1是适用于大型游戏场景的编辑方法的实施流程示意图。
图2是大型游戏场景的编辑系统的布局结构示意图。
图3是场景描述图的示例示意图。
图4是密度分布图中的水体层示意图。
图中各附图标记的含义如下。
1场景描述图绘制单元2层数据转换单元
3密度分布图转换单元4物体摆放数据生成单元
5物体摆放数据保存单元6描述配置模块
7层数据分割模块8密度分布图处理模块
9任务分解模块10离散计算模块
11重叠处理模块12物体摆放模块
13数据回传模块14数据保存模块
15绘制模块
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1至4的适用于大型游戏场景的编辑方法,其与众不同之处在于包括以下步骤:
首先,用户制定场景描述图类型定义和物体描述定义。具体来说,本发明采用的场景描述图类型定义,可涵盖场景内物体的具体类型。这样,便于用户后续分解层数据进行对应的处理。考虑到游戏常规场景的内容,可包含草地,灌木,树林,岩石,水体,道路等。同时,采用的物体描述定义,可以为场景内各类物体的信息,其可包含物体名称,具体类型,尺寸。这样,便于提供较为贴合的场景设计。
之后,绘制场景描述图。本发明采用的场景描述图为一张或是若干张彩色图片构成。具体来说,图片中的不同颜色表示不同的场景物体,颜色的深度代表物体分布特征。这样,用户可以使用系统提供的绘制模块15,使用不同的笔刷绘制场景描述图。
接着,对场景描述图进行分解,构成若干个层数据。其原因在于,在进行下一步处理前,必须场景描述图处理成系统所能识别的数据。结合实际实施来看,层数据代表不同类型物体的集合,按照场景类型层数据,包含地表层,地表水体层,树木层,灌木层,草地层,岩石层,道路层。当然,可以根据实际场景地图的内容,进行新层的扩展。
随后,对层数据进行分类处理,生成密度分布图。这样能够便于后续的处理,将层数据转换为图形处理器能识别的密度分布图。具体来说,将每一层数据转化为灰度图,此灰度图构成密度分布图。灰度图的灰度等级代表着该层物体的分布,不同类型物体的灰度意义不同。实施期间,比如水体层的灰度代表水体深度,树木层灰度代表树木的分布的密度等。
然后,对密度分布图进行分割,制定图形处理器计算任务。考虑到实际处理的便利,可以将密度分布图按照64x64的大小分割为小块,构成若干区块,每个区块为一个图形处理器的任务。举例来看,一个带有12层数据的4平方公里的场景包含4096个区块(任务)。由此,大量分割的子任务可以有效利用现代图形处理器的并行计算能力。
实施期间,通过图形处理器,对密度分布图进行离散化处理,将对离散化数据进行重叠处理,最终生成最终的物体摆放数据。离散化处理后的每一个离散化点都代表着每一个物体。图形处理器的处理程序使用着色器语言进行编制。并且,通过重叠处理读取物体类型描述,获得物体的尺寸大小,之后再次对离散数据进行处理,将不同大小的物体点进行再次调整,避免物体在场景中重叠在一起。本发明采用的离散数据是密度分布图处理后的点云数据。实施期间,通过运行在图形处理器上的仿射变换算法,计算得出物体的摆放数据,摆放数据定义为一个4x4的矩阵,包含物体的坐标、旋转信息。
最后,通过图形处理器将物体摆放数据回传至中央处理器。由此,中央处理器接收物体摆放数据并进行保存。具体来说,中央处理器通过图形处理器提供的读回接口,将图形处理器计算的物体摆放信息都读回内存,并转换为中央处理器能识别的格式。同时,可以依托于中央处理器将物体摆放数据保存到当前场景文件夹中,并按摆放数据加载物体并显示给最终用户。
为了更好的实施本发明提供的方法,现提供一种大型游戏场景的编辑系统,具体来说,包括如下单元构成:场景描述图绘制单元1,用于场景描述类型和绘制场景描述图。层数据转换单元2,用于将场景描述图转换成层数据。密度分布图转换单元3,用于将层数据转换成物体密度分布图。物体摆放数据生成单元4,用于切割密度分布图制定处理任务,并在图形处理器上通过离散化和重叠处理生成物体摆放数据。物体摆放数据保存单元5,用于将物体摆放数据传回中央处理器并保存。
具体来说,采用的场景描述图绘制单元1,包含描述配置模块6,用于生成和保存当前场景的配置信息。同时,还包含绘制模块15,用于使用内置笔刷绘制场景描述图。
同时,层数据转换单元2内包含层数据分割模块7。这样,可以将场景描述图分割为若干个层数据。密度分布图转换单元3,可包含密度分布图处理模块8,用于将层数据转换为图形处理器可以识别的密度分布图。
并且,本发明采用的物体摆放数据生成单元4,其包含任务分解模块9、离散计算模块10、重叠处理模块11、物体摆放模块12。具体来说,任务分解模块9,用于将密度分布图分解,设置图形处理器处理参数。离散计算模块10,用于图形处理器将密度分布图分解为点云数据。重叠处理模块11,用于图形处理器将点云数据分隔开,避免物体重叠。物体摆放模块12,用于图形处理器将点云数据处理成摆放的矩阵数据。
再者,本发明采用的物体摆放数据保存单元5包含数据回传模块13与数据保存模块14。具体来说,数据回传模块13,可用于中央处理器读取图形处理器生成的物体摆放数据。通过数据保存模块14,能够用于中央处理器保存读取的物体摆放数据。
通过上述的文字表述并结合附图可以看出,采用本发明后,拥有如下优点:
1、能够提高大型游戏场景的制作效率,减少布置工时,降低了开发成本。
2、通过描述图降低了物体摆放的复杂性,使得画面表现可以更加丰富。
3、能够使用图形处理器进行并行计算加速,减少中央处理器计算量,提升了系统运行速度。
4、实施期间,用户使用场景分布描述图描述场景,而不是逐一摆放物体。
5、层数据通过处理生成物体密度分布图,可以通过离散和重叠处理计算所需的物体摆放数据。
此外,本发明所描述的指示方位或位置关系,均为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或构造必须具有特定的方位,或是以特定的方位构造来进行操作,因此不能理解为对本发明的限制。
术语“主”、“副”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“主”、“副”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“若干”的含义是两个或两个以上,除非另有明确具体的限定。
同样,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“设置”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个组件内部的连通或两个组件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。并且它可以直接在另一个组件上或者间接在该另一个组件上。当一个组件被称为是“连接于”另一个组件,它可以是直接连接到另一个组件或间接连接至该另一个组件上。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或组件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
1.适用于大型游戏场景的编辑方法,其特征在于包括以下步骤:
步骤一,用户制定场景描述图类型定义和物体描述定义;
步骤二,绘制场景描述图;
步骤三,对场景描述图进行分解,构成若干个层数据;
步骤四,对层数据进行分类处理,生成密度分布图;
步骤五,对密度分布图进行分割,制定图形处理器计算任务;
步骤六,通过图形处理器,对密度分布图进行离散化处理;
步骤七,通过图形处理器,对离散化数据进行重叠处理;
步骤八,通过图形处理器,生成最终的物体摆放数据;
步骤九,图形处理器将物体摆放数据回传至中央处理器;
步骤十,中央处理器接收物体摆放数据并进行保存。
2.根据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤一中的场景描述图类型定义,涵盖场景内物体的具体类型,包含草地,灌木,树林,岩石,水体,道路;所述物体描述定义,为场景内各类物体的信息,包含物体名称,具体类型,尺寸。
3.根据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤二中的场景描述图为一张或是若干张彩色图片构成,图片中的不同颜色表示不同的场景物体,颜色的深度代表物体分布特征。
4.根据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤三中,层数据代表不同类型物体的集合,按照场景类型层数据,包含地表层,地表水体层,树木层,灌木层,草地层,岩石层,道路层。
5.根据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤四中,将每一层数据转化为灰度图,此灰度图构成密度分布图,灰度图的灰度等级代表着该层物体的分布,不同类型物体的灰度意义不同。
6.根据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤五中,将密度分布图按照64x64的大小分割为小块,构成若干区块,每个区块为一个图形处理器的任务。
7.根据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤六中,离散化处理后的每一个离散化点都代表着每一个物体。图形处理器的处理程序能使用着色器语言进行编制;
所述步骤七中,通过重叠处理读取物体类型描述,获得物体的尺寸大小,之后再次对离散数据进行处理,将不同大小的物体点进行再次调整,避免物体在场景中重叠在一起。
8.据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述步骤八中,通过运行在图形处理器上的仿射变换算法,计算得出物体的摆放数据,所述摆放数据定义为一个4x4的矩阵,包含物体的坐标、旋转信息。
9.据权利要求1所述的适用于大型游戏场景的编辑方法,其特征在于:所述中央处理器通过图形处理器提供的读回接口,将图形处理器计算的物体摆放信息都读回内存,并转换为中央处理器能识别的格式;中央处理器将物体摆放数据保存到当前场景文件夹中,并按摆放数据加载物体并显示给最终用户。
10.大型游戏场景的编辑系统,其特征在于:包括有场景描述图绘制单元:用于场景描述类型和绘制场景描述图;
还包括有层数据转换单元:用于将场景描述图转换成层数据;
还包括有密度分布图转换单元:用于将层数据转换成物体密度分布图;
还包括有物体摆放数据生成单元:用于切割密度分布图制定处理任务,并在图形处理器上通过离散化和重叠处理生成物体摆放数据;
还包括有物体摆放数据保存单元:用于将物体摆放数据传回中央处理器并保存。
技术总结