CN111773699B - 一种地形形变方法和装置 - Google Patents
一种地形形变方法和装置 Download PDFInfo
- Publication number
- CN111773699B CN111773699B CN202010699978.7A CN202010699978A CN111773699B CN 111773699 B CN111773699 B CN 111773699B CN 202010699978 A CN202010699978 A CN 202010699978A CN 111773699 B CN111773699 B CN 111773699B
- Authority
- CN
- China
- Prior art keywords
- dimensional terrain
- data node
- terrain model
- deformation
- grid
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013507 mapping Methods 0.000 claims abstract description 45
- 230000008859 change Effects 0.000 claims abstract description 28
- 230000003993 interaction Effects 0.000 claims abstract description 24
- 238000009877 rendering Methods 0.000 claims abstract description 11
- 230000001105 regulatory effect Effects 0.000 claims abstract description 3
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 15
- 230000001276 controlling effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 12
- 238000012876 topography Methods 0.000 description 12
- 230000006978 adaptation Effects 0.000 description 10
- 238000009826 distribution Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
-
- 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/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
- A63F13/5378—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
-
- 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)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种地形形变方法和装置,所述方法包括:获取三维地形模型的网格顶点集合以及与所述三维地形模型的网格顶点集合对应的数据节点组合;响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型的网格;根据改变后的所述三维地形模型模型网格渲染出对应的三维地形模型。基于数据节点组合与三维地形模型的网格顶点集合的映射关系以及形变参数,实现在游戏运行中地形的实时网格形变,从而提高地形在游戏运行时与游戏场景中的其他元素进行有效与实时互动。
Description
技术领域
本发明涉及游戏应用技术领域,特别是涉及一种地形形变方法和一种地形形变装置。
背景技术
地形作为游戏表现的一种形式,被广泛地应用于现有的游戏场景中,如游戏中的高原、平原、街道等。由于地形作为游戏场景中的一个重要组成部分,如何将地形与游戏场景中的其他元素进行互动,已经越来越受到广大游戏制作单位的重视。
在游戏场景中,传统的地形实现方式可以通过DCC(Digital Content Creation,泛指面向于影视、娱乐、游戏行业的建模创作)软件或者游戏引擎以离线的方式制作地形三维网格,然后在DCC软件或者游戏引擎中调整地形三维网格的形变,例如突起、凹陷、断裂等,最后在游戏运行时将制作好的地形网格进行展示。
传统的地形实现方式很难在游戏运行时实时改变地形的形状,即很难在游戏运行时实时改变地形的三维网格形状来产生形变,导致这种限制的主要原因是由于游戏运行的目标硬件的性能有限,不能实时处理类似地形这种三维网格特别密集的形变计算,这种限制在移动平台,如手机、PAD(portable android device,平板电脑)等移动硬件设备上体现得非常明显。由于具有这种限制,导致利用传统的地形实现方式制作的地形,不能在游戏中与游戏场景中的其他元素进行有效互动,比如游戏中的人物角色,在一个沙滩上行走的时候,沙滩上是没有地形实时形变产生的脚印。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种地形形变方法和相应的一种地形形变装置。
为了解决上述问题,本发明实施例公开了一种地形形变方法,所述方法包括:
获取三维地形模型的网格顶点集合以及与所述三维地形模型网格顶点集合对应的数据节点组合,其中,所述数据节点组合的数据节点与所述三维地形模型的网络顶点集合中的至少一个顶点具有映射关系;
响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;
根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格;
根据改变后的所述三维地形模型模型网格渲染出对应的三维地形模型。
可选地,所述数据节点组合包括多个数据节点组合;所述根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格,包括:
获取各个数据节点组合的形变参数;
根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息;所述形变控制信息为针对所述数据节点组合的最终形变结果的信息;
根据所述形变控制信息以及所述映射关系,调整所述网格顶点集合中的顶点以改变所述三维地形模型网格。
可选地,所述根据所述形变控制信息以及所述映射关系,调整所述网格顶点集合中的顶点以改变所述三维地形模型网格,包括:
判断所述数据节点组合的数据节点是否需要发生形变;
若所述数据节点组合的数据节点需要发生形变,则获取与所述需要发生形变的数据节点对应的所述三维地形模型网格顶点集合中的至少一个顶点;
按照拟合得到的形变控制信息对所述网格顶点集合中的至少一个顶点进行拟合,以改变三维地形模型网格。
可选地,所述根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息,包括:
当所述各个数据节点组合的数据节点所控制的所述网格顶点集合中的顶点相同时,获取针对所述各个数据节点组合的影响因子;
采用所述各个数据节点组合的影响因子与所述各个数据节点组合的形变参数的乘积,并进行拟合,得到针对所述数据节点组合的形变控制信息。
可选地,所述获取三维地形模型的网格顶点集合,包括:
获取多个三维地形模型的网格顶点;
将所述多个三维地形模型的网格顶点划分为至少一个三维地形模型的网格顶点集合。
可选地,各个数据节点组合的数据节点所控制的网格顶点集合中的顶点的数量不同。
可选地,还包括:
将多个所述三维地形模型的网格顶点集合组合为预设场景的三维地形模型。
本发明实施例还公开了一种地形形变装置,所述装置包括:
顶点集合获取模块,用于获取三维地形模型网格顶点集合以及与所述三维地形模型网格顶点集合对应的数据节点组合;所述数据节点组合的数据节点与所述三维地形模型网络顶点集合中的至少一个顶点具有映射关系;
形变参数确定模块,用于响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;
三维地形模型调整模块,用于根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型模型的网格;
三维地形模型渲染模块,用于根据改变后的所述三维地形模型模型网格渲染出对应的三维地形模型。
可选地,所述数据节点组合包括多个数据节点组合;所述三维地形模型调整模块包括:
形变参数获取子模块,用于获取各个数据节点组合的形变参数;
形变控制信息生成子模块,用于根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息;所述形变控制信息为针对所述数据节点组合的最终形变结果的信息;
三维地形模型调整子模块,用于根据所述形变控制信息以及所述映射关系,调整所述网格顶点集合中的顶点以改变所述三维地形模型网格。
可选地,所述三维地形模型调整子模块包括:
形变判断单元,用于判断所述数据节点组合的数据节点是否需要发生形变;
形变顶点获取单元,用于若所述数据节点组合的数据节点需要发生形变,则获取与所述需要发生形变的数据节点对应的所述三维地形模型网格顶点集合中的至少一个顶点;
三维地形模型调整单元,用于按照拟合得到的形变控制信息对所述网格顶点集合中的至少一个顶点进行拟合,以改变三维地形模型网格。
可选地,所述形变控制信息生成子模块包括:
影响因子获取单元,用于当所述各个数据节点组合的数据节点所控制的所述网格顶点集合中的顶点相同时,获取针对所述各个数据节点组合的影响因子;
形变控制信息生成单元,用于采用所述各个数据节点组合的影响因子与所述各个数据节点组合的形变参数的乘积,并进行拟合,得到针对所述数据节点组合的形变控制信息。
可选地,所述顶点集合获取模块包括:
网格顶点获取子模块,用于获取多个三维地形模型的网格顶点;
顶点集合生成子模块,用于将所述多个三维地形模型的网格顶点划分为至少一个三维地形模型的网格顶点集合。
可选地,各个数据节点组合的数据节点所控制的网格顶点集合中的顶点的数量不同。
可选地,还包括:
三维地形模型组合模块,用于将多个所述三维地形模型的网格顶点集合组合为预设场景的三维地形模型。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述地形形变方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述地形形变方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,获取三维地形模型的网格顶点集合以及与三维地形模型的网格顶点集合对应的数据节点组合,其中,数据节点组合的数据节点与三维地形模型的网格顶点集合中的至少一个顶点具有映射关系,以及数据节点组合的形变参数,通过根据形变参数控制数据节点组合的数据节点,进而控制与数据节点具有映射关系的三维地形模型的网格顶点集合中的至少一个顶点,实现三维地形模型的形变。基于数据节点组合与三维地形模型的网格顶点集合的映射关系以及形变参数,实现在游戏运行中地形的实时网格形变,从而提高地形在游戏运行时与游戏场景中的其他元素进行有效与实时互动。
附图说明
图1是本发明的一种地形形变方法实施例一的步骤流程图;
图2是本发明的一种地形形变方法实施例二的步骤流程图;
图3是本发明实施例中针对三维地形模型的网格顶点集合的示意图;
图4是本发明实施例的针对预设场景的三维地形模型的示意图;
图5是本发明实施例中三维地形模型的网格顶点集合与数据节点组合映射关系的示意图;
图6是本发明实施例中针对拟合控制组件进行工作时的示意图;
图7是本发明实施例中针对适配组件进行工作时的示意图;
图8是本发明实施例的一种地形形变方法的应用场景图;
图9是本发明的一种地形形变装置实施例的结构框图;
图10是本发明实施例的一种计算机可读存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在游戏中,按照传统的地形实现方式,其主要步骤可以包括:(1)通过DCC软件或者游戏引擎以离线的方式制作三维地形模型网格;(2)在DCC软件或者游戏引擎中调整三维地形模型网格的形变,如突起、凹陷、断裂等;(3)在游戏运行时把制作好的三维地形模型网格展示出来。其中,该地形模型的三维网格是按照预定的游戏内容预先制作实现的,且对地形模型的三维网格的形变是在游戏运行前进行调整的,即在游戏运行时的三维地形模型网格并不能实现实时制作以及计算。
基于上述问题,本发明实施例的核心构思之一在于,提出三维地形模型的网格顶点集合与数据节点组合的概念,以及网格顶点集合中的顶点与数据节点组合中的数据节点的映射关系,具体为,可以按照三维地形模型的网格顶点集合中的顶点得到对应的具有分层数据结构的数据节点组合,在游戏运行时,通过控制具有分层数据结构的数据节点组合的数据节点,进而对三维地形模型的网格顶点集合进行控制,实现三维地形模型网格的形变。
其中,三维地形模型的网格顶点集合的概念与一般模型表面的三角形网格的定义不同,模型的三角形网格可以是任意形状的,而本发明实施例提出的三维地形模型的网格顶点集合中的顶点组成的三角形网格可以是平的或者平面状态。
参照图1,示出了本发明的一种地形形变方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101,获取三维地形模型的网格顶点集合以及与所述三维地形模型的网格顶点集合对应的数据节点组合;所述数据节点组合的数据节点与所述三维地形模型网络顶点集合中的至少一个顶点具有映射关系;
在本发明的一种实施例中,针对游戏场景中的地形,可以获取三维地形模型的网格顶点集合,以及与网格顶点集合对应的数据节点组合,以便通过对网格顶点集合中的顶点进行控制,实现对三维地形模型网格的实时形变控制。
在实际应用中,获取的三维地形模型的网格顶点集合与数据节点组合之间具有映射关系,主要可以表现为数据节点组合的一个数据节点可以控制对应的三维地形模型网格顶点集合中的至少一个顶点。需要说明的是,三维地形模型网格顶点集合可以是针对某个三维地形模型的一个最小的三维地形模型网格顶点集合,其可以通过DCC软件或者游戏引擎进行制作,且三维地形模型可以由多个最小的三维地形模型网格顶点集合拼接形成;针对某个三维地形模型,可以具有至少一个三维地形模型顶点结合,且具有至少一个数据节点组合,即每一个三维地形模型顶点组合分别对应每一个数据节点组合。
步骤102,响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;
在本发明的一种实施例中,在得到三维地形模型的网格顶点集合以及与网格顶点集合对应的数据节点组合,以及数据节点集合中的某个数据节点与网格顶点集合中的至少一个顶点的映射关系之后,还可以响应三维地形模型的交互事件,确定数据节点集合的形变参数。
步骤103,根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格;
在本发明的一种实施例中,在游戏运行时,在获取针对某个三维地形模型的网格顶点集合以及对应的数据节点组合之后,由于数据节点组合的数据节点与网格顶点集合中的顶点具有映射关系,可以获取数据节点组合的形变参数,并通过数据节点组合的形变参数,对数据节点组合的数据节点进行实时形变,进而控制网格顶点集合中的顶点进行实时形变控制,以实现对三维地形模型网格的实时形变。
步骤104,根据改变后的所述三维地形模型网格渲染出对应的三维地形模型。
在具体实现中,在根据数据节点组合的形变参数以及映射关系,调整三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格之后,可以根据改变后得到的三维地形模型网格渲染出对应的三维地形模型,完成在游戏运行过程中对三维地形模型网格的形变。
在本发明实施例中,获取三维地形模型的网格顶点集合以及与三维地形模型的网格顶点集合对应的数据节点组合,其中,数据节点组合的数据节点与三维地形模型的网格顶点集合中的至少一个顶点具有映射关系,以及数据节点组合的形变参数,通过根据形变参数控制数据节点组合的数据节点,进而控制与数据节点具有映射关系的三维地形模型的网格顶点集合中的至少一个顶点,实现三维地形模型的形变。基于数据节点组合与三维地形模型的网格顶点集合的映射关系以及形变参数,实现在游戏运行中地形的实时网格形变,从而提高地形在游戏运行时与游戏场景中的其他元素进行有效与实时互动。
参照图2,示出了本发明的一种地形形变方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤201,加载用于控制三维地形模型进行形变的地形形变组件;
在本发明的一种实施例中,地形作为游戏表现的一种形式,在游戏运行时,可以加载预置的地形形变组件,地形形变组件可以用于对游戏中的地形,例如高原、平原、街道等进行形变,以便通过地形形变组件使得地形与游戏场景中的其他元素进行互动。
在实际应用中,预置的地形形变组件可以是由基于分层数据结构的形变控制单元构成,并可以在游戏运行时通过游戏程序进行生成,以便在游戏运行时可以通过生成的地形形变组件对三维地形模型进行实时地形变控制。其中,通过额外生成的地形形变组件进行类似地形这种三维网格特别密集的形变计算,在不降低目标硬件性能的前提下,实现对三维地形模型的实时形变控制。
需要说明的是,运行游戏的目标硬件,即通过游戏程序生成地形形变组件的硬件设备可以是手机、游戏机、PAD、PC(Personal Computer,个人计算机)等各种终端设备。在硬件设备上运行游戏软件可以应用在各种终端设备的屏幕上渲染图形用户界面,图形用户界面所显示的内容可以包括至少一个局部或全部的游戏场景,该游戏场景的具体形态可以是方形,也可以是其他形状,本发明实施例对此不加以限制。
步骤202,获取三维地形模型的网格顶点集合以及对应的数据节点组合;
在本发明的一种实施例中,针对某个三维地形模型,可以获取多个最小的三维地形模型的网格顶点集合以及对应的多个数据节点组合,以便通过地形形变组件中的控制单元对数据节点组合的多个数据节点进行控制,进而控制与多个数据节点对应的三个地形顶点集合中的多个顶点。
在本发明的一种实施例中,步骤202可以包括如下子步骤:
子步骤S11,获取多个三维地形模型的网格顶点;
子步骤S12,将所述多个三维地形模型的网格顶点划分为至少一个三维地形模型的网格顶点集合。
具体的,针对某个三维地形模型,可以获取多个三维地形模型的网格顶点,以便在DCC软件或者游戏引擎中,根据至少一个三维地形模型的网格顶点制作至少一个最小的三维地形模型的网格顶点集合,即将多个三维地形模型的网格顶点划分为至少一个最小的三维地形模型的网格顶点集合。
在本发明的一种实施例中,参照图3,示出了本发明实施例中针对三维地形模型的网格顶点集合的示意图,可以将最小的三维地形模型的网格顶点集合定义为地形Tile,如图3所示,一个地形Tile可以包括多个三维地形模型顶点,假设制作某个三维地形模型总共需要100个三维地形模型的网格顶点,若将20个顶点划分为一组,那么对于地形Tile,此时可以具有5个地形Tile,每个地形Tile具有20个顶点。
需要说明的是,若假设存在三维地形模型,则对于地形Tile(即最小的三维地形模型的网格顶点集合)而言,地形Tile可以是该模型的子集;且地形Tile与传统方式中以离线方式制作生成的三维地形模型网格而言,地形Tile相对于三维地形模型网格而言,可以是对等的关系,也可以是其子集的关系,例如假设在传统方式中以离线方式制作生成的三维地形模型网格具有100个顶点,那么具有20个顶点的地形Tile可以相当于其子集,假设以离线方式制作的三维地形模型网格具有20个顶点,那么同样具有20个顶点的地形Tile可以与其为对等的关系。
步骤203,将多个所述三维地形模型的网格顶点集合组合为预设场景的三维地形模型;
在本发明的一种实施例中,参照图4,示出了本发明实施例的针对预设场景的三维地形模型的示意图,针对某个预设游戏场景中的三维地形模型可以包括多个最小的三维地形模型的网格顶点集合,即由多个地形Tile拼接组合得到针对某个三维地形模型的完整地形。假设制作某个三维地形模型总共需要100个三维地形模型的网格顶点,若将50个顶点划分为一组,此时可以具有2个地形Tile,每个地形Tile具有50个顶点,以及可以将该2个地形Tile拼接得到具有100个三维地形模型的网格顶点的完整地形。
在实际的应用场景中,由于针对某个预设游戏场景中的三维地形模型可以由多个最小的三维地形模型的网格顶点集合拼接形成,获取与三维地形模型对应的数据节点组合可以为多个,即每个最小的三维地形模型的顶点集合对应每个数据节点组合,最小的三维地形模型的顶点集合的数量与数据节点组合的数量相同。
步骤204,响应三维地形模型交互事件并确定所述数据节点组合的形变参数;
在本发明的一种实施例中,在得到三维地形模型的网格顶点集合以及与网格顶点集合对应的数据节点组合,以及数据节点集合中的某个数据节点与网格顶点集合中的至少一个顶点的映射关系之后,还可以响应三维地形模型的交互事件,确定数据节点集合的形变参数。
其中,三维地形模型交互事件可以是在游戏运行时,游戏中的人物角色对游戏场景中的其他元素的交互事件,可以根据交互事件所需的形变参数进行确定,其形变参数可以从预先设置形变参数集合中进行获取,该形变参数集合可以包括sin函数、log函数、cos函数等不同种类的函数。
例如,当游戏中的人物角色在沙滩上行走的时候,此时可以在沙滩上出现利用地形实时形变所产生的脚印,其中,数据节点集合可以包括多个数据节点集合,且多个数据节点集合可以包括多个数据节点,数据节点的形变参数可以不同,那么对于数据节点集合的形变参数而言,可以是多个数据节点的形变参数进行结合或拟合后的形变参数,在具体实现中,采用结合或拟合后的形变参数对三维地形模型的至少一个网格顶点进行形变控制,进而出现脚印。对于多个数据节点的形变参数进行结合或拟合后的形变参数,可以根据实际情况而定,本发明实施例不加以限制。
步骤205,根据确定的形变参数以及映射关系,控制三维地形模型进行形变;
在本发明的一种实施例中,通过在游戏运行时根据游戏程序生成的用于控制游戏地形形变的形变控制单元,对数据节点组合的数据节点进行形变控制,进而控制三维地形模型网格顶点集合中的顶点进行形变,实现对三维地形模型进行形变。
在实际应用中,在对数据节点组合的形变参数进行获取之后,由于三维地形模型的网格顶点集合与数据节点组合之间具有映射关系,具体的,数据节点组合的一个数据节点可以控制对应的三维地形模型网格顶点集合中的至少一个顶点,主要表现为在通过用于控制游戏地形形变的形变控制单元根据数据节点组合的形变参数对数据节点进行形变控制的同时,对进行形变的数据节点对应的顶点也进行了形变控制。
在本发明的一种实施例中,参照图5,示出了本发明实施例中三维地形模型网格顶点集合与数据节点组合映射关系的示意图,该示意图为按照一个最小的三维地形模型网格顶点集合形成的一个数据节点组合,如图5所示,与一个地形Tile对应的一个数据节点组合可以为类似于分层金字塔的数据结构,该数据结构可以通过使用分层工具与手动调整相关的调节参数结合而自动生成。
具体的,类似分层金字塔的数据结构可以包括多层数据结构,每一层数据结构可以保存一组数据节点,数据节点即为数据节点组合的数据节点,以控制地形Tile中一定数量的三维网格顶点的形变。其中,每一层的数据节点的分布可以按照调节参数进行确定,调节参数可以是一组预先定义的一组数值,例如二元一次等式aX+bY=c中的a,b以及c。需要说明的是,按照不同的调节参数,每一层数据节点的分布可以是均匀分布,也可以是不均匀且随机分布的,对此,本发明实施例不加以限制。
其中,为了方便对三维地形模型网格顶点集合与数据节点组合映射关系进行示意,如图5所示,底层为一个最小的三维地形模型网格顶点集合,即为一个地形Tile,地形Tile往上一层可以是分层金字塔的第0层,该层中数据节点的分布的间距以及位置可以与地形Tile中顶点的分布一致;第0层往上一层可以是分层金字塔的第1层,从第1层开始,往上的每一层的数据节点可以按照一定预设的分布函数,此时可以手动调整相关的调节参数对数据节点的分布进行改变。需要说明的是,与三维地形模型顶点集合对应的数据节点组合的数据结构可以是类似分层金字塔的数据结构,也可以是类似分层圆筒的数据结构,对此,本发明实施例不加以限制。
在本发明的一种实施例中,各个数据节点组合的数据节点所控制的地形三维网格顶点集合中的顶点的数量不同。
在实际应用中,按照从第0层向上的方向,可以将类似分层金字塔的分层数据结构中的每一层称为Layer,每一层(Layer)可以包含一定数量的数据节点,每个数据节点可以控制一个地形Tile中一定数量的三维网格数据顶点进行形变。由于一个最小的三维地形模型顶点集合(即一个地形Tile)对应一个数据节点组合,那么对于一个数据节点与地形Tile中的三维地形模型网格顶点而言,可以形成1对N的关系,即一个数据节点可以控制一个地形Tlie中的N个三维地形模型网格顶点。
在默认的情况下,对于一个数据节点组合而言,针对每层数据节点分布的数量,可以随着分层金字塔中Layer层级向上逐渐减少,即上面一级Layer中数据节点分布的数量会比下面一级Layer中数据节点分布的数量少;然而,针对每层数据节点所控制的三维地形模型网格顶点的数量,可以随着分层金字塔中Layer层级逐渐向上增加,即上面一级Layer中数据节点所控制的顶点的数量可以比下面一级Layer中数据节点所控制的顶点的数量多。
在本发明的一种实施例中,对于任何一层(Layer)中的数据节点与地形Tile中的三维地形模型网格顶点的关系可以如下等式所示:
其中,M表示的是类似分层金字塔中某一层的数据节点的总数,Xi表示的是第i个数据节点所控制的三维地形模型网格顶点的数量,N表示的是一个地形Tile所包含的三维地形模型网格顶点的总数;即对于任何一层中的数据节点,其数据节点所控制的三维地形模型网格顶点的数量的总和,等于与该数据节点组合对应的地形Tile所包含的三维地形模型网格顶点的总数。在本发明的一种实施例中,所述地形形变组件包括拟合控制组件以及适配组件,所述数据节点组合包括多个数据节点组合,步骤205可以包括如下子步骤:
子步骤S21,通过所述拟合控制组件获取针对各个数据节点组合的形变参数;
在本发明的一种实施例中,对于某个地形Tile,其对应的某个类似于分层金字塔的数据节点组合而言,由于数据节点组合具有多层存在不同数量的数据节点形成的数据节点组合,此时可以获取针对每一层数据节点组合形变参数,以便通过地形形变组件对每一层数据节点组合进行形变控制。
在实际应用中,在游戏运行时通过游戏程序生成的地形形变组件可以包括拟合控制组件,针对每一层数据节点组合的形变参数的获取可以通过拟合控制组件中获取。其中,在按照最小的三维地形模型网格顶点集合生成对应的数据节点组合时,可以预先设置形变参数集合并存储在拟合控制组件中,该形变参数集合可以包括sin函数、log函数、cos函数等不同种类的函数,并对每一层数据节点组合设置对应的形变参数。需要说明的是,每层数据节点组合设置的形变参数可以相同,也可以不同,对此,本发明实施例不加以限制。
子步骤S22,根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息;所述形变控制信息为针对所述数据节点组合的最终形变结果的信息;
通过拟合控制组件,对每一层数据节点组合对应的形变参数进行获取之后,可以根据对应的形变参数对每一层数据节点组合的数据节点进行形变,然后再通过拟合控制组件对进行形变的每一层数据节点组合的形变进行拟合,得到针对该数据节点组合的形变控制信息,以便通过数据节点组合的形变控制信息对相应的地形Tile进行形变;该形变控制信息可以包括每一层数据节点组合的形变参数,以及拟合每一层数据节点组合的形变参数进行形变的最终效果。
具体的,参照图6,示出了本发明实施例中针对拟合控制组件进行工作时的示意图,最左边可以为每一层(Layer)对应的形变参数,可以对每一层数据节点组合的数据节点按照对应的形变参数进行形变,假设第1层数据节点组合对应的形变参数为sin函数,则可以按照sin函数相应曲线对第1层数据节点组合的所有数据节点进行形变,最后对各层进行形变后的数据节点组合拟合,得到表征最终针对该数据节点组合的最终形变结果的形变控制信息,即形变控制信息可以用于控制多个地形Tile的顶点进行最终形变。其中,拟合控制组件的本质就是一个数据拟合的过程。
需要说明的是,实际运行游戏时可以按照实际情况的需要,对预先设置的每层数据节点组合的形变参数进行修改,但修改后的形变参数必须从拟合控制组件中存储的形变参数集合中获取。
在本发明的一种实施例中,子步骤S22可以包括如下子步骤:
子步骤S221,当所述各个数据节点组合的数据节点所控制的所述三维地形模型网格顶点集合中的顶点相同时,获取针对所述各个数据节点组合的影响因子;
在本发明的一种实施例中,由于每层数据节点组合具有一定数量的数据节点,且一个数据节点可以控制一个地形Tlie中的N个三维地形模型的网格顶点,对于地形Tile中的某个三维地形模型的网格顶点而言,可以存在来自不同层的数据节点组合中的不同数据节点对该三维地形模型的网格顶点进行控制的情况,在这种情况下,可以获取每层数据节点组合的影响因子,以便明确地形Tile的任意一个三维地形模型的网格顶点所受到不同层数据节点的影响程度。
具体的,对于多层数据节点同时影响控制一个三维地形模型的网格顶点的情况,可以引入针对层的影响因子,该影响因子可以用于表示第j层的全局影响参数,对于所有影响地形Tile中三维地形模型的网格顶点的层级,其影响因子可以满足如下关系:
其中,W表示的是对某个地形Tile中的某一个三维地形模型的网格顶点产生影响的总层数,fj表示的是第j层的影响因子;即对于所有影响地形Tile中三维地形模型的网格顶点的层级,其影响因子可以是每一层(Layer)对于所控制的同一个三维地形模型的网格顶点的权重,该权重的总和等于1。通过每一层(Layer)的分层权重,对三维地形模型的网格顶点按照对应的形变参数的形变进行低精度形变与高精度形变之间精确的控制。需要说明的是,可以按照游戏运行时的实际情况设置并采取不同的控制策略。
子步骤S222,采用所述各个数据节点组合的影响因子与所述各个数据节点组合的形变参数的乘积,并进行拟合,得到针对所述数据节点组合的形变控制信息。
在本发明的一种实施例中,在对每一层数据节点组合对应的形变参数以及每一层(Layer)的影响因子进行获取之后,可以首先对各层数据节点组合的影响因子与各层数据节点组合对应的形变参数进行乘积,以得到每层数据节点对所控制的相同的三维地形模型网格顶点的影响程度,然后再通过拟合控制组件对进行形变的每一层数据节点组合的形变进行拟合,得到针对该数据节点组合最终形变结果的形变控制信息,以便通过数据节点组合的形变控制信息对相应的地形Tile进行最终形变;该形变控制信息可以包括每一层数据节点组合的形变参数,每一层数据节点组合的影响因子以及拟合每一层数据节点组合进行形变的最终效果。
子步骤S23,通过所述适配组件以及所述形变控制信息,并根据所述数据节点组合的数据节点的映射关系,控制所述网格顶点集合中的顶点以改变三维地形模型。
在本发明的一种实施例中,在获取针对数据节点组合的形变控制信息之后,由于数据节点组合的数据节点与三维地形模型的网格顶点集合中的顶点具有映射关系,可以通过适配组件对数据节点组合的数据节点进行形变,进而根据与数据节点进行映射的三维地形模型的网格顶点集合中的顶点进行形变,实现对三维地形模型进行形变。
具体的,在游戏运行时通过游戏程序生成的地形形变组件可以包括适配组件,在通过拟合控制组件对各层数据节点组合的数据节点进行拟合,并得到表征数据节点组合最终形变结果的形变控制信息之后,可以通过运行适配组件以智能分配按照形变控制信息对三维地形模型网格进行形变这个过程,由当前游戏运行硬件设备中的哪个处理单元进行硬件加速处理。
其中,运行当前游戏的硬件设备中的处理单元可以包括CPU(Central ProcessingUnit,中央处理器)以及GPU(Graphics Processing Unit,图形处理器),适配组件可以通过当前游戏的运行情况,以及全局的运行设置进行处理单元的智能分配,并同时将最终的处理结果,即针对三维地形模型的最终形变结果发送到显示端进行显示。若运行游戏的目标硬件设备具有加速处理的功能,适配组件一般采用GPU对三维地形模型按照最终的形变控制信息,进行最终形变处理。
在本发明的一种实施例中,子步骤S23可以包括如下子步骤:
子步骤S231,通过所述适配组件判断所述数据节点组合的数据节点是否需要发生形变;
在本发明的一种实施例中,通过适配组件将形变处理过程分配到CPU或者GPU进行处理,为了减少地形Tile形变计算的总量,可以通过适配组件对数据节点组合的数据节点进行判断,进而判断对应的三维地形模型网格顶点集合的顶点是否需要发生形变。
在实际应用中,三维地形模型可以由多个最小的三维地形模型网格顶点集合拼接形成,假设针对某个预设游戏场景中的三维地形模型属于大面积地形,则进行拼接的最小的三维地形模型网格顶点集合,即地形Tile的总量相对应是非常大的,然而在实际运行时产生实时形变的地形Tile只是整个三维地形模型中小部分的地形Tile,即大部分地形Tile在当前的实时形变过程中可以不需要发生任何变化,那么可以不对这部分不发生任何变化的地形Tile进行形变计算。
其中,判断是否发生形变可以通过适配组件进行针对地形Tile的裁剪实现,假设某个三维地形模型由50个地形Tile组成,在当次的实时形变过程中适配组件发现只有其中12个地形Tile需要发生形变,其他38个地形Tile不需要发生形变,那么此时适配组件可以将该50个地形Tile裁剪并划分为两组,一组为需要进行形变计算的12个地形Tile,另一组为不需要进行形变计算的38个地形Tile,然后被分配到进行当次实时形变处理的CPU或者GPU可以只对需要发生形变的12个地形Tile进行形变计算,以有效降低形变计算的数据量。
具体的,参照图7,示出了本发明实施例中针对适配组件进行工作时的示意图,判断地形Tile是否需要形变的方法可以通过形变区域与拼接成三维地形模型的所有地形Tile进行求交,如图7所示,在运行适配组件时,可以通过针对各个数据节点组合的最终形变控制信息确定形变区域,并将形变区域与所有地形Tile进行相交计算,则图中圆形区域为三维地形模型中需要发生形变的区域,即可以将图中相交判定通过的地形Tile(标叉符号的Tile)进行形变计算,相交未通过的地形Tile不会参与形变计算,达到降低计算数据量的目的。
子步骤S232,若所述数据节点组合的数据节点需要发生形变,则获取与所述需要发生形变的数据节点对应的所述三维地形模型网格顶点集合中的至少一个顶点;
在本发明的一种实施例中,运行适配器判断各个数据节点组合是否需要发生形变,即对组成三维地形模型的多个地形Tile进行是否需要发生形变的判断,多个地形Tile中的某些地形Tile需要发生形变,此时可以获取对应的顶点,以便按照对应的形变控制信息对需要发生形变的地形Tile进行形变。
子步骤S233,按照拟合得到的形变控制信息对所述三维地形模型网格顶点集合中的至少一个顶点进行拟合,以改变三维地形模型。
在本发明的一种实施例中,通过适配组件对需要发生形变的地形Tile进行判断之后,可以获取对应的原先通过拟合控制组件得到的形变控制信息,对需要发生形变的至少一个地形Tile的至少一个顶点按照形变控制信息中的形变参数以及影响因子进行拟合后,得到至少一个发生形变的地形Tile,以及将至少一个发生形变的地形Tile与其他不需要发生形变的地形Tile拼接形成的三维地形模型,此时得到的三维地形模型为发生形变后的三维地形模型。
需要说明的是,三维地形模型可以由多个最小的三维地形模型网格顶点集合拼接形成,其中,一个最小的三维地形模型网格顶点集合(即一个地形Tile)对应一个数据节点组合(即一个类似分层金字塔的数据结构),还分别对应一个拟合组件与一个适配组件。
步骤206,根据改变后的所述三维地形模型网格渲染出对应的三维地形模型。
在具体实现中,在根据数据节点组合的形变参数以及映射关系,调整三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格之后,可以根据改变后得到的三维地形模型网格渲染出对应的三维地形模型,完成在游戏运行过程中对三维地形模型网格的形变。
在本发明实施例中,获取三维地形模型的网格顶点集合以及与三维地形模型的网格顶点集合对应的数据节点组合,其中,数据节点组合的数据节点与三维地形模型的网格顶点集合中的至少一个顶点具有映射关系,以及数据节点组合的形变参数,通过根据形变参数控制数据节点组合的数据节点,进而控制与数据节点具有映射关系的三维地形模型的网格顶点集合中的至少一个顶点,实现三维地形模型的形变。基于数据节点组合与三维地形模型的网格顶点集合的映射关系以及形变参数,实现在游戏运行中地形的实时网格形变,从而提高地形在游戏运行时与游戏场景中的其他元素进行有效与实时互动。
参照图8,示出了本发明实施例的一种地形形变方法的应用场景图,由图8所示,可以包括用于组合成完整三维地形模型的地形Tile,地形形变组件以及通过地形形变组件进行形变后的三维地形模型,其地形形变的过程可以包括如下步骤:(1)在DCC软件或游戏引擎中制作地形Tile;(2)在游戏引擎中把多个地形Tile拼接成一个完整的地形;(3)制作类似分层金字塔的数据结构并与地形Tile相关联;(4)在游戏运行时,通过地形形变组件,驱动地形Tile产生实时三维地形模型网格的形变。
在本发明的一种实施例中,可以存在针对雪地地形的游戏场景,该雪地地形可以由多个针对雪地场景的地形Tile进行拼接形成,当游戏运行时,游戏中的玩家在雪地上进行行走,此时可以通过多个类似分层金字塔的数据结构分别与多个地形Tile进行对应,在通过地形形变组件中的拟合控制组件对玩家行走实时形成的脚印进行拟合得到形变控制信息之后,可以通过适配组件对形成脚印的某些地形Tile进行实时形变,此时雪地上可以出现明显的脚印;还可以存在玩家通过工具在雪地上绘制图案的应用场景,此时也可以实时出现绘制的团在雪地上,提升玩家对于地形的真实感。
在本发明的一种实施例中,还可以存在针对草地高原地形的应用场景,假设在游戏的某个时间点发生流星雨撞击地球的事件,此时外太空飞过的流星陨石将会砸在地面上;其中,该草地高原地形可以由多个针对草地高原的地形Tile进行拼接形成,通过多个类似分层金字塔的数据结构分别与多个地形Tile进行对应,在通过地形形变组件中的拟合控制组件对玩家行走实时形成的脚印进行拟合得到形变控制信息之后,可以通过适配组件对流星陨石砸向地面的某些地形Tile进行实时形变,此时在地面上可以形成大的碰撞坑,使得地形产生真实的形变坑,利用实时产生的陨石坑提升玩家对整个流星雨事件的真实感。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图9,示出了本发明的一种地形形变装置实施例的结构框图,具体可以包括如下模块:
顶点集合获取模块901,用于获取三维地形模型的网格顶点集合以及与所述三维地形模型的网格顶点集合对应的数据节点组合;所述数据节点组合的数据节点与所述三维地形模型的网络顶点集合中的至少一个顶点具有映射关系;
形变参数确定模块902,用于响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;
三维地形模型调整模块903,用于根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格;
三维地形模型渲染模块904,用于根据改变后的所述三维地形模型网格渲染出对应的三维地形模型。
在本发明的一种实施例中,所述数据节点组合包括多个数据节点组合;三维地形模型调整模块903可以包括如下子模块:
形变参数获取子模块,用于获取各个数据节点组合的形变参数;
形变控制信息生成子模块,用于根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息;所述形变控制信息为针对所述数据节点组合的最终形变结果的信息;
三维地形模型调整子模块,用于根据所述形变控制信息以及所述映射关系,调整所述网格顶点集合中的顶点以改变所述三维地形模型网格。
在本发明的一种实施例中,各个数据节点组合的数据节点所控制的网格顶点集合中的顶点的数量不同,三维地形模型调整子模块可以包括如下单元:
形变判断单元,用于判断所述数据节点组合的数据节点是否需要发生形变;
形变顶点获取单元,用于若所述数据节点组合的数据节点需要发生形变,则获取与所述需要发生形变的数据节点对应的所述三维地形模型网格顶点集合中的至少一个顶点;
三维地形模型调整单元,用于按照拟合得到的形变控制信息对所述网格顶点集合中的至少一个顶点进行拟合,以改变三维地形模型网格。
在本发明的一种实施例中,形变控制信息生成子模块可以包括如下单元:
影响因子获取单元,用于当所述各个数据节点组合的数据节点所控制的所述网格顶点集合中的顶点相同时,获取针对所述各个数据节点组合的影响因子;
形变控制信息生成单元,用于采用所述各个数据节点组合的影响因子与所述各个数据节点组合的形变参数的乘积,并进行拟合,得到针对所述数据节点组合的形变控制信息。
在本发明的一种实施例中,顶点集合获取模块901包括:
网格顶点获取子模块,用于获取多个三维地形模型的网格顶点;
顶点集合生成子模块,用于将所述多个三维地形模型的网格顶点划分为至少一个三维地形模型的网格顶点集合。
在本发明的一种实施例中,还包括:
三维地形模型组合模块,用于将多个所述三维地形模型的网格顶点集合组合为预设场景的三维地形模型。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述地形形变方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
参照图10,示出了本发明实施例的一种计算机可读存储介质的结构框图,该计算机可读存储介质1001上可以存储计算机程序,其中,计算机程序可以被处理器执行时实现上述针对地形形变方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种地形形变方法和一种地形形变装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种地形形变方法,其特征在于,所述方法包括:
获取三维地形模型的网格顶点集合以及与所述三维地形模型的网格顶点集合对应的数据节点组合,其中,所述数据节点组合的数据节点与所述三维地形模型的网络顶点集合中的至少一个顶点具有映射关系;
响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;
根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格;
根据改变后的所述三维地形模型网格渲染出对应的三维地形模型。
2.根据权利要求1所述的方法,其特征在于,所述数据节点组合包括多个数据节点组合;所述根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型网格,包括:
获取各个数据节点组合的形变参数;
根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息;所述形变控制信息为针对所述数据节点组合的最终形变结果的信息;
根据所述形变控制信息以及所述映射关系,调整所述网格顶点集合中的顶点以改变所述三维地形模型的网格。
3.根据权利要求2所述的方法,其特征在于,所述根据所述形变控制信息以及所述映射关系,调整所述网格顶点集合中的顶点以改变所述三维地形模型的网格,包括:
判断所述数据节点组合的数据节点是否需要发生形变;
若所述数据节点组合的数据节点需要发生形变,则获取与所述需要发生形变的数据节点对应的所述三维地形模型网格顶点集合中的至少一个顶点;
按照拟合得到的形变控制信息对所述网格顶点集合中的至少一个顶点进行拟合,以改变三维地形模型的网格。
4.根据权利要求3所述的方法,其特征在于,所述根据所述形变参数对所述各个数据节点组合的数据节点进行拟合,得到形变控制信息,包括:
当所述各个数据节点组合的数据节点所控制的所述网格顶点集合中的顶点相同时,获取针对所述各个数据节点组合的影响因子;
采用所述各个数据节点组合的影响因子与所述各个数据节点组合的形变参数的乘积,并进行拟合,得到针对所述数据节点组合的形变控制信息。
5.根据权利要求1所述的方法,其特征在于,所述获取三维地形模型的网格顶点集合,包括:
获取多个三维地形模型的网格顶点;
将所述多个三维地形模型的网格顶点划分为至少一个三维地形模型的网格顶点集合。
6.根据权利要求1所述的方法,其特征在于,各个数据节点组合的数据节点所控制的网格顶点集合中的顶点的数量不同。
7.根据权利要求1所述的方法,其特征在于,还包括:
将多个所述三维地形模型的网格顶点集合组合为预设场景的三维地形模型。
8.一种地形形变装置,其特征在于,所述装置包括:
顶点集合获取模块,用于获取三维地形模型的网格顶点集合以及与所述三维地形模型网格顶点集合对应的数据节点组合,其中,所述数据节点组合的数据节点与所述三维地形模型的网络顶点集合中的至少一个顶点具有映射关系;
形变参数确定模块,用于响应三维地形模型交互事件,根据所述三维地形模型交互事件确定所述数据节点组合的形变参数;
三维地形模型调整模块,用于根据所述数据节点组合的形变参数和所述映射关系,调整所述三维地形模型的网格顶点集合中的顶点以改变所述三维地形模型模型的网格;
三维地形模型渲染模块,用于根据改变后的所述三维地形模型模型网格渲染出对应的三维地形模型。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述地形形变方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述地形形变方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699978.7A CN111773699B (zh) | 2020-07-20 | 2020-07-20 | 一种地形形变方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699978.7A CN111773699B (zh) | 2020-07-20 | 2020-07-20 | 一种地形形变方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111773699A CN111773699A (zh) | 2020-10-16 |
CN111773699B true CN111773699B (zh) | 2023-11-17 |
Family
ID=72763311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010699978.7A Active CN111773699B (zh) | 2020-07-20 | 2020-07-20 | 一种地形形变方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111773699B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112365599A (zh) * | 2020-11-05 | 2021-02-12 | 国网甘肃省电力公司 | 一种变电运检仿真系统中交互场景内草坪制作方法及系统 |
CN113289334A (zh) * | 2021-05-14 | 2021-08-24 | 网易(杭州)网络有限公司 | 游戏场景的展示方法和装置 |
CN113808243B (zh) * | 2021-09-23 | 2023-09-15 | 光线云(杭州)科技有限公司 | 一种可形变雪地网格的绘制方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753033A (zh) * | 2005-11-10 | 2006-03-29 | 北京航空航天大学 | 逼真三维地形几何模型的实时绘制方法 |
CN1936962A (zh) * | 2006-10-10 | 2007-03-28 | 中山大学 | 一种基于pc平台的三维游戏中大型地形生成方法 |
KR20080018404A (ko) * | 2006-08-24 | 2008-02-28 | 한국문화콘텐츠진흥원 | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 |
CN101295409A (zh) * | 2008-06-05 | 2008-10-29 | 上海交通大学 | 虚拟手术系统中形变物体的实时模拟系统 |
CN101976468A (zh) * | 2010-10-22 | 2011-02-16 | 中国科学院软件研究所 | 一种多分辨率动态地形可视化方法及系统 |
CN105074782A (zh) * | 2013-03-12 | 2015-11-18 | 三菱电机株式会社 | 三维信息处理装置 |
CN109925716A (zh) * | 2019-04-12 | 2019-06-25 | 网易(杭州)网络有限公司 | 地形切割的顶点重建方法、装置、处理器及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2999005B1 (fr) * | 2012-11-30 | 2022-06-10 | Thales Sa | Procede de rendu d'un terrain stocke dans une base de donnees massive |
KR20140139194A (ko) * | 2013-05-27 | 2014-12-05 | 한국전자통신연구원 | 지형 모델의 생성 방법 및 장치 |
-
2020
- 2020-07-20 CN CN202010699978.7A patent/CN111773699B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753033A (zh) * | 2005-11-10 | 2006-03-29 | 北京航空航天大学 | 逼真三维地形几何模型的实时绘制方法 |
KR20080018404A (ko) * | 2006-08-24 | 2008-02-28 | 한국문화콘텐츠진흥원 | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 |
CN1936962A (zh) * | 2006-10-10 | 2007-03-28 | 中山大学 | 一种基于pc平台的三维游戏中大型地形生成方法 |
CN101295409A (zh) * | 2008-06-05 | 2008-10-29 | 上海交通大学 | 虚拟手术系统中形变物体的实时模拟系统 |
CN101976468A (zh) * | 2010-10-22 | 2011-02-16 | 中国科学院软件研究所 | 一种多分辨率动态地形可视化方法及系统 |
CN105074782A (zh) * | 2013-03-12 | 2015-11-18 | 三菱电机株式会社 | 三维信息处理装置 |
CN109925716A (zh) * | 2019-04-12 | 2019-06-25 | 网易(杭州)网络有限公司 | 地形切割的顶点重建方法、装置、处理器及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111773699A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111773699B (zh) | 一种地形形变方法和装置 | |
JP4733116B2 (ja) | ルールベースの手続的地形生成用資源管理 | |
JP4937907B2 (ja) | ルールベースの手続的地形生成 | |
CN111957045B (zh) | 地形形变方法、装置、设备及存储介质 | |
CN109003322B (zh) | 一种动力定位船舶海上作业的三维海浪仿真优化方法 | |
Shaker et al. | Fractals, noise and agents with applications to landscapes | |
KR102096196B1 (ko) | 모델 오브젝트 구성 방법, 서버, 및 시스템 | |
CN109976827A (zh) | 模型的加载方法、服务器及终端 | |
CN100444203C (zh) | 一种在3d游戏中绘制草坪的方法和系统 | |
Wang et al. | An improving algorithm for generating real sense terrain and parameter analysis based on fractal | |
CN116258802A (zh) | 动态天气粒子特效的处理方法、装置、设备及存储介质 | |
CN115518374A (zh) | 虚拟场景中的植被生成方法、装置和电子设备 | |
CN107680145A (zh) | 一种地垫图像快速生成方法和系统 | |
CN114255312A (zh) | 植被图像的处理方法、装置及电子设备 | |
US20200151946A1 (en) | Information processing apparatus, non-transitory computer-readable storage medium storing information processing program, information processing system, and information processing method | |
Petrovas et al. | Automated digital terrain elevation modification by procedural generation approach | |
CN104574490A (zh) | 一种大规模云场景绘制方法 | |
CN110827400A (zh) | 三维场景中对象的模型生成方法、装置以及终端 | |
Melnychuk | Landscape generation using procedural generation techniques | |
Wang et al. | Application of the virtual landscape architecture geometric modeling | |
CN113181655B (zh) | 地形构造方法、装置、电子设备和存储介质 | |
Brol et al. | Procedural Generation of Virtual Cities | |
WO2023005724A1 (zh) | 一种虚拟模型渲染方法及装置 | |
CN118001729A (zh) | 游戏中地形信息的处理方法、装置、存储介质和电子装置 | |
CN114419233A (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 |