CN112704874B - 一种3d游戏中的哥特式场景自动生成的方法和装置 - Google Patents
一种3d游戏中的哥特式场景自动生成的方法和装置 Download PDFInfo
- Publication number
- CN112704874B CN112704874B CN202011542367.8A CN202011542367A CN112704874B CN 112704874 B CN112704874 B CN 112704874B CN 202011542367 A CN202011542367 A CN 202011542367A CN 112704874 B CN112704874 B CN 112704874B
- Authority
- CN
- China
- Prior art keywords
- building
- building model
- model components
- slot
- map block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种3D游戏中的哥特式场景自动生成的方法,包括遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合,确定第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,从待使用建筑槽位集合中选定待生成建筑槽位,根据待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与已存在建筑模型组件相邻的待连接建筑模型组件,完成哥特式场景的建立。本发明随机生成各种形态建筑结构,灵活性高,自动化生成游戏建筑场景,且实现了对建筑内部结构的生成。本发明还涉及一种3D游戏中的哥特式场景自动生成的装置、设备和存储介质。
Description
技术领域
本发明涉及游戏技术领域,尤其涉及一种3D游戏中的哥特式场景自动生成的方法和装置。
背景技术
目前,游戏建筑场景构建方法主要分为手动搭建和自动搭建。手动搭建主要流程为:首先VR场景设计师进行建筑原画创作,第二步数字美工进行建筑3D模型搭建,第三步进行建筑连通性测试和场景修改调整,第四步进行建筑材质制作,第五步制作细节丰富的高精度建筑模型,优化面数,并光影烘焙,最后导入到unity3D、UE4等游戏引擎中进行整合调整。
现有的自动搭建方法主要有以下方法,一是以平面图垂直拉伸为主的2D转3D建筑场景生成,可以快速把2D数字地图转换为3D带材质的简易建筑场景。二是以程序化生成为主的基于建筑布局规则的3D场景生成。把建筑场景作为一个空间复合函数,设计师能够通过修改参数对单体建筑模型形态、贴图效果进行更改,也能够对单体建筑模型间的相邻关系进行量化函数定义。但是,现有的建筑场景生成方法无论是手动搭建还是自动搭建,操作复杂,且对设计人员要求较高,无法满足对哥特式建筑场景快速搭建的需求。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种3D游戏中的哥特式场景自动生成的方法和装置。
本发明解决上述技术问题的技术方案如下:一种3D游戏中的哥特式场景自动生成的方法,所述方法包括:
S1、遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合;
S2、获取所述地图区块集合中与所述玩家距离最近的第一地图区块,并确定所述第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;
S3、根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的已存在建筑模型组件,从所述待使用建筑槽位集合中选定待生成建筑槽位;
S4、根据所述待生成建筑槽位中的所述已存在建筑模型组件和建筑模型组件库,确定与所述已存在建筑模型组件相邻的待连接建筑模型组件,并将所述待生成建筑槽位从所述待使用建筑槽位集合中删除;
S5、重复所述S3至所述S4,直至所述待使用建筑槽位集合为空,将所述第一地图区块从所述地图区块集合中删除;
S6、重复所述S2至所述S5,直至所述地图区块集合为空,完成哥特式场景的建立。
本方法发明的有益效果是:提供一种3D游戏中的哥特式场景自动生成的方法,通过遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合,并获取地图区块集合中与玩家距离最近的第一地图区块,确定第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,从待使用建筑槽位集合中选定待生成建筑槽位,根据待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与已存在建筑模型组件相邻的待连接建筑模型组件,将待生成建筑槽位从待使用建筑槽位集合中删除,执行上述步骤,直至待使用建筑槽位集合为空,将第一地图区块从地图区块集合中删除,执行上述步骤直至地图区块集合为空,完成哥特式场景的建立。本方法发明能够利用建筑模型组件,随机生成各种形态建筑结构,灵活性高,且通过修改建筑模型组件库中的建筑模型组件的形态及组件连接规则即可改变所生成游戏建筑场景的形态,此外,本方法可自动化生成游戏建筑场景,而不需要原画师绘制完整模型图示,另外,由于建筑组建较小,对于模型师水平要求降低,并且实现了对建筑内部结构的生成。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述获取所述地图区块集合中与所述玩家距离最近的第一地图区块,具体包括:
确定所述玩家的位置的第一三维向量;
确定所述地图区块集合中每一个所述地图区块的第二三维向量,并计算所述第一三维向量和所述第二三维向量之间的距离;
选取所述距离最小的所述第二三维向量所对应的所述地图区块,作为所述第一地图区块。
采用上述进一步方案的有益效果是:通过计算地图区块的三维向量与玩家对应的三维向量之间的距离,得到距离玩家最近的地图区块,实现了从确定的地图区块到非确定地图区块进行搭建的过程,提高场景搭建效率。
进一步地,所述确定所述第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合,具体包括以下步骤:
将所述第一地图区块所对应的所述第二三维向量中的每一维向量的值分别减少预设数量,得到所述待使用建筑槽位,并将所述待使用建筑槽位放入所述待使用建筑槽位集合中;
重复上述步骤,直到所述第二三维向量的坐标点超过所述第一地图区块的位置范围,得到所述待使用建筑槽位集合。
进一步地,所述步骤S3中具体包括以下步骤:
根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的所述已存在建筑模型组件,计算所述待使用建筑槽位的熵值;
选择所述熵值最小的所述待使用建筑槽位,作为所述待生成建筑槽位。
采用上述进一步方案的有益效果是:根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,计算待使用建筑槽位的熵值,从而确定待生成建筑槽位,提升了场景搭建的效率。
选择所述熵值最小的所述待使用建筑槽位,作为所述待生成建筑槽位
进一步地,所述根据所述待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与所述已存在建筑模型组件相邻的待连接建筑模型组件,具体包括以下步骤:
从所述建筑模型组件库中查找到可与所述已存在建筑模型组件相邻的所述建筑模型组件,其中,与所述建筑模型组件相邻的所述建筑模型组件包括分别与所述建筑模型组件的六个面相邻的所述建筑模型组件;
根据预设约束条件,从所述可与所述已存在建筑模型组件相邻的所述建筑模型组件中随机选取所述建筑模型组件,并将所述建筑模型组件确定为所述待连接建筑模型组件。
采用上述进一步方案的有益效果是:从建筑模型组件库中查找到可与已存在建筑模型组件相邻的建筑模型组件,根据预设约束条件,从可与已存在建筑模型组件相邻的建筑模型组件中随机选取建筑模型组件,并将建筑模型组件确定为待连接建筑模型组件,实现了利用建筑模型组件,随机生成各种形态建筑结构,灵活性高,此外,通过修改建筑模型组件形态及建筑模型组件的连接规则即可改变所生成建筑的形态,提高了搭建的效率。
进一步地,所述根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的所述已存在建筑模型组件,计算所述待使用建筑槽位的熵值,具体包括:
从所述建筑模型组件库中查找所有所述已存在建筑模型组件的权重值;
对所有所述已存在建筑模型组件的权重值进行求和,得到和值;
将所述和值输入至预设熵函数,得到所述待使用建筑槽位的熵值。
进一步地,所述遍历与玩家预设距离内的地图区域之前,所述方法还包括:
将哥特式建筑结构解析得到多个建筑模型组件,并将所有所述建筑模型组件放入所述建筑模型组件库中,其中所述建筑模型组件库中包括所述建筑模型组件的权重和可与所述建筑模型组件相邻的建筑模型组件。
本发明解决上述技术问题的另一种技术方案如下:一种3D游戏中的哥特式场景自动生成的装置,所述装置包括:
获取地图区块集合模块,用于遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合;
地图区块构建模块,用于获取所述地图区块集合中与所述玩家距离最近的第一地图区块,并确定所述第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;
建筑槽位集合构建模块,用于根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的已存在建筑模型组件,从所述待使用建筑槽位集合中选定待生成建筑槽位;
根据所述待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与所述已存在建筑模型组件相邻的待连接建筑模型组件,并将所述待生成建筑槽位从所述待使用建筑槽位集合中删除;
重复上述步骤,直到所述待使用建筑槽位集合为空,将所述第一地图区块从所述地图区块集合中删除;
所述地图区块构建模块,用于重复上述步骤,直到所述地图区块集合为空,完成哥特式场景的建立。
本装置发明的有益效果是:提供一种3D游戏中的哥特式场景自动生成的装置,通过遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合,并获取地图区块集合中与玩家距离最近的第一地图区块,确定第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,从待使用建筑槽位集合中选定待生成建筑槽位,根据待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与已存在建筑模型组件相邻的待连接建筑模型组件,将待生成建筑槽位从待使用建筑槽位集合中删除,执行上述步骤,直至待使用建筑槽位集合为空,将第一地图区块从地图区块集合中删除,执行上述步骤直至地图区块集合为空,完成哥特式场景的建立。本方法发明能够利用建筑模型组件,随机生成各种形态建筑结构,灵活性高,且通过修改建筑模型组件库中的建筑模型组件的形态及组件连接规则即可改变所生成游戏建筑场景的形态,此外,本方法可自动化生成游戏建筑场景,而不需要原画师绘制完整模型图示,另外,由于建筑组建较小,对于模型师水平要求降低,并且实现了对建筑内部结构的生成。
本申请还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述技术方案中任一项所述的3D游戏中的哥特式场景自动生成的方法的步骤。
此外,本申请还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述技术方案中任一项所述的3D游戏中的哥特式场景自动生成的方法的步骤。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的一种3D游戏中的哥特式场景自动生成的方法的流程示意图;
图2为本发明实施例所述的一种3D游戏中的哥特式场景自动生成的装置的模块示意图;
图3为本发明实施例所述的一种3D游戏中的哥特式场景自动生成的方法中的高墙上的花窗玻璃的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1本发明实施例所述的一种3D游戏中的哥特式场景自动生成的方法的流程示意图所示,一种3D游戏中的哥特式场景自动生成的方法包括以下步骤:
110、遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合。
120、获取地图区块集合中与玩家距离最近的第一地图区块,并确定第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合。
130、根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,从待使用建筑槽位集合中选定待生成建筑槽位。
140、根据待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与已存在建筑模型组件相邻的待连接建筑模型组件,并将待生成建筑槽位从待使用建筑槽位集合中删除。
150、重复步骤130至140,直至待使用建筑槽位集合为空,将第一地图区块从地图区块集合中删除。
160、重复步骤120至150,直至地图区块集合为空,完成哥特式场景的建立。
应理解,本实施例构建了完整的哥特式建筑自动化生成模型,基于上述实施例,可在unity3D中实现,或在其他3D软件中实现,本实施例中不做限制。
应理解,在程序中,建筑模型组件库中的每一个建筑模型组件具有相应的权重、建筑模型组件的内外部位置和建筑模型组件在六个方向上的可以相邻的建筑模型组件,其中,权重值设置在0-1之间,表示在一个地图区块中此建筑模型组件出现的概率,权重越大,该建筑模型组件出现的次数就越多。建筑模型组件的内外部位置通过布尔变量区分,哥特式场景中的建筑模型组件包括内部组件和外部组件,例如吊灯和桌子等为内部组件,而柱子和屋顶等为外部组件。该建筑模型组件在六个方向上的可以相邻的建筑模型组件根据水平面和垂直面,为每一个建筑模型组件至少指定六个模型的编号作为其六个方向上的相邻建筑模型组件,但是这一相邻建筑模型组件可能是空模型,例如屋顶的前后左右四个方位都是空的。如图3本发明实施例所述的一种3D游戏中的哥特式场景自动生成的方法中的高墙上的花窗玻璃的示意图所示,高墙上的花窗玻璃的左边可相邻建筑模型组件可以是墙、带窗户的墙或栏杆,下面可相邻的建筑模型组件可以是空、墙、或楼梯顶部,后面所相邻的建筑模型组建是空,右边可相邻的建筑模型组件可以是墙上的长椅、墙角喷泉或栏杆拐角,上面可相邻的建筑模型组件可以是与墙壁相连的栏杆、楼顶拐角或立柱。
此外,本实施例中,首先需要初始化,包括对地图数据的初始化,将建筑模型组件、边界约束和数据剔除进行初始化。从确定后的地图区域到非确定地图区域的扩展,通过距离玩家最近的地图区块的三维向量坐标和区块大小,根据此区块的位置和大小的积,从设定三维向量坐标点开始遍历,直到三维向量坐标点超过地图区块的范围,其中每个三维向量会作为建筑槽的位置生成一个建筑槽,最终得到待使用建筑槽位集合,其中待使用建筑槽位集合可以是一个哈希集工作区,之后待使用建筑槽位集合中的建筑槽,并调用预设熵函数,计算每一个建筑槽的熵值,其中预设熵函数是一个热学量,是热力学中一个有特殊重要意义的状态函数,反映了它所处状态的均匀程度,本实施例中可以采用通用的熵函数,也可根据情况采用其他改进后的熵函数。
对建筑模型组件的权重求后,作为自变量通过熵函数得到对应的建筑槽的熵,在符合约束条件的建筑模块组件中随机选取一个建筑模块组件,可选择的建筑模块组件取决于每个建筑模块组件可相邻的建筑模型组件,每个单独的模型都在建筑模型组件库中指定了其上下左右前后六个方向的可相邻的建筑模型组件。在此过程中,如果某一步可选建筑模型组件为空,则回溯至之前的状态,重新进行随机选取,最终实现哥特式场景的建立。
基于上述实施例提供的一种3D游戏中的哥特式场景自动生成的方法,通过遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合,并获取地图区块集合中与玩家距离最近的第一地图区块,确定第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,从待使用建筑槽位集合中选定待生成建筑槽位,根据待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与已存在建筑模型组件相邻的待连接建筑模型组件,将待生成建筑槽位从待使用建筑槽位集合中删除,执行上述步骤,直至待使用建筑槽位集合为空,将第一地图区块从地图区块集合中删除,执行上述步骤直至地图区块集合为空,完成哥特式场景的建立。本方法发明能够利用建筑模型组件,随机生成各种形态建筑结构,灵活性高,且通过修改建筑模型组件库中的建筑模型组件的形态及组件连接规则即可改变所生成游戏建筑场景的形态,此外,本方法可自动化生成游戏建筑场景,而不需要原画师绘制完整模型图示,另外,由于建筑组建较小,对于模型师水平要求降低,并且实现了对建筑内部结构的生成。
基于上述实施例,进一步地,步骤120中具体包括:
确定玩家的位置的第一三维向量。
确定地图区块集合中每一个地图区块的第二三维向量,并计算第一三维向量和第二三维向量之间的距离。
选取距离最小的第二三维向量所对应的地图区块,作为第一地图区块。
进一步地,步骤120中具体包括以下步骤。
将第一地图区块所对应的第二三维向量中的每一维向量的值分别减少预设数量,得到待使用建筑槽位,并将待使用建筑槽位放入待使用建筑槽位集合中。
重复上述步骤,直到第二三维向量的坐标点超过第一地图区块的位置范围,得到待使用建筑槽位集合。
进一步地,步骤130中具体包括以下步骤:
131、根据待使用建筑槽位集合中的每一个待使用建筑槽位中的已存在建筑模型组件,计算待使用建筑槽位的熵值。
132、选择熵值最小的待使用建筑槽位,作为待生成建筑槽位。
进一步地,步骤140中具体包括以下步骤:
从建筑模型组件库中查找到可与已存在建筑模型组件相邻的建筑模型组件,其中,与建筑模型组件相邻的所述建筑模型组件包括分别与建筑模型组件的六个面相邻的建筑模型组件。
根据预设约束条件,从可与已存在建筑模型组件相邻的建筑模型组件中随机选取建筑模型组件,并将建筑模型组件确定为待连接建筑模型组件。
进一步地,步骤131中具体包括:
从建筑模型组件库中查找所有已存在建筑模型组件的权重值。
对所有已存在建筑模型组件的权重值进行求和,得到和值。
将和值输入至预设熵函数,得到待使用建筑槽位的熵值。
进一步地,步骤110之前还包括:
将哥特式建筑结构解析得到多个建筑模型组件,并将所有建筑模型组件放入建筑模型组件库中,其中建筑模型组件库中包括建筑模型组件的权重和可与建筑模型组件相邻的建筑模型组件。
如图2本发明实施例所述的一种3D游戏中的哥特式场景自动生成的装置的模块示意图所示,一种3D游戏中的哥特式场景自动生成的装置包括:
获取地图区块集合模块,用于遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合;
地图区块构建模块,用于获取所述地图区块集合中与所述玩家距离最近的第一地图区块,并确定所述第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;
建筑槽位集合构建模块,用于根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的已存在建筑模型组件,从所述待使用建筑槽位集合中选定待生成建筑槽位;
根据所述待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与所述已存在建筑模型组件相邻的待连接建筑模型组件,并将所述待生成建筑槽位从所述待使用建筑槽位集合中删除;
重复上述步骤,直到所述待使用建筑槽位集合为空,将所述第一地图区块从所述地图区块集合中删除;
所述地图区块构建模块,用于重复上述步骤,直到所述地图区块集合为空,完成哥特式场景的建立。
本发明还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述技术方案中任一项所述的3D游戏中的哥特式场景自动生成的方法的步骤。
此外,本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述技术方案中任一项所述的3D游戏中的哥特式场景自动生成的方法的步骤。
应理解,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种3D游戏中的哥特式场景自动生成的方法,其特征在于,所述方法包括:
S1、遍历游戏地图中与玩家预设距离内的地图区域,得到地图区块集合;
S2、获取所述地图区块集合中与所述玩家距离最近的第一地图区块,并确定所述第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合;
S3、根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的已存在建筑模型组件,从所述待使用建筑槽位集合中选定待生成建筑槽位;
S4、根据所述待生成建筑槽位中的所述已存在建筑模型组件和建筑模型组件库,确定与所述已存在建筑模型组件相邻的待连接建筑模型组件,并将所述待生成建筑槽位从所述待使用建筑槽位集合中删除;
S5、重复所述S3至所述S4,直至所述待使用建筑槽位集合为空,将所述第一地图区块从所述地图区块集合中删除;
S6、重复所述S2至所述S5,直至所述地图区块集合为空,完成哥特式场景的建立;
所述获取所述地图区块集合中与所述玩家距离最近的第一地图区块,具体包括:
确定所述玩家的位置的第一三维向量;
确定所述地图区块集合中每一个所述地图区块的第二三维向量,并计算所述第一三维向量和所述第二三维向量之间的距离;
选取所述距离最小的所述第二三维向量所对应的所述地图区块,作为所述第一地图区块;所述确定所述第一地图区块内的所有待使用建筑槽位,得到待使用建筑槽位集合,具体包括:重复执行以下步骤,将所述第一地图区块所对应的所述第二三维向量中的每一维向量的值分别减少预设数量,得到所述待使用建筑槽位,并将所述待使用建筑槽位放入所述待使用建筑槽位集合中,直到所述第二三维向量的坐标点超过所述第一地图区块的位置范围,得到所述待使用建筑槽位集合。
2.根据权利要求1所述的3D游戏中的哥特式场景自动生成的方法,其特征在于,所述步骤S3中具体包括以下步骤:
根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的所述已存在建筑模型组件,计算所述待使用建筑槽位的熵值;
选择所述熵值最小的所述待使用建筑槽位,作为所述待生成建筑槽位。
3.根据权利要求2所述的3D游戏中的哥特式场景自动生成的方法,其特征在于,所述根据所述待生成建筑槽位中的已存在建筑模型组件和建筑模型组件库,确定与所述已存在建筑模型组件相邻的待连接建筑模型组件,具体包括以下步骤:
从所述建筑模型组件库中查找到可与所述已存在建筑模型组件相邻的所述建筑模型组件,其中,与所述建筑模型组件相邻的所述建筑模型组件包括分别与所述建筑模型组件的六个面相邻的所述建筑模型组件;
根据预设约束条件,从所述可与所述已存在建筑模型组件相邻的所述建筑模型组件中随机选取所述建筑模型组件,并将所述建筑模型组件确定为所述待连接建筑模型组件。
4.根据权利要求2所述的3D游戏中的哥特式场景自动生成的方法,其特征在于,所述根据所述待使用建筑槽位集合中的每一个所述待使用建筑槽位中的所述已存在建筑模型组件,计算所述待使用建筑槽位的熵值,具体包括:
从所述建筑模型组件库中查找所有所述已存在建筑模型组件的权重值;
对所有所述已存在建筑模型组件的权重值进行求和,得到和值;
将所述和值输入至预设熵函数,得到所述待使用建筑槽位的熵值。
5.根据权利要求1所述的3D游戏中的哥特式场景自动生成的方法,其特征在于,所述遍历与玩家预设距离内的地图区域之前,所述方法还包括:
将哥特式建筑结构解析得到多个建筑模型组件,并将所有所述建筑模型组件放入所述建筑模型组件库中,其中所述建筑模型组件库中包括所述建筑模型组件的权重和可与所述建筑模型组件相邻的建筑模型组件。
6.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使所述计算机执行根据权利要求1-5中任一项所述的3D游戏中的哥特式场景自动生成的方法的步骤。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的3D游戏中的哥特式场景自动生成的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542367.8A CN112704874B (zh) | 2020-12-21 | 2020-12-21 | 一种3d游戏中的哥特式场景自动生成的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542367.8A CN112704874B (zh) | 2020-12-21 | 2020-12-21 | 一种3d游戏中的哥特式场景自动生成的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112704874A CN112704874A (zh) | 2021-04-27 |
CN112704874B true CN112704874B (zh) | 2023-09-22 |
Family
ID=75543964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011542367.8A Active CN112704874B (zh) | 2020-12-21 | 2020-12-21 | 一种3d游戏中的哥特式场景自动生成的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112704874B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012012383A2 (en) * | 2010-07-19 | 2012-01-26 | Ron Bittner | A design build construction game and method of playing the same |
GB201619747D0 (en) * | 2015-11-23 | 2017-01-04 | Igt Canada Solutions Ulc | Three-dimensional display for wagering gaming systems with distortion compensation |
US9691121B1 (en) * | 2014-11-11 | 2017-06-27 | Amazon Technologies, Inc. | Distributed determination of scene information |
CN107704382A (zh) * | 2017-09-07 | 2018-02-16 | 北京信息科技大学 | 面向Python的函数调用路径生成方法和*** |
WO2018081851A1 (en) * | 2016-11-03 | 2018-05-11 | Buy Somewhere Pty Ltd | Visualisation system and software architecture therefor |
CN108245885A (zh) * | 2017-12-29 | 2018-07-06 | 网易(杭州)网络有限公司 | 信息处理方法、装置、移动终端和存储介质 |
CN108355353A (zh) * | 2017-12-29 | 2018-08-03 | 网易(杭州)网络有限公司 | 信息处理方法及装置、存储介质、电子设备 |
CN109771951A (zh) * | 2019-02-13 | 2019-05-21 | 网易(杭州)网络有限公司 | 游戏地图生成的方法、装置、存储介质和电子设备 |
CN109939440A (zh) * | 2019-04-17 | 2019-06-28 | 网易(杭州)网络有限公司 | 三维游戏地图的生成方法、装置、处理器及终端 |
CN110102058A (zh) * | 2019-06-10 | 2019-08-09 | 网易(杭州)网络有限公司 | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 |
CN110148203A (zh) * | 2019-05-16 | 2019-08-20 | 网易(杭州)网络有限公司 | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 |
CN110262865A (zh) * | 2019-06-14 | 2019-09-20 | 网易(杭州)网络有限公司 | 构建游戏场景的方法及装置、计算机存储介质、电子设备 |
WO2019223782A1 (zh) * | 2018-05-25 | 2019-11-28 | 广州虎牙信息科技有限公司 | 游戏场景描述方法、装置、设备及存储介质 |
CN110598802A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种内存检测模型训练的方法、内存检测的方法及装置 |
CN111105507A (zh) * | 2019-12-10 | 2020-05-05 | 网易(杭州)网络有限公司 | 虚拟附件模型的生成方法、装置、处理器及电子装置 |
CN111274710A (zh) * | 2020-02-14 | 2020-06-12 | 青岛智能产业技术研究院 | 一种基于游戏的核应急疏散出口选择行为模型的构建方法 |
CN111467806A (zh) * | 2020-05-15 | 2020-07-31 | 网易(杭州)网络有限公司 | 游戏场景中资源生成方法、装置、介质及电子设备 |
CN111530077A (zh) * | 2020-05-26 | 2020-08-14 | 网易(杭州)网络有限公司 | 游戏场景优化方法及装置、电子设备、存储介质 |
CN111957046A (zh) * | 2020-09-03 | 2020-11-20 | 网易(杭州)网络有限公司 | 游戏场景资源的生成方法、装置以及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7874921B2 (en) * | 2005-05-11 | 2011-01-25 | Roblox Corporation | Online building toy |
US7972210B2 (en) * | 2005-07-06 | 2011-07-05 | Gallagher Leo A | Electronic slot machine |
JP5178764B2 (ja) * | 2010-03-30 | 2013-04-10 | 株式会社バンダイナムコゲームス | プログラム及び電子装置 |
CN108245894B (zh) * | 2017-12-29 | 2019-04-30 | 网易(杭州)网络有限公司 | 信息处理方法及装置、存储介质、电子设备 |
-
2020
- 2020-12-21 CN CN202011542367.8A patent/CN112704874B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012012383A2 (en) * | 2010-07-19 | 2012-01-26 | Ron Bittner | A design build construction game and method of playing the same |
US9691121B1 (en) * | 2014-11-11 | 2017-06-27 | Amazon Technologies, Inc. | Distributed determination of scene information |
GB201619747D0 (en) * | 2015-11-23 | 2017-01-04 | Igt Canada Solutions Ulc | Three-dimensional display for wagering gaming systems with distortion compensation |
WO2018081851A1 (en) * | 2016-11-03 | 2018-05-11 | Buy Somewhere Pty Ltd | Visualisation system and software architecture therefor |
CN107704382A (zh) * | 2017-09-07 | 2018-02-16 | 北京信息科技大学 | 面向Python的函数调用路径生成方法和*** |
CN108245885A (zh) * | 2017-12-29 | 2018-07-06 | 网易(杭州)网络有限公司 | 信息处理方法、装置、移动终端和存储介质 |
CN108355353A (zh) * | 2017-12-29 | 2018-08-03 | 网易(杭州)网络有限公司 | 信息处理方法及装置、存储介质、电子设备 |
WO2019223782A1 (zh) * | 2018-05-25 | 2019-11-28 | 广州虎牙信息科技有限公司 | 游戏场景描述方法、装置、设备及存储介质 |
CN109771951A (zh) * | 2019-02-13 | 2019-05-21 | 网易(杭州)网络有限公司 | 游戏地图生成的方法、装置、存储介质和电子设备 |
CN109939440A (zh) * | 2019-04-17 | 2019-06-28 | 网易(杭州)网络有限公司 | 三维游戏地图的生成方法、装置、处理器及终端 |
CN110148203A (zh) * | 2019-05-16 | 2019-08-20 | 网易(杭州)网络有限公司 | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 |
CN110102058A (zh) * | 2019-06-10 | 2019-08-09 | 网易(杭州)网络有限公司 | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 |
CN110262865A (zh) * | 2019-06-14 | 2019-09-20 | 网易(杭州)网络有限公司 | 构建游戏场景的方法及装置、计算机存储介质、电子设备 |
CN110598802A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种内存检测模型训练的方法、内存检测的方法及装置 |
CN111078479A (zh) * | 2019-09-26 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种内存检测模型训练的方法、内存检测的方法及装置 |
CN111105507A (zh) * | 2019-12-10 | 2020-05-05 | 网易(杭州)网络有限公司 | 虚拟附件模型的生成方法、装置、处理器及电子装置 |
CN111274710A (zh) * | 2020-02-14 | 2020-06-12 | 青岛智能产业技术研究院 | 一种基于游戏的核应急疏散出口选择行为模型的构建方法 |
CN111467806A (zh) * | 2020-05-15 | 2020-07-31 | 网易(杭州)网络有限公司 | 游戏场景中资源生成方法、装置、介质及电子设备 |
CN111530077A (zh) * | 2020-05-26 | 2020-08-14 | 网易(杭州)网络有限公司 | 游戏场景优化方法及装置、电子设备、存储介质 |
CN111957046A (zh) * | 2020-09-03 | 2020-11-20 | 网易(杭州)网络有限公司 | 游戏场景资源的生成方法、装置以及计算机设备 |
Non-Patent Citations (2)
Title |
---|
建筑物LOD模型的算法研究及其OSG实现;叶霜霜;申闫春;;计算机仿真(08);全文 * |
面向复杂中文地址关联的三维关系评估模型;王宇璐;张伟;贺泽宇;;计算机应用研究(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112704874A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108961404B (zh) | 一种积木式构建不规则模型的方法和*** | |
CN106600680A (zh) | 一种建筑物体框模型批量精细三维建模方法 | |
CN108733911B (zh) | 基于三维数字模型的建筑铝模板施工编码设计方法 | |
CN112528379B (zh) | 一种建筑模型生成方法、装置及电子设备 | |
CN115048704B (zh) | 基于Revit的桥梁下部结构建模方法、***及装置 | |
CN108257203A (zh) | 一种家装效果图构建渲染方法、平台 | |
CN114332291A (zh) | 一种倾斜摄影模型建筑物外轮廓规则提取方法 | |
US10282490B2 (en) | Estimation of three-dimensional models of roofs from spatial two-dimensional graphs | |
CN112704874B (zh) | 一种3d游戏中的哥特式场景自动生成的方法和装置 | |
US9600151B2 (en) | Interactive design variations interface | |
CN113051654B (zh) | 基于二维gis数据的室内楼梯三维地理实体模型构建方法 | |
CN113420359B (zh) | 一种基于revit的电力工程总图自动传参布井的方法 | |
CN112199743A (zh) | 道路路肩挡墙的组件建立方法和三维参数化布置方法 | |
CN111288977B (zh) | 超高层建筑工程测量控制的监理方法 | |
CN105809717A (zh) | 一种深度估计方法、***及电子设备 | |
CN116051771A (zh) | 一种基于无人机倾斜摄影模型的光伏bim屋顶自动建模方法 | |
CN112989470B (zh) | 一种基于点云数据的室内空间布局提取方法 | |
Hrozek et al. | Digital preservation of historical buildings using virtual reality technologies | |
CN112184896B (zh) | 基于楼层与开间线辅助的三维建筑建模方法、装置和*** | |
CN114297751A (zh) | Bim渲染方法、装置、电子设备及存储介质 | |
Pu | Generating building outlines from terrestrial laser scanning | |
CN112395677A (zh) | 一种土建bim工程量模型的构建方法 | |
CN111915721A (zh) | 一种基于激光点云的输电线路走廊建筑物平断面快速提取方法及*** | |
Sadeghi et al. | 3D building façade reconstruction using handheld laser scanning data | |
CN113468641B (zh) | 创建栏杆几何模型的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |