CN116570915A - 生成地形网格的方法、装置、存储介质及电子装置 - Google Patents
生成地形网格的方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116570915A CN116570915A CN202310548821.8A CN202310548821A CN116570915A CN 116570915 A CN116570915 A CN 116570915A CN 202310548821 A CN202310548821 A CN 202310548821A CN 116570915 A CN116570915 A CN 116570915A
- Authority
- CN
- China
- Prior art keywords
- terrain
- map
- height
- virtual
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013507 mapping Methods 0.000 claims description 72
- 238000004364 calculation method Methods 0.000 claims description 42
- 230000009466 transformation Effects 0.000 claims description 38
- 238000005070 sampling Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 30
- 230000014509 gene expression Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 15
- 230000005484 gravity Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 27
- 238000013461 design Methods 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000004519 manufacturing process Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000012876 topography Methods 0.000 description 9
- 238000013506 data mapping Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000004575 stone Substances 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
-
- 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
- G06T17/05—Geographic models
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种生成地形网格的方法、装置、存储介质及电子装置。该方法包括:在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图;对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;利用第一高度图和高度数据贴图获取第二高度图;基于第二高度图生成目标地形网格。本申请解决了相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种生成地形网格的方法、装置、存储介质及电子装置。
背景技术
近年来,以六边形格子为基础的模拟类策略游戏(Simulation Game,SLG)大量涌现,这些SLG游戏的场景地形以六边形格子为单位进行制作。相关技术中的地形制作方法为:预先制作六边形格子以及六边形格子上对应的地形模型,通过拼接的方式将它们整合在一起;或者,利用以六边形格子为单位的地形笔刷进行地形编辑生成。但是,游戏场景地形中六边形格子上对应的地形模型具有任意的海拔高度时,采用相关技术的上述方法则难以完成六边形格子上对应的地形模型之间的高度过渡表现(如悬崖、坡道等)。对此,如何生成地形网格对应的模型高度效果成为相关技术领域的重要问题之一。针对上述的问题,目前尚未提出有效的解决方案。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请至少部分实施例提供了一种生成地形网格的方法、装置、存储介质及电子装置,以至少解决相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
根据本申请其中一实施例,提供了一种生成地形网格的方法,包括:在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;利用第一高度图和高度数据贴图获取第二高度图;基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。
根据本申请其中一实施例,还提供了一种生成地形网格的装置,包括:第一生成模块,用于在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;第二生成模块,用于对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;获取模块,用于利用第一高度图和高度数据贴图获取第二高度图;第三生成模块,用于基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。
根据本申请其中一实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的生成地形网格的方法。
根据本申请其中一实施例,还提供了一种电子装置,包括:包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的生成地形网格的方法。
在本申请至少部分实施例中,通过在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;进一步对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;利用第一高度图和高度数据贴图获取第二高度;基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。由此,本申请提供的上述方法达到了通过结合使用初始地形网格与烘焙网格之间匹配得到的高度数据贴图与地形模型对应的基础高度图生成待使用的地形网格的目的,从而实现了丰富地形模型在高度上的表现效果、提高地形网格对应的地形模型的设计灵活度的技术效果,进而解决了相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请其中一实施例的一种生成地形网格的方法的移动终端的硬件结构框图;
图2是根据本申请其中一实施例的一种生成地形网格的方法的流程图;
图3是根据本申请其中一实施例的一种可选的虚拟地形模型的示意图;
图4是根据本申请其中一实施例的一种可选的第一高度图;
图5是根据本申请其中一实施例的一种第二地形网格的示意图;
图6是根据本申请其中一实施例的一种可选的第一地形网格和第二地形网格的位置关系示意图;
图7是根据本申请其中一实施例的一种可选的第一地形网格对应的高度数据的示意图;
图8是根据本申请其中一实施例的另一种可选的第一地形网格和第二地形网格的位置关系示意图;
图9是根据本申请其中一实施例的一种可选的第二地形网格的三维坐标的示意图;
图10是根据本申请其中一实施例的一种可选的第二单元格的旋转变换的示意图;
图11是根据本申请其中一实施例的一种可选的高度匹配方式的示意图;
图12是根据本申请其中一实施例的一种可选的第二高度图;
图13是根据本申请其中一实施例的一种可选的目标地形网格的示意图;
图14是根据本申请其中一实施例的一种生成地形网格的装置的结构框图;
图15是根据本申请其中一实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请的说明书中,“例如”一词用来表示“用作例子、例证或说明”。本申请中被描述为“例如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
近年来,以六边形格子为基础的模拟类策略游戏(Simulation Game,SLG)大量涌现,这些SLG游戏的场景地形以六边形格子为单位进行制作。对此,现有技术中主要有以下两种技术方案。
第一种,通过具有地形编辑功能的软件生成地形,导出地形高度图和地形材质分布图,然后将地形高度图和地形材质分布图导入游戏引擎,在游戏引擎的地形系统中还原场景地形。这种方法的缺陷在于:上述软件编辑生成的地形的模型面数较高,在地形复杂时地形网格的数据量非常大,而且所生成的地形模型是固定的,无法支持游戏引擎对地形模型的随机调整或技术人员的二次编辑,灵活度差。
第二种,按照场景需求进行基于六边形网格的地形建模,然后通过人工或程序化的方式将不同的六边形格子和对应的地形模型进行拼接,生成场景地形。这种方法的缺陷在于,建模得到的地形是固定的,地形拼接结果的表现效果有限,难以实现游戏场景中任意海拔地形的高度过渡效果
对此,如何生成地形网格对应的模型高度效果成为相关技术领域的重要问题之一。针对上述的问题,目前尚未提出有效的解决方案。
在本申请的一种可能的实施方式中,针对计算机技术及电子游戏领域下涉及虚拟地形模型的高度表现效果的背景中通常所采用的上述两种现有技术方案,发明人经过实践并仔细研究后,仍然存在地形模型的高度表现效果较差、地形模型设计灵活度差的技术问题,基于此,本申请实施例应用的场景可以是计算机图像、虚拟现实/增强现实和电子游戏领域中涉及虚拟地形模型的高度表现效果的应用场景,特别是,以电子游戏领域为例,所针对的游戏类型可以是动作类、冒险类、模拟类、角色扮演类和休闲类等。
本申请实施例提出了一种生成地形网格的方法,基于六边形地形网格建立地形模型并生成地形模型对应的初始高度图,然后,将六边形地形网格与三角形烘焙网格进行匹配,生成地形模型对应的高度数据贴图,进一步地,利用初始高度图和高度数据贴图,生成地形模型对应的待使用的高度图,从而利用待使用的高度图生成待使用的地形网格。由此,本申请实施例的上述方法实现了丰富地形模型在高度上的表现效果、提高地形网格对应的地形模型的设计灵活度的技术效果,进而解决了相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
本申请涉及到的上述方法实施例,可以在终端设备(例如,移动终端、计算机终端或者类似的运算装置)中执行。以运行在移动终端上为例,该移动终端可以是智能手机、平板电脑、掌上电脑以及移动互联网设备、游戏机等终端设备。
图1是根据本申请其中一实施例的一种生成地形网格的方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102、存储器104、传输设备106、输入输出设备108以及显示设备110。以生成地形网格的方法通过该移动终端应用于电子游戏场景为例,处理器102调用并运行存储器104中存储的计算机程序以执行该生成地形网格的方法,所生成的游戏中待使用的地形网格通过传输设备106传输至输入输出设备108和/或显示设备110,进而将该地形网格提供给玩家。
仍然如图1所示,处理器102可以包括但不限于:中央处理器(Central ProcessingUnit,CPU)、图形处理器(Graphics Processing Unit,GPU)、数字信号处理(DigitalSignal Processing,DSP)芯片、微处理器(Microcontroller Unit,MCU)、可编程逻辑器件(Field Programmable Gate Array,FPGA)、神经网络处理器(Neural-Network ProcessingUnit,NPU)、张量处理器(Tensor Processing Unit,TPU)、人工智能(ArtificialIntelligence,AI)类型处理器等的处理装置。
本领域技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
在一些以游戏场景为主的可选实施例中,上述终端设备还可以提供具有触摸触敏表面的人机交互界面,该人机交互界面可以感应手指接触和/或手势来与图形用户界面(Graphical User Interface,GUI)进行人机交互,该人机交互功能可以包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本申请涉及到的上述方法实施例,还可以在服务器中执行。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。以生成地形网格的方法通过电子游戏服务器应用于电子游戏场景为例,电子游戏服务器可基于该生成地形网格的方法生成游戏中待使用的地形网格,并将该地形网格提供给玩家(例如,可以渲染显示在玩家终端的显示屏上,或者,通过全息投影提供给玩家等)。
根据本申请其中一实施例,提供了一种生成地形网格的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种运行于上述移动终端的一种生成地形网格的方法,图2是根据本申请其中一实施例的一种生成地形网格的方法的流程图,如图2所示,该方法包括如下步骤:
步骤S21,在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;
步骤S22,对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;
步骤S23,利用第一高度图和高度数据贴图获取第二高度图;
步骤S24,基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。
在一种可选的实施方式中,上述第一地形网格为基于六边形格子的地形网格(如SLG游戏的场景地形网格)。上述虚拟地形模型可以是电子游戏场景中的虚拟三维地形模型,例如,山峰、草地、石头、瀑布、悬崖、丘陵等。上述第一高度图为记载有虚拟地形模型的模型高度数据的贴图。在本实施方式中,将上述第一地形网格作为初始地形网格,将上述第一高度图作为基础高度图。在此基础上,利用预设的建模软件或图像处理软件,在上述第一地形网格上构建上述虚拟地形模型,并生成上述虚拟地形模型对应的第一高度图。
上述电子游戏场景对应的游戏类型可以是:动作类(例如:第一人称或第三人称射击游戏、二维或三维格斗游戏、战争动作游戏和体育动作游戏等)、冒险类(例如:探险游戏、收藏游戏、解谜游戏等)、模拟类(例如:模拟沙盘游戏、模拟养成游戏、策略模拟游戏、城市建造模拟游戏、商业模拟游戏等)、角色扮演类和休闲类(例如:棋牌桌游游戏、休闲竞技游戏、音乐节奏游戏、换装养成游戏等)等。
在一种可选的实施方式中,上述第二地形网格为上述虚拟地形模型对应的烘焙网格,该烘焙网格的网格单元可以是三角形格子,也就是说,上述第二地形网格为基于三角形格子的地形网格。基于网格单元,对上述第一地形网格中第二地形网格进行高度数据匹配,得到上述高度数据贴图。高度数据贴图为记载有虚拟地形模型的高度匹配数据的贴图。该高度数据贴图用于生成虚拟地形模型在游戏场景中待使用的高度图。
上述第二高度图为游戏场景中待使用的高度图。利用第一高度图和高度数据贴图获取第二高度图,也就是说,上述第二高度图为结合虚拟地形模型的基础高度图、第一地形网格和第二地形网格确定的待使用的高度图,具有虚拟地形模型对应的更加丰富的高度信息,基于第二高度图所生成目标地形网格具备更加自然的地形高度表现效果,将该目标地形网格使用在游戏场景中能够提高画面丰富度和场景真实感,提升玩家的游戏体验。
在本申请至少部分实施例中,通过在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;进一步对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;利用第一高度图和高度数据贴图获取第二高度;基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。由此,本申请提供的上述方法达到了通过结合使用初始地形网格与烘焙网格之间匹配得到的高度数据贴图与地形模型对应的基础高度图生成待使用的地形网格的目的,从而实现了丰富地形模型在高度上的表现效果、提高地形网格对应的地形模型的设计灵活度的技术效果,进而解决了相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
本申请实施例提供的上述方法可以但不限于应用于在SLG游戏中生成场景地形网格的应用场景,以下以该应用场景为例,对本申请实施例的上述方法进行进一步介绍。
可选地,第一地形网格包括:多个第一单元格,多个第一单元格的形状采用第一平面几何图形,在步骤S21中,在第一地形网格上构建虚拟地形模型,可以包括以下执行步骤:
步骤S211,在第一地形网格上确定构建区域;
步骤S212,获取构建区域内至少部分第一单元格对应的海拔高度;
步骤S213,利用海拔高度计算至少部分第一单元格中每相邻两个单元格之间的海拔差值,其中,海拔差值用于确定多种类型地貌表现;
步骤S214,基于海拔差值构建虚拟地形模型。
在SLG游戏中生成场景地形网格时,第一地形网格可以包括多个第一单元格,多个第一单元格中每个第一单元格均采用第一平面几何图形。图3是根据本申请其中一实施例的一种可选的虚拟地形模型的示意图,如图3所示,在第一地形网格上构建虚拟地形模型,该第一地形网格中多个第一单元格中每个第一单元格均采用正六边形。进一步地,根据SLG游戏的场景需求,在如图3所示的六边形地形网格(即第一地形网格)上确定虚拟地形模型的构建区域,并获取该构建区域内至少部分第一单元格中每个第一单元格对应的海拔高度,如图3所示的虚拟地形模型上的数字标注为对应的第一单元格(即六边形格子)对应的海拔高度。利用海拔高度计算至少部分第一单元格中每相邻两个单元格之间的海拔差值,其中,海拔差值用于确定多种类型地貌表现,例如,多种类型的地貌表现至少包括:平地、坡道和悬崖,该多种类型的地貌表现对应于海拔差值的多个数值范围。基于上述海拔差值构建虚拟地形模型,该虚拟地形模型中包含至少一种类型的地貌表现。
图4是根据本申请其中一实施例的一种可选的第一高度图。在如图3所示的第一地形网格上构建虚拟地形模型后,基于该虚拟地形模型导出如图4所示的高度图。
可选地,在步骤S214中,基于海拔差值构建虚拟地形模型,可以包括以下执行步骤:
步骤S2141,响应于海拔差值大于或等于第一数值,确定相邻两个单元格之间的地貌表现为第一类型地貌表现;
步骤S2142,响应于海拔差值等于第二数值,确定相邻两个单元格之间的地貌表现为第二类型地貌表现;
步骤S2143,响应于海拔差值等于第三数值,确定相邻两个单元格之间的地貌表现为第三类型地貌表现;
步骤S2144,基于第一类型地貌表现、第二类型地貌表现和第三类型地貌表现构建虚拟地形模型;
其中,第一数值大于第二数值,第二数值大于第三数值。
在一种可选的实施方式中,上述多种类型的地貌表现包括:第一类型地貌表现、第二类型地貌表现和第三类型地貌表现。
仍然如图3所示,基于海拔差值构建虚拟地形模型时,设置上述第一数值为2,上述第二数值为1,上述第三数值为0。上述第一类型地貌表现为悬崖,上述第二类型地貌表现为坡道,上述第三类型地貌表现为平地。对于相邻的任意两个第一单元格,如果对应的海拔差值等于或大于2,则确定该两个第一单元格之间的地貌表现为悬崖;如果对应的海拔差值为1,则确定该两个第一单元格之间的地貌表现为坡道;如果对应的海拔差值为0,则确定该两个第一单元格之间的地貌表现为平地。基于第一地形网格中多个第一单元格中相邻的任意两个第一单元格之间的地貌表现构建虚拟地形模型,该虚拟地形模型能够表现多个第一单元格上的地形模型之间的过度效果,物理真实感较强。
可选地,第二地形网格包括:多个第二单元格,多个第二单元格的形状采用第二平面几何图形,在步骤S22中,对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,可以包括以下执行步骤:
步骤S221,在第一地形网格中,基于多个第一单元格的中心位置确定多个第三单元格,其中,多个第三单元格的形状采用第二平面几何图形;
步骤S222,基于海拔高度对多个第二单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
在SLG游戏中生成场景地形网格时,第二地形网格可以包括多个第二单元格,多个第二单元格中每个第二单元格均采用第二平面几何图形。上述第二地形网格为烘焙网格。
图5是根据本申请其中一实施例的一种第二地形网格的示意图,如图5所示,第二地形网格中多个第二单元格中每个第二单元格均采用三角形。将第二单元格称为烘焙三角形格子。每个烘焙三角形格子对应一个三维坐标(X,Y,Z),且每个烘焙三角形格子的三维坐标满足以下约束:尖端朝上的烘焙三角形格子(即“△”)其三维坐标之和为2;尖端朝下的烘焙三角形格子(即“▽”)其三维坐标之和为1。
具体地,如图5所示的第二地形网格中烘焙三角形格子的三维坐标的数值规律为:沿着X方向为X坐标值增大的方向,沿着Y方向为Y坐标值增大的方向,沿着Z方向为Z坐标值增大的方向。
图6是根据本申请其中一实施例的一种可选的第一地形网格和第二地形网格的位置关系示意图,如图6所示,第一地形网格的网格单元为六边形格子,第二地形网格的网格单元为烘焙三角形格子,六边形格子的中心是烘焙三角形格子的端点。具体地,每个六边形格子的中心,为对应的六个烘焙三角形格子的共同顶点。
图7是根据本申请其中一实施例的一种可选的第一地形网格对应的高度数据的示意图,如图7所示,内部显示有数字的六边形格子其中的数字表示该六边形格子对应的海拔高度,数字越大表示对应的六边形格子上的虚拟地形模型的海拔越高,例如,两个数值为3的六边形格子对应于图4中显示为白色(无灰度)的区域。
图8是根据本申请其中一实施例的另一种可选的第一地形网格和第二地形网格的位置关系示意图,图7所示的第一地形网格(即多个六边形格子)对应的第二地形网格(即多个烘焙三角形格子)的位置分布如图8所示。图9是根据本申请其中一实施例的一种可选的第二地形网格的三维坐标的示意图,图8中显示的第二地形网格的多个烘焙三角形格子中,每个烘焙三角形格子对应的三维坐标值如图9所示,三维坐标的数值规律可以参照图5对应的解释,不予赘述。
在SLG游戏中生成场景地形网格时,在第一地形网格中,基于多个六边形格子的中心位置,确定多个第三单元格,该多个第三单元格中每个第三单元格均为三角形网格。由于上述多个第三单元格由游戏场景中的多个六边形格子的中心位置确定,因此,将上述第三单元格称为游戏三角形格子。进一步地,基于多个六边形格子中每个六边形格子对应的海拔高度,对多个烘焙三角形格子和多个游戏三角形格子进行高度匹配,生成上述高度数据贴图。
容易理解的是,根据本申请实施例提供的方法,通过将第二地形网格的高度信息映射至游戏场景的第一地形网格中,确定游戏场景中待使用的地形高度信息。
由于每个六边形格子由对应的六个三角形格子的一部分组成,每个三角形格子有对应的三个六边形格子的一部分组成,与相关技术中仅使用六边形格子的地形网格相比,结合使用六边形格子和三角形格子确定待使用的地形网格具有更加丰富的高度表现力。
可选地,在步骤S222中,基于海拔高度对多个第二单元格与多个第三单元格进行高度匹配,生成高度数据贴图,可以包括以下执行步骤:
步骤S2221,对多个第二单元格进行旋转变换,得到变换后单元格;
步骤S2222,基于海拔高度对变换后单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
在一种可选的实施方式中,在SLG游戏中生成场景地形网格时,对第二地形网格中多个烘焙三角形格子(即多个第二单元格)进行旋转变换,得到变换后的单元格。图10是根据本申请其中一实施例的一种可选的第二单元格的旋转变换的示意图,如图10所示,对多个烘焙三角形格子进行旋转变化包括以下12种情况(以下所称旋转为顺时针旋转):
变换1:旋转0度(即无变换);
变换2:旋转120度;
变换3:旋转240度;
变换4:旋转60度;
变换5:旋转180度;
变换6:旋转300度;
变换7:旋转0度,X方向镜像翻转;
变换8:旋转120度,X方向镜像翻转;
变换9:旋转240度,X方向镜像翻转;
变换10:旋转60度,X方向镜像翻转;
变换11:旋转180度,X方向镜像翻转;
变换12:旋转300度,X方向镜像翻转。
对第二地形网格中多个烘焙三角形格子(即多个第二单元格)中的每个烘焙三角形格子进行以上至少一种旋转变换,得到旋转变换后的多个烘焙三角形格子。基于多个六边形格子中每个六边形格子对应的海拔高度,对旋转变换后的多个烘焙三角形格子和多个游戏三角形格子进行高度匹配,生成上述高度数据贴图。
容易理解的是,由于游戏场景中第一地形网格中多个六边形格子对应的虚拟地形模型的海拔高度是任意的,将游戏场景中的地形网格对应类型的地貌表现映射至烘焙网格中,也就是说,将游戏场景中地貌表现为平地的游戏三角形格子映射至烘焙网格中地貌表现为平地的烘焙三角形格子;将游戏场景中地貌表现为坡道的游戏三角形格子映射至烘焙网格中地貌表现为坡道的烘焙三角形格子;将游戏场景中地貌表现为悬崖的游戏三角形格子映射至烘焙网格中地貌表现为悬崖的烘焙三角形格子。
图11是根据本申请其中一实施例的一种可选的高度匹配方式的示意图,如图11所示,实线的三角形格子表示游戏三角形格子,虚线的三角形格子表示变换后的烘焙三角形格子。每个三角形格子的每个角对应的数字表示该角对应的六边形格子的海拔高度。每个三角形中,两个角之间的海拔高度差值大于或等于2则该两个角之间的边对应的地貌类型为悬崖;两个角之间的海拔高度差值等于1则该两个角之间的边对应的地貌类型为坡道;两个角之间的海拔高度差值等于0则该两个角之间的边对应的地貌类型为平地。基于海拔高度对多个变换后的烘焙三角形格子与多个游戏三角形格子进行高度匹配包括但不限于如图11所示的四种匹配方式。容易理解,将多个游戏三角形格子中每个边对应的地貌类型,映射至变换后的烘焙三角形格子中对应边的地貌类型。
在SLG游戏中生成场景地形网格时,读取虚拟地形模型对应的高度图,基于该高度图为游戏场景中第一地形网格的多个六边形格子赋予海拔高度;然后,基于多个六边形格子的中心位置,生成多个游戏三角形格子,该多个游戏三角形格子也携带有对应的海拔高度信息;进一步地,遍历多个游戏三角形格子,根据海拔高度,将每个游戏三角形格子与多个烘焙三角形格子进行匹配,匹配后,多个游戏三角形格子中每个游戏三角形格子均匹配有对应的烘焙三角形格子。将匹配后的多个游戏三角形格子的高度数据导出,生成游戏场景中待使用的高度数据贴图。
可选地,在上述生成地形网格的方法中,高度数据贴图包括:第一数据贴图,其中,第一数据贴图包括:第一贴图通道、第二贴图通道、第三贴图通道和第四贴图通道,第一贴图通道与第二贴图通道的第一部分存储空间用于存储多个第三单元格的顶点海拔高度,第二贴图通道的第二部分存储空间用于存储多个单元格的单元格状态,单元格状态用于确定同一个单元格的顶点海拔高度是否相同,第三贴图通道与第四贴图通道的第一部分存储空间用于存储多个第二单元格的顶点海拔高度,第四贴图通道的第二部分存储空间用于存储多个第二单元格的旋转变换索引,旋转变换索引用于确定多个第二单元格对应的旋转变换矩阵。
在SLG游戏中生成场景地形网格时,所生成的高度数据贴图包括第一数据贴图。第一数据贴图的每个像素对应一个游戏三角形格子的高度数据和高度匹配信息。第一数据贴图的第一贴图通道(本例中为R通道)与第二贴图通道的第一部分存储空间(本例中为G通道的前4位存储空间)用于存储多个游戏三角形格子(即多个第三单元格)的顶点海拔高度;第一数据贴图的第二贴图通道的第二部分存储空间(本例中为G通道除前4位的其余存储空间)用于存储多个游戏三角形格子的单元格状态,单元格状态用于确定同一个单元格的顶点海拔高度是否相同(本例中单元格状态为“是否为平地”);第一数据贴图的第三贴图通道(本例中为B通道)与第四贴图通道的第一部分存储空间(本例中为A通道的前4位存储空间)用于存储多个变换后的烘焙三角形格子(即多个第二单元格)的顶点海拔高度;第一数据贴图的第四贴图通道的第二部分存储空间(本例中为A通道除前4位的其余存储空间)用于存储多个变换后的烘焙三角形格子的旋转变换索引,旋转变换索引用于确定多个变换后的烘焙三角形格子对应的旋转变换矩阵(也即图10中的对应的变换类型)。
可选地,在上述生成地形网格的方法中,高度数据贴图还包括:第二数据贴图,其中,第二数据贴图包括:第五贴图通道和第六贴图通道,第五贴图通道用于存储多个第二单元格的平面坐标,第六贴图通道的部分存储空间用于存储第二地形网格的网格状态,网格状态用于确定第二地形网格的顶端朝向。
在SLG游戏中生成场景地形网格时,所生成的高度数据贴图包括第二数据贴图。第二数据贴图的每个像素对应一个游戏三角形格子的高度数据和高度匹配信息。第二数据贴图的第五贴图通道(本例中为R通道)用于存储多个变换后的烘焙三角形格子(即多个第二单元格)的平面坐标(即X、Y坐标),第二数据贴图的第六贴图通道的部分存储空间(本例中为G通道的第1位存储空间)用于存储烘焙网格(即第二地形网格)的网格状态,网格状态用于确定烘焙网格中多个变换后的烘焙三角形格子的顶端朝向(本例中网格状态为“三角形尖端是否朝上”)。
可选地,在步骤S23中,利用第一高度图和高度数据贴图获取第二高度图,可以包括以下执行步骤:
步骤S231,对虚拟地形模型进行划分,得到多个虚拟地块;
步骤S232,利用第一高度图和高度数据贴图获取多个虚拟地块中每个虚拟地块对应的第二高度图。
在SLG游戏中生成场景地形网格时,对虚拟地形模型进行划分,得到多个虚拟地块(chunk)。根据虚拟地形模型对应的基础高度图和上述高度数据贴图(可以包括上述第一数据贴图和上述第二数据贴图),分别对多个虚拟地块中的每个虚拟地块生成对应的第二高度图。
例如,对于尺寸在300×300的虚拟地形模型,预设的每个虚拟地块的尺寸为20×20,则需要将虚拟地形模型划分为15×15个虚拟地块。进一步地,为了保证高度数据贴图的边缘采样正确,用于生成第二高度图的虚拟地块会略大,例如,预设的每个虚拟地块的尺寸为20×20,但用于生成第二高度图的虚拟地块的尺寸为22×22。
可选地,在步骤S232中,利用第一高度图和高度数据贴图获取多个虚拟地块中每个虚拟地块对应的第二高度图,可以包括以下执行步骤:
步骤S2321,从第二数据贴图中确定每个虚拟地块对应的数据贴图索引;
步骤S2322,利用数据贴图索引从第一数据贴图中获取每个虚拟地块对应的第一参数、第二参数、第三参数和第四参数,其中,第一参数用于确定每个虚拟地块对应的第三单元格的顶点海拔高度最小值,第二参数用于确定每个虚拟地块对应的第二单元格的顶点海拔高度最小值,第三参数用于确定每个虚拟地块对应的第三单元格的重心插值结果,第四参数用于确定每个虚拟地块对应的第二单元格的重心插值结果;
步骤S2323,对第一高度图进行高度采样,得到采样结果;
步骤S2324,基于第一参数、第二参数、第三参数、第四参数、采样结果、第一单位高度和第二单位高度,生成每个虚拟地块对应的第二高度图,其中,第一单位高度为第一高度图的预设单位高度,第二单位高度为第二高度图的预设单位高度。
在SLG游戏中生成场景地形网格时,高度数据贴图中的第二数据贴图中,确定三角形格子的二维坐标(即X、Y)作为每个虚拟地块对应的数据贴图索引。利用数据贴图索引从第一数据贴图中获取每个虚拟地块对应的第一参数、第二参数、第三参数和第四参数。第一参数用于确定每个虚拟地块对应的第三单元格的顶点海拔高度最小值,记为minElevation;第二参数用于确定每个虚拟地块对应的第二单元格的顶点海拔高度最小值,记为minBakingElevation;第三参数用于确定每个虚拟地块对应的第三单元格的重心插值结果,记为elevationHeight;第四参数用于确定每个虚拟地块对应的第二单元格的重心插值结果,记为elevationBakingHeight。进一步地,基于虚拟地形模型对应的基础高度图进行高度采样,得到采样结果,记为sampleHeight。确定基础高度图对反应的预设单位高度,记为heightUnit(本例中为1);确定游戏中多个虚拟地块对应的待使用的高度图对应的预设单位高度,记为SampleHeightUnit(本例中为0.25)。基于第一参数minElevation、第二参数minBakingElevation、第三参数elevationHeight、第四参数elevationBakingHeight、采样结果sampleHeight、第一单位高度heightUnit和第二单位高度SampleHeightUnit,生成每个虚拟地块对应的第二高度图。
需要说明的是,上述重心插值结果是指在应用场景中使用着色器(如顶点着色器和像素着色器)生成高度图时,着色流程中的光栅化步骤中完成的重心插值。具体地,基于一个三角形格子三个顶点的海拔高度、三个顶点的位置坐标以及该三角形的重心的位置坐标,通过插值计算得到该三角形格子的重心的海拔高度。
可选地,在步骤S2324中,基于第一参数、第二参数、第三参数、第四参数、采样结果、第一单位高度和第二单位高度,生成每个虚拟地块对应的第二高度图,可以包括以下执行步骤:
步骤S23241,采用第一参数和第三参数进行计算,得到第一计算结果;
步骤S23242,采用第二参数和第四参数进行计算,得到第二计算结果;
步骤S23243,采用采样结果、第一单位高度和第二参数进行计算,得到第三计算结果;
步骤S23244,采用第一计算结果、第二计算结果、第三计算结果和第二单位高度进行计算,得到目标计算结果;
步骤S23245,基于目标计算结果生成每个虚拟地块对应的第二高度图。
在一种可选的实施方式中,在SLG游戏中生成场景地形网格时,针对每个虚拟地块,生成高度图的计算方式具体如下:
floatoutputHeight=(minElevation+(elevationHeight-minElevation)*(1/(elevationBakingHeight-minBakingElevation))*(sampleHeight/sampleHeightUnit–minBakingElevation))*heightUnit。
上述floatoutputHeight表示虚拟地块对应的第二高度图。容易理解,基于第一参数minElevation和第三参数elevationHeight,计算得到第一计算结果,(minElevation+(elevationHeight-minElevation)。
图12是根据本申请其中一实施例的一种可选的第二高度图。如图12所示,基于上述方法步骤为每个虚拟地块计算得到的第二高度图其携带有更加丰富的高度信息,将该第二高度图用于游戏场景,能够得到高度表现更好的虚拟地形网格。
可选地,在步骤S24中,基于第二高度图生成目标地形网格,可以包括以下执行步骤:
步骤S241,以每个第三单元格为单位,对多个虚拟地块中的每个虚拟地块进行初次划分,构建每个虚拟地块对应的第三地形网格;
步骤S242,在第三地形网格中,对第二类型地貌表现和第三类型地貌表现对应的单元格进行再次划分,得到第四地形网格;
步骤S243,基于第四地形网格对第二高度图进行采样,生成目标地形网格。
容易理解的是,在本申请实施例中,使用基于三角形格子的烘焙网格能够对游戏中基于六边形格子的地形网格进行细分。在生成目标地形网格的过程中,为了进行减面,以三角形格子为单元格,基于三角形格子的顶点对每个虚拟地形进行逐顶点地构建地形网格。具体地,以多个游戏三角形格子(即多个第三单元格)中每个游戏三角形格子为单位,对多个虚拟地块中给每个虚拟地块进行初次划分,构建每个虚拟地块对应的第三地形网格。
上述每个游戏三角形格子均携带有六边形格子对应的虚拟地形模型之间的高度过度信息。在上述第三地形网格中,如果虚拟地形模型之间为坡道过度或悬崖过度,则在生成目标地形网格的过程中需要对上述第三地形网格中对应的单元格进行再次划分,得到第四地形网格。如果六边形格子的虚拟地形模型之间为平地过渡,则无需再次划分。此处还可以引入一个约束:在第三地形网格中,如果三角形格子的相邻格子进行了再次划分,则该三角形格子需要与相邻格子保持一致的划分程度。
图13是根据本申请其中一实施例的一种可选的目标地形网格的示意图,如图13所示,基于再次划分后的第四地形网格对上述多个虚拟地块对应的第二高度图进行采样,得到如图13所示的目标地形网格。本例中,为了保证三角形格子边缘的连续性,此处对第二高度图进行采样的采样方法为双线性采样。
容易理解的是,由于上述待使用的地形网格(目标地形网格)基于虚拟地形模型对应的基础高度图以及与烘焙网格高度匹配得到的第二高度图生成,该待使用的地形网格中携带有更加丰富的地形模型高度信息,该待使用的地形网格能够表现任意海拔的地形模型以及对应的高度过渡效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种生成地形网格的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图14是根据本申请其中一实施例的一种生成地形网格的装置的结构框图,如图14所示,该装置包括:第一生成模块1401,用于在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;第二生成模块1402,用于对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;获取模块1403,用于利用第一高度图和高度数据贴图获取第二高度图;第三生成模块1404,用于基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。
可选地,第一地形网格包括:多个第一单元格,多个第一单元格的形状采用第一平面几何图形,上述第一生成模块1401,还用于:在第一地形网格上确定构建区域;获取构建区域内至少部分第一单元格对应的海拔高度;利用海拔高度计算至少部分第一单元格中每相邻两个单元格之间的海拔差值,其中,海拔差值用于确定多种类型地貌表现;基于海拔差值构建虚拟地形模型。
可选地,上述第一生成模块1401,还用于:响应于海拔差值大于或等于第一数值,确定相邻两个单元格之间的地貌表现为第一类型地貌表现;响应于海拔差值等于第二数值,确定相邻两个单元格之间的地貌表现为第二类型地貌表现;响应于海拔差值等于第三数值,确定相邻两个单元格之间的地貌表现为第三类型地貌表现;基于第一类型地貌表现、第二类型地貌表现和第三类型地貌表现构建虚拟地形模型;其中,第一数值大于第二数值,第二数值大于第三数值。
可选地,第二地形网格包括:多个第二单元格,多个第二单元格的形状采用第二平面几何图形,上述第二生成模块1402,还用于:在第一地形网格中,基于多个第一单元格的中心位置确定多个第三单元格,其中,多个第三单元格的形状采用第二平面几何图形;基于海拔高度对多个第二单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
可选地,上述第二生成模块1402,还用于:对多个第二单元格进行旋转变换,得到变换后单元格;基于海拔高度对变换后单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
可选地,在上述生成地形网格的装置中,高度数据贴图包括:第一数据贴图,其中,第一数据贴图包括:第一贴图通道、第二贴图通道、第三贴图通道和第四贴图通道,第一贴图通道与第二贴图通道的第一部分存储空间用于存储多个第三单元格的顶点海拔高度,第二贴图通道的第二部分存储空间用于存储多个单元格的单元格状态,单元格状态用于确定同一个单元格的顶点海拔高度是否相同,第三贴图通道与第四贴图通道的第一部分存储空间用于存储多个第二单元格的顶点海拔高度,第四贴图通道的第二部分存储空间用于存储多个第二单元格的旋转变换索引,旋转变换索引用于确定多个第二单元格对应的旋转变换矩阵。
可选地,在上述生成地形网格的装置中,高度数据贴图还包括:第二数据贴图,其中,第二数据贴图包括:第五贴图通道和第六贴图通道,第五贴图通道用于存储多个第二单元格的平面坐标,第六贴图通道的部分存储空间用于存储第二地形网格的网格状态,网格状态用于确定第二地形网格的顶端朝向。
可选地,上述获取模块1403,还用于:对虚拟地形模型进行划分,得到多个虚拟地块;利用第一高度图和高度数据贴图获取多个虚拟地块中每个虚拟地块对应的第二高度图。
可选地,上述获取模块1403,还用于:从第二数据贴图中确定每个虚拟地块对应的数据贴图索引;利用数据贴图索引从第一数据贴图中获取每个虚拟地块对应的第一参数、第二参数、第三参数和第四参数,其中,第一参数用于确定每个虚拟地块对应的第三单元格的顶点海拔高度最小值,第二参数用于确定每个虚拟地块对应的第二单元格的顶点海拔高度最小值,第三参数用于确定每个虚拟地块对应的第三单元格的重心插值结果,第四参数用于确定每个虚拟地块对应的第二单元格的重心插值结果;对第一高度图进行高度采样,得到采样结果;基于第一参数、第二参数、第三参数、第四参数、采样结果、第一单位高度和第二单位高度,生成每个虚拟地块对应的第二高度图,其中,第一单位高度为第一高度图的预设单位高度,第二单位高度为第二高度图的预设单位高度。
可选地,上述获取模块1403,还用于:采用第一参数和第三参数进行计算,得到第一计算结果;采用第二参数和第四参数进行计算,得到第二计算结果;采用采样结果、第一单位高度和第二参数进行计算,得到第三计算结果;采用第一计算结果、第二计算结果、第三计算结果和第二单位高度进行计算,得到目标计算结果;基于目标计算结果生成每个虚拟地块对应的第二高度图。
可选地,上述第三生成模块1404,还用于:以每个第三单元格为单位,对多个虚拟地块中的每个虚拟地块进行初次划分,构建每个虚拟地块对应的第三地形网格;在第三地形网格中,对第二类型地貌表现和第三类型地貌表现对应的单元格进行再次划分,得到第四地形网格;基于第四地形网格对第二高度图进行采样,生成目标地形网格。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;
S2,对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;
S3,利用第一高度图和高度数据贴图获取第二高度图;
S4,基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:在第一地形网格上确定构建区域;获取构建区域内至少部分第一单元格对应的海拔高度;利用海拔高度计算至少部分第一单元格中每相邻两个单元格之间的海拔差值,其中,海拔差值用于确定多种类型地貌表现;基于海拔差值构建虚拟地形模型。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:响应于海拔差值大于或等于第一数值,确定相邻两个单元格之间的地貌表现为第一类型地貌表现;响应于海拔差值等于第二数值,确定相邻两个单元格之间的地貌表现为第二类型地貌表现;响应于海拔差值等于第三数值,确定相邻两个单元格之间的地貌表现为第三类型地貌表现;基于第一类型地貌表现、第二类型地貌表现和第三类型地貌表现构建虚拟地形模型;其中,第一数值大于第二数值,第二数值大于第三数值。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:在第一地形网格中,基于多个第一单元格的中心位置确定多个第三单元格,其中,多个第三单元格的形状采用第二平面几何图形;基于海拔高度对多个第二单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对多个第二单元格进行旋转变换,得到变换后单元格;基于海拔高度对变换后单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:高度数据贴图包括:第一数据贴图,其中,第一数据贴图包括:第一贴图通道、第二贴图通道、第三贴图通道和第四贴图通道,第一贴图通道与第二贴图通道的第一部分存储空间用于存储多个第三单元格的顶点海拔高度,第二贴图通道的第二部分存储空间用于存储多个单元格的单元格状态,单元格状态用于确定同一个单元格的顶点海拔高度是否相同,第三贴图通道与第四贴图通道的第一部分存储空间用于存储多个第二单元格的顶点海拔高度,第四贴图通道的第二部分存储空间用于存储多个第二单元格的旋转变换索引,旋转变换索引用于确定多个第二单元格对应的旋转变换矩阵。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:高度数据贴图还包括:第二数据贴图,其中,第二数据贴图包括:第五贴图通道和第六贴图通道,第五贴图通道用于存储多个第二单元格的平面坐标,第六贴图通道的部分存储空间用于存储第二地形网格的网格状态,网格状态用于确定第二地形网格的顶端朝向。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对虚拟地形模型进行划分,得到多个虚拟地块;利用第一高度图和高度数据贴图获取多个虚拟地块中每个虚拟地块对应的第二高度图。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:从第二数据贴图中确定每个虚拟地块对应的数据贴图索引;利用数据贴图索引从第一数据贴图中获取每个虚拟地块对应的第一参数、第二参数、第三参数和第四参数,其中,第一参数用于确定每个虚拟地块对应的第三单元格的顶点海拔高度最小值,第二参数用于确定每个虚拟地块对应的第二单元格的顶点海拔高度最小值,第三参数用于确定每个虚拟地块对应的第三单元格的重心插值结果,第四参数用于确定每个虚拟地块对应的第二单元格的重心插值结果;对第一高度图进行高度采样,得到采样结果;基于第一参数、第二参数、第三参数、第四参数、采样结果、第一单位高度和第二单位高度,生成每个虚拟地块对应的第二高度图,其中,第一单位高度为第一高度图的预设单位高度,第二单位高度为第二高度图的预设单位高度。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:采用第一参数和第三参数进行计算,得到第一计算结果;采用第二参数和第四参数进行计算,得到第二计算结果;采用采样结果、第一单位高度和第二参数进行计算,得到第三计算结果;采用第一计算结果、第二计算结果、第三计算结果和第二单位高度进行计算,得到目标计算结果;基于目标计算结果生成每个虚拟地块对应的第二高度图。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:以每个第三单元格为单位,对多个虚拟地块中的每个虚拟地块进行初次划分,构建每个虚拟地块对应的第三地形网格;在第三地形网格中,对第二类型地貌表现和第三类型地貌表现对应的单元格进行再次划分,得到第四地形网格;基于第四地形网格对第二高度图进行采样,生成目标地形网格。
在上述实施例的计算机可读存储介质中,提供了一种实现生成地形网格的方法的技术方案。通过在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;进一步对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;利用第一高度图和高度数据贴图获取第二高度;基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。由此,本申请提供的上述方法达到了通过结合使用初始地形网格与烘焙网格之间匹配得到的高度数据贴图与地形模型对应的基础高度图生成待使用的地形网格的目的,从而实现了丰富地形模型在高度上的表现效果、提高地形网格对应的地形模型的设计灵活度的技术效果,进而解决了相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,计算机可读存储介质上存储有能够实现本实施例上述方法的程序产品。在一些可能的实施方式中,本申请实施例的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本实施例上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
根据本申请的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请实施例的程序产品不限于此,在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述程序产品可以采用一个或多个计算机可读介质的任意组合。该计算机可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列举)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;
S2,对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;
S3,利用第一高度图和高度数据贴图获取第二高度图;
S4,基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:在第一地形网格上确定构建区域;获取构建区域内至少部分第一单元格对应的海拔高度;利用海拔高度计算至少部分第一单元格中每相邻两个单元格之间的海拔差值,其中,海拔差值用于确定多种类型地貌表现;基于海拔差值构建虚拟地形模型。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:响应于海拔差值大于或等于第一数值,确定相邻两个单元格之间的地貌表现为第一类型地貌表现;响应于海拔差值等于第二数值,确定相邻两个单元格之间的地貌表现为第二类型地貌表现;响应于海拔差值等于第三数值,确定相邻两个单元格之间的地貌表现为第三类型地貌表现;基于第一类型地貌表现、第二类型地貌表现和第三类型地貌表现构建虚拟地形模型;其中,第一数值大于第二数值,第二数值大于第三数值。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:在第一地形网格中,基于多个第一单元格的中心位置确定多个第三单元格,其中,多个第三单元格的形状采用第二平面几何图形;基于海拔高度对多个第二单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对多个第二单元格进行旋转变换,得到变换后单元格;基于海拔高度对变换后单元格与多个第三单元格进行高度匹配,生成高度数据贴图。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:高度数据贴图包括:第一数据贴图,其中,第一数据贴图包括:第一贴图通道、第二贴图通道、第三贴图通道和第四贴图通道,第一贴图通道与第二贴图通道的第一部分存储空间用于存储多个第三单元格的顶点海拔高度,第二贴图通道的第二部分存储空间用于存储多个单元格的单元格状态,单元格状态用于确定同一个单元格的顶点海拔高度是否相同,第三贴图通道与第四贴图通道的第一部分存储空间用于存储多个第二单元格的顶点海拔高度,第四贴图通道的第二部分存储空间用于存储多个第二单元格的旋转变换索引,旋转变换索引用于确定多个第二单元格对应的旋转变换矩阵。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:高度数据贴图还包括:第二数据贴图,其中,第二数据贴图包括:第五贴图通道和第六贴图通道,第五贴图通道用于存储多个第二单元格的平面坐标,第六贴图通道的部分存储空间用于存储第二地形网格的网格状态,网格状态用于确定第二地形网格的顶端朝向。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对虚拟地形模型进行划分,得到多个虚拟地块;利用第一高度图和高度数据贴图获取多个虚拟地块中每个虚拟地块对应的第二高度图。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:从第二数据贴图中确定每个虚拟地块对应的数据贴图索引;利用数据贴图索引从第一数据贴图中获取每个虚拟地块对应的第一参数、第二参数、第三参数和第四参数,其中,第一参数用于确定每个虚拟地块对应的第三单元格的顶点海拔高度最小值,第二参数用于确定每个虚拟地块对应的第二单元格的顶点海拔高度最小值,第三参数用于确定每个虚拟地块对应的第三单元格的重心插值结果,第四参数用于确定每个虚拟地块对应的第二单元格的重心插值结果;对第一高度图进行高度采样,得到采样结果;基于第一参数、第二参数、第三参数、第四参数、采样结果、第一单位高度和第二单位高度,生成每个虚拟地块对应的第二高度图,其中,第一单位高度为第一高度图的预设单位高度,第二单位高度为第二高度图的预设单位高度。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:采用第一参数和第三参数进行计算,得到第一计算结果;采用第二参数和第四参数进行计算,得到第二计算结果;采用采样结果、第一单位高度和第二参数进行计算,得到第三计算结果;采用第一计算结果、第二计算结果、第三计算结果和第二单位高度进行计算,得到目标计算结果;基于目标计算结果生成每个虚拟地块对应的第二高度图。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:以每个第三单元格为单位,对多个虚拟地块中的每个虚拟地块进行初次划分,构建每个虚拟地块对应的第三地形网格;在第三地形网格中,对第二类型地貌表现和第三类型地貌表现对应的单元格进行再次划分,得到第四地形网格;基于第四地形网格对第二高度图进行采样,生成目标地形网格。
在上述实施例的电子装置中,提供了一种实现生成地形网格的方法的技术方案。通过在第一地形网格上构建虚拟地形模型,并生成虚拟地形模型对应的第一高度图,其中,第一地形网格为构建虚拟地形模型的初始地形网格,第一高度图为基础高度图;进一步对第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,第二地形网格为虚拟地形模型对应的烘焙网格,高度数据贴图用于生成第二高度图,第二高度图为虚拟地形模型在游戏中待使用的高度图;利用第一高度图和高度数据贴图获取第二高度;基于第二高度图生成目标地形网格,其中,目标地形网格为游戏中待使用的地形网格。由此,本申请提供的上述方法达到了通过结合使用初始地形网格与烘焙网格之间匹配得到的高度数据贴图与地形模型对应的基础高度图生成待使用的地形网格的目的,从而实现了丰富地形模型在高度上的表现效果、提高地形网格对应的地形模型的设计灵活度的技术效果,进而解决了相关技术中缺乏合适的地形网格制作方法导致地形模型的高度表现效果较差、地形设计灵活度差的技术问题。
图15是根据本申请其中一实施例的一种电子装置的示意图。如图15所示,电子装置1500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图15所示,电子装置1500以通用计算设备的形式表现。电子装置1500的组件可以包括但不限于:上述至少一个处理器1510、上述至少一个存储器1520、连接不同系统组件(包括存储器1520和处理器1510)的总线1530和显示器1540。
其中,上述存储器1520存储有程序代码,所述程序代码可以被处理器1510执行,使得处理器1510执行本申请实施例的上述方法部分中描述的根据本申请各种示例性实施方式的步骤。
存储器1520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)15201和/或高速缓存存储单元15202,还可以进一步包括只读存储单元(ROM)15203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器1520还可以包括具有一组(至少一个)程序模块15205的程序/实用工具15204,这样的程序模块15205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器1520可进一步包括相对于处理器1510远程设置的存储器,这些远程存储器可以通过网络连接至电子装置1500。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线1530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器1510或者使用多种总线结构中的任意总线结构的局域总线。
显示器1540可以例如触摸屏式的液晶显示器(Liquid Crystal Display,LCD),该液晶显示器可使得用户能够与电子装置1500的用户界面进行交互。
可选地,电子装置1500也可以与一个或多个外部设备1600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置1500交互的设备通信,和/或与使得该电子装置1500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1550进行。并且,电子装置1500还可以通过网络适配器1560与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1560通过总线1530与电子装置1500的其它模块通信。应当明白,尽管图15中未示出,可以结合电子装置1500使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays ofIndependent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
上述电子装置1500还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置1500还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。存储器1520可用于存储计算机程序及对应的数据,如本申请实施例中的生成地形网格的方法对应的计算机程序及对应的数据。处理器1510通过运行存储在存储器1520内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的生成地形网格的方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM)、随机存取存储器(RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (14)
1.一种生成地形网格的方法,其特征在于,包括:
在第一地形网格上构建虚拟地形模型,并生成所述虚拟地形模型对应的第一高度图,其中,所述第一地形网格为构建所述虚拟地形模型的初始地形网格,所述第一高度图为基础高度图;
对所述第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,所述第二地形网格为所述虚拟地形模型对应的烘焙网格,所述高度数据贴图用于生成第二高度图,所述第二高度图为所述虚拟地形模型在游戏中待使用的高度图;
利用所述第一高度图和所述高度数据贴图获取所述第二高度图;
基于所述第二高度图生成目标地形网格,其中,所述目标地形网格为所述游戏中待使用的地形网格。
2.根据权利要求1所述的方法,其特征在于,所述第一地形网格包括:多个第一单元格,所述多个第一单元格的形状采用第一平面几何图形,在所述第一地形网格上构建所述虚拟地形模型包括:
在所述第一地形网格上确定构建区域;
获取所述构建区域内至少部分第一单元格对应的海拔高度;
利用所述海拔高度计算所述至少部分第一单元格中每相邻两个单元格之间的海拔差值,其中,所述海拔差值用于确定多种类型地貌表现;
基于所述海拔差值构建所述虚拟地形模型。
3.根据权利要求2所述的方法,其特征在于,基于所述海拔差值构建所述虚拟地形模型包括:
响应于所述海拔差值大于或等于第一数值,确定相邻两个单元格之间的地貌表现为第一类型地貌表现;
响应于所述海拔差值等于第二数值,确定相邻两个单元格之间的地貌表现为第二类型地貌表现;
响应于所述海拔差值等于第三数值,确定相邻两个单元格之间的地貌表现为第三类型地貌表现;
基于所述第一类型地貌表现、所述第二类型地貌表现和所述第三类型地貌表现构建所述虚拟地形模型;
其中,所述第一数值大于所述第二数值,所述第二数值大于所述第三数值。
4.根据权利要求2所述的方法,其特征在于,所述第二地形网格包括:多个第二单元格,所述多个第二单元格的形状采用第二平面几何图形,对所述第一地形网格与所述第二地形网格进行匹配,生成所述高度数据贴图包括:
在所述第一地形网格中,基于所述多个第一单元格的中心位置确定多个第三单元格,其中,所述多个第三单元格的形状采用所述第二平面几何图形;
基于所述海拔高度对所述多个第二单元格与所述多个第三单元格进行高度匹配,生成所述高度数据贴图。
5.根据权利要求4所述的方法,其特征在于,基于所述海拔高度对所述多个第二单元格与所述多个第三单元格进行高度匹配,生成所述高度数据贴图包括:
对所述多个第二单元格进行旋转变换,得到变换后单元格;
基于所述海拔高度对所述变换后单元格与所述多个第三单元格进行高度匹配,生成所述高度数据贴图。
6.根据权利要求5所述的方法,其特征在于,所述高度数据贴图包括:第一数据贴图,其中,所述第一数据贴图包括:第一贴图通道、第二贴图通道、第三贴图通道和第四贴图通道,所述第一贴图通道与所述第二贴图通道的第一部分存储空间用于存储所述多个第三单元格的顶点海拔高度,所述第二贴图通道的第二部分存储空间用于存储多个单元格的单元格状态,所述单元格状态用于确定同一个单元格的顶点海拔高度是否相同,所述第三贴图通道与所述第四贴图通道的第一部分存储空间用于存储所述多个第二单元格的顶点海拔高度,所述第四贴图通道的第二部分存储空间用于存储所述多个第二单元格的旋转变换索引,所述旋转变换索引用于确定所述多个第二单元格对应的旋转变换矩阵。
7.根据权利要求6所述的方法,其特征在于,所述高度数据贴图还包括:第二数据贴图,其中,所述第二数据贴图包括:第五贴图通道和第六贴图通道,所述第五贴图通道用于存储所述多个第二单元格的平面坐标,所述第六贴图通道的部分存储空间用于存储所述第二地形网格的网格状态,所述网格状态用于确定所述第二地形网格的顶端朝向。
8.根据权利要求7所述的方法,其特征在于,利用所述第一高度图和所述高度数据贴图获取所述第二高度图包括:
对所述虚拟地形模型进行划分,得到多个虚拟地块;
利用所述第一高度图和所述高度数据贴图获取所述多个虚拟地块中每个虚拟地块对应的所述第二高度图。
9.根据权利要求8所述的方法,其特征在于,利用所述第一高度图和所述高度数据贴图获取所述多个虚拟地块中每个虚拟地块对应的所述第二高度图包括:
从所述第二数据贴图中确定每个虚拟地块对应的数据贴图索引;
利用所述数据贴图索引从所述第一数据贴图中获取每个虚拟地块对应的第一参数、第二参数、第三参数和第四参数,其中,所述第一参数用于确定每个虚拟地块对应的第三单元格的顶点海拔高度最小值,所述第二参数用于确定每个虚拟地块对应的第二单元格的顶点海拔高度最小值,所述第三参数用于确定每个虚拟地块对应的第三单元格的重心插值结果,所述第四参数用于确定每个虚拟地块对应的第二单元格的重心插值结果;
对所述第一高度图进行高度采样,得到采样结果;
基于所述第一参数、所述第二参数、所述第三参数、所述第四参数、所述采样结果、第一单位高度和第二单位高度,生成每个虚拟地块对应的所述第二高度图,其中,所述第一单位高度为所述第一高度图的预设单位高度,所述第二单位高度为所述第二高度图的预设单位高度。
10.根据权利要求9所述的方法,其特征在于,基于所述第一参数、所述第二参数、所述第三参数、所述第四参数、所述采样结果、所述第一单位高度和所述第二单位高度,生成每个虚拟地块对应的所述第二高度图包括:
采用所述第一参数和所述第三参数进行计算,得到第一计算结果;
采用所述第二参数和所述第四参数进行计算,得到第二计算结果;
采用所述采样结果、所述第一单位高度和所述第二参数进行计算,得到第三计算结果;
采用所述第一计算结果、所述第二计算结果、所述第三计算结果和所述第二单位高度进行计算,得到目标计算结果;
基于所述目标计算结果生成每个虚拟地块对应的所述第二高度图。
11.根据权利要求8所述的方法,其特征在于,基于所述第二高度图生成所述目标地形网格包括:
以每个第三单元格为单位,对所述多个虚拟地块中的每个虚拟地块进行初次划分,构建每个虚拟地块对应的第三地形网格;
在所述第三地形网格中,对第二类型地貌表现和第三类型地貌表现对应的单元格进行再次划分,得到第四地形网格;
基于所述第四地形网格对所述第二高度图进行采样,生成所述目标地形网格。
12.一种生成地形网格的装置,其特征在于,包括:
第一生成模块,用于在第一地形网格上构建虚拟地形模型,并生成所述虚拟地形模型对应的第一高度图,其中,所述第一地形网格为构建所述虚拟地形模型的初始地形网格,所述第一高度图为基础高度图;
第二生成模块,用于对所述第一地形网格与第二地形网格进行匹配,生成高度数据贴图,其中,所述第二地形网格为所述虚拟地形模型对应的烘焙网格,所述高度数据贴图用于生成第二高度图,所述第二高度图为所述虚拟地形模型在游戏中待使用的高度图;
获取模块,用于利用所述第一高度图和所述高度数据贴图获取所述第二高度图;
第三生成模块,用于基于所述第二高度图生成目标地形网格,其中,所述目标地形网格为所述游戏中待使用的地形网格。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行权利要求1至11任一项中所述的生成地形网格的方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至11任一项中所述的生成地形网格的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310548821.8A CN116570915A (zh) | 2023-05-12 | 2023-05-12 | 生成地形网格的方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310548821.8A CN116570915A (zh) | 2023-05-12 | 2023-05-12 | 生成地形网格的方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116570915A true CN116570915A (zh) | 2023-08-11 |
Family
ID=87533549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310548821.8A Pending CN116570915A (zh) | 2023-05-12 | 2023-05-12 | 生成地形网格的方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116570915A (zh) |
-
2023
- 2023-05-12 CN CN202310548821.8A patent/CN116570915A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776982B2 (en) | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework | |
CN108876910A (zh) | 一种三维建模方法、装置、设备及计算机可读存储介质 | |
CN102044089A (zh) | 一种三维模型的自适应化简、渐进传输和快速绘制的方法 | |
CN109697748A (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN115375822A (zh) | 云模型的渲染方法、装置、存储介质及电子装置 | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
WO2024021955A9 (zh) | 三维指引地图生成方法、装置、存储介质和电子装置 | |
US20230326129A1 (en) | Method and apparatus for storing visibility data of three-dimensional model, device, and storage medium | |
CN116570915A (zh) | 生成地形网格的方法、装置、存储介质及电子装置 | |
CN110706149A (zh) | 一种闪电粒子的渲染方法及装置 | |
CN115888085A (zh) | 游戏信息的处理方法、装置和存储介质 | |
Germanchis et al. | Virtual Queenscliff: A computer game approach for depicting geography | |
Ma et al. | Research and application of personalized human body simplification and fusion method | |
CN114677482B (zh) | 地形构建方法及设备 | |
CN116212370A (zh) | 渲染虚拟自然景观的方法、装置、存储介质及电子装置 | |
CN116645458A (zh) | 高度数据生成方法及装置 | |
Li et al. | Research on Landscape Architecture Modeling Simulation System Based on Computer Virtual Reality Technology | |
CN116889723A (zh) | 虚拟场景的画面生成方法、装置、存储介质及电子装置 | |
WO2023221683A1 (zh) | 图像渲染方法、装置、设备和介质 | |
CN116342841A (zh) | 基于虚拟三维模型生成目标对象的方法、装置及存储介质 | |
CN117392305A (zh) | 贴图处理方法、装置、存储介质及电子装置 | |
Bender et al. | HW3D: A tool for interactive real-time 3D visualization in GIS supported flood modelling | |
CN116452704A (zh) | 镜头光晕特效的生成方法、装置、存储介质及电子装置 | |
CN117671114A (zh) | 模型渲染方法、装置、存储介质及电子装置 | |
Gao et al. | A relevant research on the establishment of a voxel gaming world |
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 |