CN109453519B - 一种地形的创建方法和装置 - Google Patents
一种地形的创建方法和装置 Download PDFInfo
- Publication number
- CN109453519B CN109453519B CN201811333943.0A CN201811333943A CN109453519B CN 109453519 B CN109453519 B CN 109453519B CN 201811333943 A CN201811333943 A CN 201811333943A CN 109453519 B CN109453519 B CN 109453519B
- Authority
- CN
- China
- Prior art keywords
- terrain
- target
- height difference
- vertex
- determining
- 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
Images
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
-
- 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/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
本发明实施例提供了一种地形的创建方法和装置,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面,所述地图用户界面上包括地形格子,所述地形格子分别具有对应的顶点,所述方法包括:确定所需创建的目标地形;获取用户在所述地形格子上的操作信息;根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点;计算所述相关顶点之间的高度差值得到高度差排列;获取所述高度差排列对应的地形模型块;在所述地形格子上采用所述地形模块创建目标地形。本发明实施例通过计算相关顶点之间的高度差值得到高度差排列,根据高度差排列获取到相应的地形模型块,能够快速创建出目标地形。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种地形的创建方法和一种地形的创建装置。
背景技术
沙盒游戏(Sandbox Games),是由沙盘游戏慢慢演变而来,自成一种游戏类型,由一个或多个地图区域构成,往往包含动作、射击、格斗、驾驶等多种元素,一般游戏地图较大,交互性强、自由度高、随机事件多、创造性强是其特点。用户可以在游戏世界中自由奔跑而不是根据游戏设置的主线剧情进行游戏。创造性是该类型游戏的核心玩法,利用游戏中提供的物件制造出用户自己独创的东西。比如在沙盒游戏中,用户可以创建各种地形,比如高地,低地,斜坡等。
目前的沙盒游戏,常见的有如下两种方案创建地形:方案1、固定模板,固定模板是用几种预先创建好的地形作为模板,提供给用户使用。方案2、模块拼接,是用几种地形模块拼接起来,组合成大地形块。然而,方案1太单调,用户没有自由发挥空间,方案2虽然能够创建出比较丰富的地形,但是地形的丰富性依赖于地形创建算法的质量。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种地形的创建方法和相应的一种地形的创建装置。
为了解决上述问题,本发明实施例公开了一种地形的创建方法,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面,所述地图用户界面上包括地形格子,所述地形格子分别具有对应的顶点,所述方法包括:
确定所需创建的目标地形;
获取用户在所述地形格子上的操作信息;
根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点;
计算所述相关顶点之间的高度差值得到高度差排列;
获取所述高度差排列对应的地形模型块;
在所述地形格子上采用所述地形模块创建目标地形。
优选地,所述确定所需创建的目标地形,包括:
获取用户的选择信息;
根据所述选择信息确定所需创建的目标地形。
优选地,所述根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点,包括:
根据所述操作信息在所述地形格子上确定目标顶点;
当所述目标地形为高低地时,获取与所述目标顶点相连的周边顶点;
根据所述周边顶点和所述目标顶点确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点。
优选地,在所述确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点之后,还包括:
根据所述操作信息确定对所述目标顶点的改变高度差值;
根据所述改变高度差值计算所述目标顶点改变后高度值;
基于所述改变后高度值计算所述目标地形格子的顶点之间的高度差值;
当所述高度差值不满足预设合法条件时,采用所述改变高度差值调整所述周边顶点的高度值直至满足预设合法条件。
优选地,所述根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点,包括:
根据所述操作信息在所述地形格子上确定目标顶点;所述目标顶点包括斜坡起点和斜坡中间点;
当所述目标地形为斜坡时,根据所述斜坡起点和斜坡中间点确定相关顶点。
优选地,所述在所述确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点之后,还包括:
计算所述相关顶点之间的高度差值;
当所述高度差值不满足预设合法条件时,提示地形创建不合法。
优选地,所述计算所述相关顶点之间的高度差值得到高度差排列,包括:
从所述相关顶点中提取出边缘顶点;
计算所述边缘顶点之间的高度差值得到高度差排列。
本发明实施例还公开了一种地形的创建装置,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面,所述地图用户界面上包括地形格子,所述地形格子分别具有对应的顶点,所述装置包括:
目标地形确定模块,用于确定所需创建的目标地形;
操作信息获取模块,用于获取用户在所述地形格子上的操作信息;
相关顶点确定模块,用于根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点;
高度差排列得到模块,用于计算所述相关顶点之间的高度差值得到高度差排列;
地形模型块获取模块,用于获取所述高度差排列对应的地形模型块;
目标地形创建模块,用于在所述地形格子上采用所述地形模块创建目标地形。
优选地,所述目标地形确定模块,包括:
选择信息获取子模块,用于获取用户的选择信息;
目标地形确定子模块,用于根据所述选择信息确定所需创建的目标地形。
优选地,所述相关顶点确定模块,包括:
目标顶点确定子模块,用于根据所述操作信息在所述地形格子上确定目标顶点;
周边顶点获取子模块,用于当所述目标地形为高低地时,获取与所述目标顶点相连的周边顶点;
相关顶点确定子模块,用于根据所述周边顶点和所述目标顶点确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点。
优选地,还包括:
改变高度差值确定模块,用于根据所述操作信息确定对所述目标顶点的改变高度差值;
改变后高度值计算模块,用于根据所述改变高度差值计算所述目标顶点改变后高度值;
高度差值计算模块,用于基于所述改变后高度值计算所述目标地形格子的顶点之间的高度差值;
高度值调整模块,用于当所述高度差值不满足预设合法条件时,采用所述改变高度差值调整所述周边顶点的高度值直至满足预设合法条件。
优选地,所述相关顶点确定模块,包括:
目标顶点确定子模块,用于根据所述操作信息在所述地形格子上确定目标顶点;所述目标顶点包括斜坡起点和斜坡中间点;
相关顶点确定子模块,用于当所述目标地形为斜坡时,根据所述斜坡起点和斜坡中间点确定相关顶点。
优选地,还包括:
高度差值计算模块,用于计算所述相关顶点之间的高度差值;
不合法提示模块,用于当所述高度差值不满足预设合法条件时,提示地形创建不合法。
优选地,所述高度差排列得到模块,包括:
边缘顶点提取子模块,用于从所述相关顶点中提取出边缘顶点;
高度差排列得到子模块,用于计算所述边缘顶点之间的高度差值得到高度差排列。
本发明实施例还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
本发明实施例预先制作有地形模型块,地形模型块具有对应的高度差排列。当用户在地图用户界面上创建地形时,首先确定用户在地图用户界面所需创建的目标地形,然后基于用户在地形格子上的操作信息和目标地形确定地形格子上的相关顶点,计算出相关顶点之间的高度差值得到高度差排列,最后根据高度差排列获取对应的地形模型块,并在地形格子上采用地形模块创建目标地形。本发明实施例通过计算相关顶点之间的高度差值得到高度差排列,根据高度差排列获取到相应的地形模型块,能够快速创建出目标地形。
本发明实施例在计算出相关顶点之间的高度差值得到高度差排列之前,检测相关顶点是否满足预设条件以确定是否合法,使得本发明实施例不会存在为非法状态的顶点,地形算法严密,提高创建地形的质量。
附图说明
图1是本发明的一种地形的创建方法实施例的步骤流程图;
图2是本发明的一种高低地模型块的顶视图;
图3是本发明的一种高度差排列为aaab的模型块顶视图
图4是本发明的一种高度差排列为aaab的模型块侧视图;
图5是本发明的一种斜坡构造的示意图;
图6是本发明的一种高度差排列为aahl的模型块顶视图;
图7是本发明的一种高度差排列为aahl的模型块侧视图;
图8是本发明的一种创建高低地时的相关顶点示意图;
图9是本发明的一种用户创建的一种地形示意图;
图10是本发明的一种地形的创建装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种地形的创建方法实施例的步骤流程图,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面。移动终端可以是平板、手机、计算机等设备,应用软件则可以是沙盒游戏等能够进行地形创建的程序。
本发明实施例的地图用户界面上包括地形格子,地形格子分别具有对应的顶点。在地图用户界面上的地形格子可以显示也可以不显示,用户可基于自身需求进行设置。
用户在地形格子上可以创建不同的地形,比如高低地和斜坡。其中高低地包括高地、低地以及高地和低地的组合地形。
本发明实施例预先制作有地形模型块,基于地形模型块能够快速创建地形。在地图用户界面上,y轴代表高度,地形模型块平行于x轴和z轴所在的xz面,将地形模型块放置在xz面划分的地形格子。地形格子是放置地形模型块的最小单位。
本发明实施例的地形模型块包括但不限于高低地模型块和斜坡模型块,模型块具有其对应的顶点的高度差排列。下面分别对于高低地模型块和斜坡模型块的高度差排列的推导过程进行说明。
1、对于高低地模型块的高度差排列进行推导。
为了美术人员制作方便,本发明实施例对高低地模型块做如下限制:规定单位高度(一个单位高度可以设置为4);规定高低地模型块大小和地形格子一致,即每个地形模型块可以刚好落在地形格子上;限定地形模型块在xz面投影的矩形4个顶点之间高度差值最大为2个单位高度。
参照图2,矩形ABCD为高低地模型块的顶视图,顶点A、B、C、D高度值分别为h_a,h_b,h_c,h_d。
min_h=min(h_a,h_b,h_c,h_d)
diff_a=h_a-min_h
diff_b=h_b-min_h
diff_c=h_c-min_h
diff_d=h_d-min_h
为了方便排列组合,做如下标记:字符a表示高度差值为0,字符b表示高度差值为1,字符c表示高度差值为2。其中,高度差值是指各个顶点高度和顶点列表中最小高度min_h之间的差值。
从顶点A开始遍历到顶点D,则高度差排列可能的如下几种:
aaaa
aaab(aaba baaa abaa)
aaac(aaca caaa acaa)
aabb(baba bbaa abab)
aabc(baca cbaa acab)
aacb(caba bcaa abac)
aacc(caca ccaa acac)
abba(baab abba baab)
abbb(babb bbba bbab)
abbc(bacb cbba bcab)
abca(caab acba baac)
abcb(cabb bcba bbac)
abcc(cacb ccba bcac)
acbb(babc bbca cbab)
acbc(bacc cbca ccab)
acca(caac acca caac)
accb(cabc bcca cbac)
accc(cacc ccca ccac)
其中,括号中高度差排列对应的模型块可以由前面高度差排列对应的模型块旋转n个90度得到,n取值为1-3。因此,美术人员仅需要制作18种模型块,这18种模型块覆盖了高度所有的情况(其它情况通过模型块旋转得到),随后在用户在创建高低地时,就可以根据地形格子的顶点高度差排列,获取对应的高低地模型块。
图3是高度差排列为aaab的模型块顶视图,图4是高度差排列为aaab的模型块侧视图,因为高度起伏的地方即为即为多个模型块拼接处,所以可以减去拼接处的面,节省面数。
2、对于斜坡模型块的高度差排列进行推导。
斜坡模型块:构建斜坡的最小单位模型,每个斜坡模型块占据两个并行的地形格子。
斜坡:每个斜坡至少需要两个并行的斜坡模型块构成,形成斜坡边缘的闭合。斜坡模型块均有一面需要和其它斜坡模型块合并,这个面在xz面的投影为一条边,这条边称为闭合边,对应的与之平行的边,则称为外沿边。
参照图5,每个斜坡由4种方向构成,其中ABCDEF,DEFGHI为两个斜坡模型块,DEF为闭合边,ABC,GHI为外沿边;箭头所示方向为斜坡的方向。同高低地模型,需要对于斜坡模型块进行一些限定,下面简称为斜坡限定条件。其中,高度差值是指顶点高度和顶点列表中最小高度之间的差值。
斜坡限定条件:限制闭合边上两个顶点之间高度差值最大为一个高度单位,这样斜坡比较缓和;限制外延边高度走向和闭合边走向一致;限制斜坡模型块6个顶点之间的高度差值最大为2个高度单位,即如ABCDEF这个斜坡模型块中,顶点A、B、C、D、E、F高度差最大不超过2个高度单位。
以矩形ABCDEF为例子,为了推导ACDF之间的高度差排列,做如下标记:用字符x、h、l来表示闭合边上顶点的高度差值,x代表2个单位高度,h代表1个单位高度,l代表0个单位高度;字符a、b、c表示外沿边顶点的高度差值,a代表0个单位高度,b代表1个单位高度,c代表2个单位高度。所有的高度差排列组合如下:
aahl(hala lhaa alah)
aalh(laha hlaa ahal)
aaxh(xaha hxaa ahax)
aahx(haxa xhaa axah)
abhx(haxb xhba bxah)
baxh(xbha hxab ahbx)
ablh(lahb hlba bhal)
bahl(hbla lhab albh)
aclh(lahc hlca chal)
cahl(hcla lhac alch)
achx(haxc xhca cxah)
caxh(xcha hxac ahcx)
bbhx(hbxb xhbb bxbh)
bbxh(xbhb hxbb bhbx)
bbhl(hblb lhbb blbh)
bblh(lbhb hlbb bhbl)
bchx(hbxc xhcb cxbh)
bclh(lbhc hlcb chbl)
cbxh(xchb hxbc bhcx)
cbhl(hclb lhbc blch)
cchl(hclc lhcc clch)
cclh(lchc hlcc chcl)
cchx(hcxc xhcc cxch)
ccxh(xchc hxcc chcx)
hlhl
其中,括号中高度差排列对应的斜坡模型块可以由前面的高度差排列对应的斜坡模型块通过旋转n个90度得到,n取值为1-3。需要注意的是,hlhl是个特殊排列,代表这个斜坡模型块两侧都需要和其它斜坡模型块合并。在具体实践中,只需要使用aahl、aalh、aaxh、aahx、ablh、bahl、achx、caxh、hlhl这个几个模型块,就可以拼出非常完善的斜坡。
参照图5所示,case1、case2、case3可以通过case0旋转得来,而旋转变换并不会改变顶点之间关系,如DE绕D点逆时针旋转90度,则E和A重合,这个属性是不会改变的。基于这个属性,可以以case0为基础推导斜坡模型块的高度差排列。
创建斜坡时有两个重要参数,D坐标,即斜坡起点,E坐标即斜坡的中间点,向量DE为斜坡方向(从高到低)。基于斜坡起点和中间点计算斜坡顶点的公式为:
DE=E-D
A=D+DE*Rot(-90)
G=D+DE*Rot(90)
B=A+DE
C=A+2DE
H=G+DE
I=G+2DE
其中,函数Rot(degree)表示顺时针旋转degree度。矩形ACDF,DFGI为两个斜坡模型块放置的地形格子,计算高度差值得到高度差排列,然后按照高度差排列即可查找对应斜坡模型块。
参照图6和图7,图6是高度差排列为aahl的模型块顶视图,图7是高度差排列为aahl的模型块侧视图。
本发明实施例在确定出地形模型块的高度差排列后,就可以让美术人员基于这些高度差排列制作相应模型块,在地形创建时,就可以获取相应的模型块完成地形创建了。
在本发明实施例中,所述地形的创建方法具体可以包括如下步骤:
步骤101,确定所需创建的目标地形。
在具体实现中,用户可以选择自己想要在地图用户界面上创建的目标地形,比如高低地、斜坡等等。在本发明的一种优选实施例中,所述步骤101可以包括如下子步骤:
获取用户的选择信息;
根据所述选择信息确定所需创建的目标地形。
在一种实施方式中,在地图用户界面上可以提供地形选项,用户可以在从地形选项中选择自己想要创建的目标地形。
步骤102,获取用户在所述地形格子上的操作信息。
在具体实现中,获取用户在地图用户界面上的操作,比如滑动操作,然后从滑动操作中提取相应的操作信息。比如,用户可以通过滑动改变某个顶点的高度,或者,通过滑动确定想要创建斜坡的位置。
步骤103,根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点。
在本发明实施例中,将在用户所选择的目标地形的前提下,基于操作信息去获取地形格子上的相关顶点。
在本发明的一种优选实施例中,当用户所选择的目标地形为高低地时,所述步骤103可以包括如下子步骤:
根据所述操作信息在所述地形格子上确定目标顶点;
当所述目标地形为高低地时,获取与所述目标顶点相连的周边顶点;
根据所述周边顶点和所述目标顶点确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点。
参照图8,当用户选择的目标地形为高低地时,用户可以通过操作改变某个顶点(x,z)高度,改变后的高度值h,改变的高度差值为delta(注意:限制每次改变的高度差值为单位高度)。
其中,顶点(x,z)为目标顶点,随后将获取与顶点(x,z)相连的顶点(x-1,z),(x,z+1),(x+1,z),(x,z-1),并将顶点(x,z)分别和顶点(x-1,z),(x,z+1),(x+1,z),(x,z-1)同时存在的地形格子作为目标地形格子,最后获取目标地形格子上的顶点作为相关顶点。此处将顶点(x-1,z),(x,z+1),(x+1,z),(x,z-1)称为周边顶点。
在本发明的一种优选实施例中,在创建高低地时,还可以在确定相关顶点后,判断相关顶点之间的高度差值是否合法,因此在所述步骤103之后,还可以包括如下步骤:
根据所述操作信息确定对所述目标顶点的改变高度差值;
根据所述改变高度差值计算所述目标顶点改变后高度值;
基于所述改变后高度值计算所述目标地形格子的顶点之间的高度差值;
当所述高度差值不满足预设合法条件时,采用所述改变高度差值调整所述周边顶点的高度值直至满足预设合法条件。
获取每个目标地形格子上顶点高度值得到高度列表,其中,对于目标顶点(x,z)的高度值是基于用户的操作改变后的高度值,检测每个目标地形格子顶点之间的高度差值是否合法,如果不合法,则改变该地形格子上周边顶点((x-1,z),(x,z+1),(x+1,z),(x,z-1))的高度值为原始高度值+delta,,并递归执行此步骤直至没有非法状态。已经处理过的合法状态点在递归过程中需要跳过不再执行。
例如,假设用户改变了某个格子顶点(x,z)的高度值,那么顶点(x,z)左上右下的四个顶点即为(x-1,z),(x,z+1),(x+1,z),(x,z-1),一个地形格子顶点高度值被改变后是否合法,需要检测其所处的地形格子顶点之间的高度差值来进行判断。
合法判断的伪代码如下:
在本发明的另一种优选实施例中,当用户所选择的目标地形为斜坡时,所述步骤103可以包括如下子步骤:
根据所述操作信息在所述地形格子上确定目标顶点;所述目标顶点包括斜坡起点和斜坡中间点;
当所述目标地形为斜坡时,根据所述斜坡起点和斜坡中间点确定相关顶点。
参照图5,用户从顶点D到顶点E拉斜坡时,将顶点D和顶点E作为目标顶点,然后根据顶点D和顶点E的坐标以及前述的斜坡顶点的公式计算出斜坡的其他顶点,最后得到该斜坡的相关顶点,即顶点A,B,C,D,E,F,G,H,I。
在本发明的另一种优选实施例中,在创建斜坡时,还可以在确定相关顶点后,判断相关顶点之间的高度差值是否合法,因此在所述步骤103之后,还可以包括如下步骤:
计算所述相关顶点之间的高度差值;
当所述高度差值不满足预设合法条件时,提示地形创建不合法。
检测斜坡的相关顶点A,B,C,D,E,F,G,H,I之间的高度差值是否满足斜坡限定条件,比如顶点之间的高度差值不超过两个单位高度。需要注意的是,如果满足斜坡限定条件,则进一步相关顶点的高度差排列,根据排列查找是否存在对应斜坡模型块,如果存在则创建斜坡,如果不存在,则不进行斜坡创建。如果不满足斜坡限定条件,则可以提醒用户当前的地形创建不合法,需要重新操作。
步骤104,计算所述相关顶点之间的高度差值得到高度差排列。
在本发明的一种优选实施例中,当创建的是斜坡时,所述步骤104可以包括如下子步骤:
从所述相关顶点中提取出边缘顶点;
计算所述边缘顶点之间的高度差值得到高度差排列。
步骤105,获取所述高度差排列对应的地形模型块。
参照图5,在创建斜坡时,如果满足斜坡限定条件,则先从相关顶点A,B,C,D,E,F,G,H,I中提取出边缘顶点A,C,D,F,G,H,I,再进一步计算边缘顶点组成的矩形ACDF,DFGI的高度差排列,用于去获取对应的斜坡模型块。
步骤106,在所述地形格子上采用所述地形模块创建目标地形。
在获取到高度差排列后,就可以根据高度差排列去获取相应的高低地模型块或者斜坡模型块,并基于高低地模型块、斜坡模型块进行地形创建,得到目标地形。
本发明实施例创建的目标地形可以互相组合,最终可以得到丰富多样的地形,比如如图9所示的一种用户随机创建的地形,有高地,低地,还有斜坡。
本发明实施例预先制作有地形模型块,地形模型块具有对应的高度差排列。当用户在地图用户界面上创建地形时,首先确定用户在地图用户界面所需创建的目标地形,然后基于用户在地形格子上的操作信息和目标地形确定地形格子上的相关顶点,计算出相关顶点之间的高度差值得到高度差排列,最后根据高度差排列获取对应的地形模型块,并在地形格子上采用地形模块创建目标地形。本发明实施例通过计算相关顶点之间的高度差值得到高度差排列,根据高度差排列获取到相应的地形模型块,能够快速创建出目标地形。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图10,示出了本发明的一种地形的创建装置实施例的结构框图,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面,所述地图用户界面上包括地形格子,所述地形格子分别具有对应的顶点,所述装置具体可以包括如下模块:
目标地形确定模块201,用于确定所需创建的目标地形;
操作信息获取模块202,用于获取用户在所述地形格子上的操作信息;
相关顶点确定模块203,用于根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点;
高度差排列得到模块204,用于计算所述相关顶点之间的高度差值得到高度差排列;
地形模型块获取模块205,用于获取所述高度差排列对应的地形模型块;
目标地形创建模块206,用于在所述地形格子上采用所述地形模块创建目标地形。
在本发明的一种优选实施例中,所述目标地形确定模块201可以包括如下子模块:
选择信息获取子模块,用于获取用户的选择信息;
目标地形确定子模块,用于根据所述选择信息确定所需创建的目标地形。
在本发明的一种优选实施例中,所述相关顶点确定模块203可以包括如下子模块:
目标顶点确定子模块,用于根据所述操作信息在所述地形格子上确定目标顶点;
周边顶点获取子模块,用于当所述目标地形为高低地时,获取与所述目标顶点相连的周边顶点;
相关顶点确定子模块,用于根据所述周边顶点和所述目标顶点确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点。
在本发明的一种优选实施例中,所述装置还可以包括如下模块:
改变高度差值确定模块,用于根据所述操作信息确定对所述目标顶点的改变高度差值;
改变后高度值计算模块,用于根据所述改变高度差值计算所述目标顶点改变后高度值;
高度差值计算模块,用于基于所述改变后高度值计算所述目标地形格子的顶点之间的高度差值;
高度值调整模块,用于当所述高度差值不满足预设合法条件时,采用所述改变高度差值调整所述周边顶点的高度值直至满足预设合法条件。
在本发明的一种优选实施例中,所述相关顶点确定模块203可以包括如下子模块:
目标顶点确定子模块,用于根据所述操作信息在所述地形格子上确定目标顶点;所述目标顶点包括斜坡起点和斜坡中间点;
相关顶点确定子模块,用于当所述目标地形为斜坡时,根据所述斜坡起点和斜坡中间点确定相关顶点。
在本发明的一种优选实施例中,所述装置还可以包括如下模块:
高度差值计算模块,用于计算所述相关顶点之间的高度差值;
不合法提示模块,用于当所述高度差值不满足预设合法条件时,提示地形创建不合法。
在本发明的一种优选实施例中,所述高度差排列得到模块204可以包括如下子模块:
边缘顶点提取子模块,用于从所述相关顶点中提取出边缘顶点;
高度差排列得到子模块,用于计算所述边缘顶点之间的高度差值得到高度差排列。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种地形的创建方法和相应的一种地形的创建装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种地形的创建方法,其特征在于,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面,所述地图用户界面上包括地形格子,所述地形格子分别具有对应的顶点,所述方法包括:
确定所需创建的目标地形;
获取用户在所述地形格子上的操作信息;
根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点;
计算所述相关顶点之间的高度差值得到高度差排列;其中,所述高度差值是各个顶点高度和顶点列表中最小高度之间的差值,所述高度差排列为将依次遍历所述相关顶点的所述高度差值,并按照大小进行排列后得到的排列组合;
获取所述高度差排列对应的地形模型块;
在所述地形格子上采用所述地形模型块创建目标地形。
2.根据权利要求1所述的方法,其特征在于,所述确定所需创建的目标地形,包括:
获取用户的选择信息;
根据所述选择信息确定所需创建的目标地形。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点,包括:
根据所述操作信息在所述地形格子上确定目标顶点;
当所述目标地形为高低地时,获取与所述目标顶点相连的周边顶点;
根据所述周边顶点和所述目标顶点确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点。
4.根据权利要求3所述的方法,其特征在于,在所述确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点之后,还包括:
根据所述操作信息确定对所述目标顶点的改变高度差值;
根据所述改变高度差值计算所述目标顶点改变后高度值;
基于所述改变后高度值计算所述目标地形格子的顶点之间的高度差值;
当所述高度差值不满足预设合法条件时,采用所述改变高度差值调整所述周边顶点的高度值直至满足预设合法条件。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点,包括:
根据所述操作信息在所述地形格子上确定目标顶点;所述目标顶点包括斜坡起点和斜坡中间点;
当所述目标地形为斜坡时,根据所述斜坡起点和斜坡中间点确定相关顶点。
6.根据权利要求4所述的方法,其特征在于,所述在所述确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点之后,还包括:
计算所述相关顶点之间的高度差值;
当所述高度差值不满足预设合法条件时,提示地形创建不合法。
7.根据权利要求5所述的方法,其特征在于,所述计算所述相关顶点之间的高度差值得到高度差排列,包括:
从所述相关顶点中提取出边缘顶点;
计算所述边缘顶点之间的高度差值得到高度差排列。
8.一种地形的创建装置,其特征在于,在移动终端的处理器上执行软件应用并在所述移动终端上渲染得到地图用户界面,所述地图用户界面上包括地形格子,所述地形格子分别具有对应的顶点,所述装置包括:
目标地形确定模块,用于确定所需创建的目标地形;
操作信息获取模块,用于获取用户在所述地形格子上的操作信息;
相关顶点确定模块,用于根据所述操作信息和所述目标地形确定所述地形格子上的相关顶点;
高度差排列得到模块,用于计算所述相关顶点之间的高度差值得到高度差排列;其中,所述高度差值是各个顶点高度和顶点列表中最小高度之间的差值,所述高度差排列为将依次遍历所述相关顶点的所述高度差值,并按照大小进行排列后得到的排列组合;
地形模型块获取模块,用于获取所述高度差排列对应的地形模型块;
目标地形创建模块,用于在所述地形格子上采用所述地形模型块创建目标地形。
9.根据权利要求8所述的装置,其特征在于,所述目标地形确定模块,包括:
选择信息获取子模块,用于获取用户的选择信息;
目标地形确定子模块,用于根据所述选择信息确定所需创建的目标地形。
10.根据权利要求8或9所述的装置,其特征在于,所述相关顶点确定模块,包括:
目标顶点确定子模块,用于根据所述操作信息在所述地形格子上确定目标顶点;
周边顶点获取子模块,用于当所述目标地形为高低地时,获取与所述目标顶点相连的周边顶点;
相关顶点确定子模块,用于根据所述周边顶点和所述目标顶点确定目标地形格子,并将所述目标地形格子的顶点作为相关顶点。
11.根据权利要求10所述的装置,其特征在于,还包括:
改变高度差值确定模块,用于根据所述操作信息确定对所述目标顶点的改变高度差值;
改变后高度值计算模块,用于根据所述改变高度差值计算所述目标顶点改变后高度值;
高度差值计算模块,用于基于所述改变后高度值计算所述目标地形格子的顶点之间的高度差值;
高度值调整模块,用于当所述高度差值不满足预设合法条件时,采用所述改变高度差值调整所述周边顶点的高度值直至满足预设合法条件。
12.根据权利要求8或9所述的装置,其特征在于,所述相关顶点确定模块,包括:
目标顶点确定子模块,用于根据所述操作信息在所述地形格子上确定目标顶点;所述目标顶点包括斜坡起点和斜坡中间点;
相关顶点确定子模块,用于当所述目标地形为斜坡时,根据所述斜坡起点和斜坡中间点确定相关顶点。
13.根据权利要求11所述的装置,其特征在于,还包括:
高度差值计算模块,用于计算所述相关顶点之间的高度差值;
不合法提示模块,用于当所述高度差值不满足预设合法条件时,提示地形创建不合法。
14.根据权利要求12所述的装置,其特征在于,所述高度差排列得到模块,包括:
边缘顶点提取子模块,用于从所述相关顶点中提取出边缘顶点;
高度差排列得到子模块,用于计算所述边缘顶点之间的高度差值得到高度差排列。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-7任一项所述的一个的方法。
16.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的一个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333943.0A CN109453519B (zh) | 2018-11-09 | 2018-11-09 | 一种地形的创建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333943.0A CN109453519B (zh) | 2018-11-09 | 2018-11-09 | 一种地形的创建方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109453519A CN109453519A (zh) | 2019-03-12 |
CN109453519B true CN109453519B (zh) | 2022-02-22 |
Family
ID=65609951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811333943.0A Active CN109453519B (zh) | 2018-11-09 | 2018-11-09 | 一种地形的创建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109453519B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111508054B (zh) * | 2020-04-14 | 2023-08-08 | 网易(杭州)网络有限公司 | 地形构建方法、装置及设备 |
CN111784790A (zh) * | 2020-06-22 | 2020-10-16 | 上海米哈游天命科技有限公司 | 一种地貌生成方法、装置、计算机设备和存储介质 |
CN111784791B (zh) * | 2020-06-22 | 2024-03-29 | 上海米哈游天命科技有限公司 | 一种地貌迁移方法、装置、设备和介质 |
CN112516597B (zh) * | 2020-12-24 | 2024-02-23 | 上海米哈游网络科技股份有限公司 | 一种三维场景生成方法、装置、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087031A (ja) * | 2005-09-21 | 2007-04-05 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成システム |
JP2011138538A (ja) * | 2011-02-24 | 2011-07-14 | Nintendo Co Ltd | 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法 |
CN102750725A (zh) * | 2012-06-05 | 2012-10-24 | 南京安讯网络服务有限公司 | 基于图形处理器加速的地形渲染方法 |
CN106780698A (zh) * | 2016-12-23 | 2017-05-31 | 深圳市刑天科技开发有限公司 | 基于图形处理器加速的地形渲染方法 |
CN107172136A (zh) * | 2017-05-04 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 体素数据的同步方法和装置 |
CN107886562A (zh) * | 2017-12-05 | 2018-04-06 | 北京像素软件科技股份有限公司 | 水面渲染方法、装置及可读存储介质 |
CN107909541A (zh) * | 2017-11-13 | 2018-04-13 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5183878B2 (ja) * | 2006-03-06 | 2013-04-17 | 任天堂株式会社 | ゲームプログラム、ゲームシステム |
-
2018
- 2018-11-09 CN CN201811333943.0A patent/CN109453519B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087031A (ja) * | 2005-09-21 | 2007-04-05 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成システム |
JP2011138538A (ja) * | 2011-02-24 | 2011-07-14 | Nintendo Co Ltd | 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法 |
CN102750725A (zh) * | 2012-06-05 | 2012-10-24 | 南京安讯网络服务有限公司 | 基于图形处理器加速的地形渲染方法 |
CN106780698A (zh) * | 2016-12-23 | 2017-05-31 | 深圳市刑天科技开发有限公司 | 基于图形处理器加速的地形渲染方法 |
CN107172136A (zh) * | 2017-05-04 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 体素数据的同步方法和装置 |
CN107909541A (zh) * | 2017-11-13 | 2018-04-13 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
CN107886562A (zh) * | 2017-12-05 | 2018-04-06 | 北京像素软件科技股份有限公司 | 水面渲染方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109453519A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109453519B (zh) | 一种地形的创建方法和装置 | |
US7925084B1 (en) | Merge and removal in a planar map of an image | |
US9233303B2 (en) | Mobile device game interface | |
CN108307189A (zh) | 三维内容提供系统、方法及计算机可读记录介质 | |
US7929755B1 (en) | Planar map to process a raster image | |
CN108176049A (zh) | 一种信息提示方法、装置、终端和计算机可读存储介质 | |
CN111524231A (zh) | 一种虚拟地形的处理方法及装置、电子设备、存储介质 | |
CN110688506A (zh) | 一种模板生成方法、装置、电子设备及存储介质 | |
CN109499067B (zh) | 一种地形纹理的绘制方法及装置、电子设备、存储介质 | |
CN108898013A (zh) | 一种基于布局划分特征向量的安卓应用界面相似度比较方法 | |
CN106775741B (zh) | 图标生成方法及装置 | |
Lederle-Ensign et al. | What is strafe jumping? idtech3 and the game engine as software platform | |
Jenny et al. | Point pattern synthesis | |
CN113384881A (zh) | 一种游戏中的地图显示方法及装置 | |
CN111375208A (zh) | 一种用于一笔画游戏的二维欧拉图生成方法及装置 | |
US20230146564A1 (en) | System and method for positioning objects within an environment | |
CN110705242A (zh) | 一种制作幻灯片模板的方法、装置及电子设备 | |
CN108553902A (zh) | 一种基于ue引擎的多维材质的变换方法 | |
CN112132932B (zh) | 序列图自动生成方法及装置 | |
JP3943097B2 (ja) | 草オブジェクトの自動配置機能を有するゲームソフトウエア及びゲーム装置 | |
CN114721577B (zh) | 一种猜图方法及系统 | |
KR102302833B1 (ko) | 3d 모델에 대한 베벨 방법 및 이러한 방법을 수행하는 장치 | |
CN113362411B (zh) | 一种快速自动生成满印图案的方法及系统 | |
CN114119925B (zh) | 游戏图像的建模方法、装置及电子设备 | |
JP2688027B2 (ja) | 地表面形状表示処理方法 |
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 |