CN115222904A - 地形处理方法、装置、电子设备和可读存储介质 - Google Patents
地形处理方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN115222904A CN115222904A CN202210735610.0A CN202210735610A CN115222904A CN 115222904 A CN115222904 A CN 115222904A CN 202210735610 A CN202210735610 A CN 202210735610A CN 115222904 A CN115222904 A CN 115222904A
- Authority
- CN
- China
- Prior art keywords
- terrain
- curve
- target
- elements
- river
- 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
Images
Classifications
-
- 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
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/68—Analysis of geometric attributes of symmetry
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种地形处理方法、装置、电子设备和计算机可读存储介质;本申请实施例可获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。本申请实施例可以在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,提高地形修改的实时性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种地形处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着计算机网络技术的发展和移动设备平台的发展,游戏越来越受到人们的喜欢。在三维游戏中,地形几乎是必不可少的组成部分,游戏内几乎所有的物体,例如人物、植物和建筑等都需要在地形上运作,否则单独存在无法构成一个完整的游戏。
目前开发人员制作游戏地形的方法,其中一种是使用各类数字内容创作(DigitalContent Creation,DCC)软件如Houdini通过手动刷地表或是程序化生成的方式来制作地形,当制作好了之后,导出高度图或是模型,然后将其导入游戏引擎进行继续编辑或直接使用。
而在实际的游戏开发过程当中,总是免不了需求的变更或是需要对美术效果进行迭代。因此如果需要改动地形,比如,把东边的山移到西边、修改河流的走向等,就需要在每一次改动之后在DCC软件中重新导出高度图或是模型,再导入游戏引擎进行整个地形的替换。当地形比较复杂庞大,尤其是做开放性大世界的时候,替换整个地形会耗费开发人员大量时间。
发明内容
本申请实施例提供一种地形处理方法、装置、电子设备和计算机可读存储介质,可以直接在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,极大地减少地形的修改时间,提高地形修改的实时性。
第一方面,本申请实施例提供一种地形处理方法,包括:
获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
第二方面,本申请实施例还提供一种地形处理装置,包括:
获取单元,用于获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
生成单元,用于基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
调整单元,用于基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
在一些实施例中,所述地形元素包括山体元素,所述目标曲线描述数据包括山体元素的第一曲线描述数据,所述第一曲线描述数据包含所述山体元素的位置和所述山体元素的曲线控制点的位置;所述生成单元具体用于:
基于所述山体元素的位置和所述山体元素的曲线控制点的位置,生成所述山体元素的第一控制曲线,其中,所述第一控制曲线包含所述山体元素的多个曲线控制点;
所述调整单元具体用于:
基于所述第一控制曲线上的各曲线控制点,调整所述待编辑地形上的所述山体元素的走向,得到所述目标样式地形。
在一些实施例中,所述地形元素包括河流元素,所述目标曲线描述数据包括河流元素的第二曲线描述数据,所述第二曲线描述数据包含所述河流元素的位置和所述河流元素的曲线控制点的位置;所述生成单元具体用于:
基于所述河流元素的位置和所述河流元素的曲线控制点的位置,生成所述河流元素的第二控制曲线,其中,第二控制曲线包含所述河流元素的多个曲线控制点;
所述调整单元具体用于:
基于所述第二控制曲线上的各曲线控制点,调整所述待编辑地形上的所述河流元素的走向,得到所述目标样式地形。
在一些实施例中,所述获取单元具体用于:
获取所述待编辑地形的共享磁盘中存储的共享编辑数据,以作为所述第一目标编辑数据;
在一些实施例中,所述地形处理装置还包括更新单元,所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形之后,所述更新单元具体用于:
获取所述目标样式地形的第二目标编辑数据,其中,所述第二目标编辑数据包含所述地形元素的样式调整后的曲线描述数据;
基于所述第二目标编辑数据更新所述共享磁盘中的共享编辑数据。
在一些实施例中,所述获取单元具体用于:
基于所述待编辑地形的地图文件,提取所述地形元素的图层;其中,所述地图文件包含至少一个图层,所述至少一个图层包含所述地形元素的图层,所述地形元素的图层用于指示所述地形元素的区域;
基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线;
将所述表述曲线导出为json数据描述文件,以作为所述地形元素的目标曲线描述数据。
在一些实施例中,所述地形元素包括山体元素,所述获取单元具体用于:
基于所述山体元素的图层中所述山体元素的区域信息,提取所述山体元素的外轮廓曲线,以作为所述山体元素的表述曲线。
在一些实施例中,所述地形元素包括河流元素,所述获取单元具体用于:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述获取单元具体用于:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的初步中轴线,其中,所述初步中轴线包含多个曲线控制点;
对所述初步中轴线上的曲线控制点进行采样,得到所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述第一目标编辑数据还包含所述山体元素的图层,所述调整单元具体用于:
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的走向,得到所述待编辑地形的初步样式地形;
基于所述山体元素的图层的控制节点,调整所述初步样式地形上的所述山体元素的高度、噪声中的至少一者,得到所述目标样式地形。
第三方面,本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种地形处理方法中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种地形处理方法中的步骤。
本申请实施例通过获取包含地形元素的曲线控制点的位置的目标曲线描述数据,用于生成地形元素的目标控制曲线,由于生成的目标控制曲线上携带有地形元素的曲线控制点,因此,可以基于目标控制曲线上的曲线控制点根据需求随意调整目标控制曲线的走向,从而实现调整地形要素的走向;由此,当地形导入至游戏引擎中后,可以实现在游戏引擎中生成地形元素的目标控制曲线,基于目标控制曲线上的曲线控制点对地形要素的走向进行调整,从而直接在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,极大地减少地形的修改时间,提高了地形的修改实时性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的地形处理方法的一种实施例流程示意图;
图2是本申请实施例中提供的山体元素的表述曲线的一种示意图;
图3是本申请实施例中提供的河流元素的表述曲线的一种示意图;
图4是本申请实施例中提供的地形的编辑数据更新的一种说明示意图;
图5是本申请实施例中提供的山体元素的调整说明示意图;
图6是本申请实施例中提供的河流元素的调整说明示意图;
图7是本申请实施例提供的地形处理装置的结构示意图;
图8是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。同时,在本申请实施例的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例提供一种地形处理方法、装置、电子设备和计算机可读存储介质。
具体地,本实施例可以由地形处理装置执行,该地形处理装置具体可以集成在电子设备中,即本申请实施例地形处理方法具体可以由电子设备执行,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、触控屏幕、游戏机、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
例如,该电子设备可以是移动终端,该移动终端可以通过网络获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
在一些实施例中,该地形处理装置还可以集成在多个电子设备中,比如,地形处理装置可以集成在多个服务器中,由多个服务器来实现本申请的地形处理方法。又如,地形处理装置可以集成在多个终端中,由多个终端来实现本申请的地形处理方法。
在一些实施例中,服务器也可以以终端的形式来实现,比如,可以将个人电脑设置为服务器来集成该地形处理装置,由个人电脑设置成的服务器来实现本申请的地形处理方法。
以下结合附图分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于附图所示的顺序执行所示出或描述的步骤。
本实施例的地形处理方法具体可以由虚幻引擎来执行,例如游戏引擎UE4(UnrealEngine 4,虚幻4引擎),能够部署于虚拟场景开发平台,本实施例以游戏场景开发为例,采用该地形处理方法对游戏中的地形进行处理。如图1所示,该地形处理方法的具体流程可以如下步骤101~步骤103,其中:
101、获取待编辑地形的第一目标编辑数据。
其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置。
其中,地形是指描述了如河流、山体、盆地、丘陵、植被、岩石等地形元素的地表或地面系统。
其中,待编辑地形是指已导入游戏引擎后需修改的地形,例如,游戏中所需的世界地形。
其中,目标曲线描述数据是用于描述地形元素的表述曲线的数据,目标曲线描述数据包括地形元素的表述曲线上的曲线控制点数量、每个曲线控制点的位置、地形元素的位置等信息。
步骤101中,获取第一目标编辑数据的方式有多种,示例性地,包括:
1)步骤101中直接构建得到。首先,地形中的各地形元素表述为曲线描述数据:通过DCC软件创建待编辑地形后,把待编辑地形中的各地形元素信息提取为曲线,并文件将各地形元素的表示曲线进行描述,如通过脚本语言(如Python语言)进行描述并导出为json数据描述文件,得到各地形元素的曲线描述数据。然后,将各地形元素的曲线描述数据和地形的地图文件(包含各地形元素的图层)一起导入至游戏引擎(如UE4引擎)中,从而获得第一目标编辑数据。
示例性地,步骤101中,获取目标曲线描述数据的过程具体可以包括如下步骤1011~1013,其中:
1011、基于所述待编辑地形的地图文件,提取所述地形元素的图层。
其中,所述地图文件包含至少一个图层,所述至少一个图层包含所述地形元素的图层,所述地形元素的图层用于指示所述地形元素的区域。
其中,地形元素的图层是用于表示地形元素的图层,即表示信息是地形元素的图像。
为了表述地形上的各种信息,一般是待编辑地形的表示模型上渲染各种图层。例如,为了在地形上显示河流,会将一个表示河流信息的图层渲染至待编辑地形的表示模型上。
其中,地图文件是指表示待编辑地形上各种信息的图层文件。例如,地形中包含了基本地形的高度和起伏变化、河流区域、山体区域等信息,则将添加一个名为“基本地形”的图层用于表示基本地形的高度和起伏变化、添加一个名为“河流”的图层用于表示河流区域、添加一个名为“山体”的图层用于表示山体区域,依次类推,地形上的各中信息的表示图层即为地图文件。
本实施例中将如地图文件、目标曲线描述数据等封装在HDA节点中。
其中,HDA(Houdini Digital Asset,Houdini的数字资产)用于封装自定义的、具有特定功能和逻辑的节点,HDA间可以自由组合和嵌套,形成新的HDA。
在一些实施例中,步骤1011中,可以将其他端提供的地图文件封装在一个的HDA节点(简称为地图文件HDA,该地图文件HDA又包含多个内部节点,每个内部节点可以由一个图层信息封装得到)中导入至DCC软件(如Houdini)中,通过Houdini基于导入的地图文件HDA分离出各图层,从而得到出地形元素的图层。
在另一些实施例中,步骤1011中,也可以基于Houdini直接构建得到地图文件HDA。通过Houdini基于地图文件HDA分离出各图层,从而得到地形元素的图层。
1012、基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线。
其中,表述曲线是基于地形元素的区域信息提取得到的、用于描述地形元素的曲线。例如,用于描述山体区域的外轮廓的曲线、用于描述河流区域的中轴线的曲线等。
①以地形元素是山体元素为例,如图2,此时,步骤1012中,可以基于所述山体元素的图层中所述山体元素的区域信息,提取所述山体元素的外轮廓曲线,以作为所述山体元素的表述曲线。图2中,白色线条围成区域表示山体元素的区域,白色线条可以表示山体元素的外轮廓曲线。
其中,山体元素的表述曲线包含多个曲线控制点,山体元素的表述曲线上的曲线控制点用于后续控制山体元素的走向、区域大小等。
进一步地,待编辑地形中可以包含多个山体元素,可以针对每个山体元素都提取其外轮廓曲线,作为每个山体元素的表述曲线,从而可以得到待编辑地形中所有的山体元素的表述曲线。
②以地形元素是河流元素为例,如图3所示,此时,步骤1012中,可以基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。图3中,白色线条表示河流元素的区域的中轴线。
其中,河流元素的表述曲线包含多个曲线控制点,河流元素的表述曲线上的曲线控制点用于后续控制河流元素的走向。
此处,目标中轴线具体可以是基于河流元素的图层中河流元素的区域信息提取得到的、河流元素的区域的中轴线。
由于基于河流元素的区域信息直接提取出来中轴线其实是一根精度比较高的曲线,而河流的走势控制其实只需要用一些概括性的控制点来表达,否则若一根河流元素的表述曲线精度太高,不仅会导致提供信息的冗余,还有可能会导致美术效果出问题。进一步地,为了降低河流元素的表述曲线的冗余信息,在提取河流元素的中轴线后还对中轴线的曲线控制点进行采样,以得到控制点数据量更低的表述曲线,即步骤“基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线”还可以进一步包括如下步骤a1~a2,其中:
a1、基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的初步中轴线。
其中,所述初步中轴线包含多个曲线控制点。初步中轴线是指基于河流元素的图层中河流元素的区域信息提取得到的、河流元素的区域的中轴线。
a2、对所述初步中轴线上的曲线控制点进行采样,得到所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
此处,目标中轴线是指对初步中轴线进行采样得到的、曲线控制点的精度比初步中轴线的曲线控制点更低的中轴线。
具体地,步骤a2中可以按照预设的采样频率,对初步中轴线上的曲线控制点进行降采样,以提取出包含的曲线控制点的精度更低的中轴线作为河流元素的目标中轴线;并将河流元素的目标中轴线作为河流元素的表述曲线。
例如,如图3所示,一条河流会很长,因此基于河流的区域提取得到的中轴线会很长,假设提取得到河流的初步中轴线包含1000个曲线控制点,按照每10个曲线控制点进行一次采样,则对初步中轴线进行降采样,将得到曲线控制点数为100的目标中轴线,用作河流元素的表述曲线。由此可以极大地降低河流元素的表述曲线的曲线控制点的数量,进而减少河流元素的表述曲线的冗余信息,提高后续的数据处理速度。
进一步地,待编辑地形中可以包含多个河流元素,可以针对每个河流元素都提取其目标中轴线,作为每个河流元素的表述曲线,从而可以得到待编辑地形中所有的河流元素的表述曲线。
③以地形元素是盆地元素为例,步骤1012中,可以基于盆地元素的图层中盆地元素的区域信息,提取盆地元素的外轮廓曲线,以作为盆地元素的表述曲线。
进一步地,待编辑地形中可以包含多个盆地元素,可以针对每个盆地元素都提取其外轮廓曲线,作为每个盆地元素的表述曲线,从而可以得到待编辑地形中所有的盆地元素的表述曲线。
以上以地形元素分别是山体元素、河流元素、盆地元素为例,说明了地形元素的表述曲线的获取方式,可以理解的是,也可以参考上述山体元素、河流元素或盆地元素的表述曲线的获取方式,获取待编辑地形中的其他地形元素如丘陵、岩石等的表述曲线,直至提取得到待编辑地形中全部地形元素的表述曲线,以保证后续可以对待编辑地形上的所有地形元素都可以进行编辑。
1013、将所述表述曲线导出为json数据描述文件,以作为所述地形元素的目标曲线描述数据。
①以地形元素是山体元素为例,步骤1012中,可以通过游戏引擎的脚本,基于山体元素的表述曲线上的曲线控制点的位置、山体元素的位置等信息,将上体元素的表述曲线导出为json数据描述文件,以作为山体元素的目标曲线描述数据。从而得到包含山体元素的目标曲线描述数据的第一目标编辑数据。
进一步地,待编辑地形中可以包含多个山体元素,可以针对山体元素的个数、每个山体元素的位置、每个山体元素的表述曲线上各曲线控制点的位置等信息,一起导出为json数据描述文件,以作为山体元素的目标曲线描述数据。从而得到包含山体元素的目标曲线描述数据的第一目标编辑数据。
②以地形元素是河流元素为例,步骤1012中,可以通过游戏引擎的脚本,基于河流元素的表述曲线上的曲线控制点的位置、河流元素的位置等信息,将上体元素的表述曲线导出为json数据描述文件,以作为河流元素的目标曲线描述数据。从而得到包含河流元素的目标曲线描述数据的第一目标编辑数据。
进一步地,待编辑地形中可以包含多个河流元素,可以针对河流元素的个数、每个河流元素的位置、每个河流元素的表述曲线上各曲线控制点的位置等信息,一起导出为json数据描述文件,以作为河流元素的目标曲线描述数据。从而得到包含河流元素的目标曲线描述数据的第一目标编辑数据。
③以地形元素是盆地元素为例,步骤1012中,可以通过游戏引擎的脚本,基于盆地元素的表述曲线上的曲线控制点的位置、盆地元素的位置等信息,将上体元素的表述曲线导出为json数据描述文件,以作为盆地元素的目标曲线描述数据。从而得到包含盆地元素的目标曲线描述数据的第一目标编辑数据。
进一步地,待编辑地形中可以包含多个盆地元素,可以针对盆地元素的个数、每个盆地元素的位置、每个盆地元素的表述曲线上各曲线控制点的位置等信息,一起导出为json数据描述文件,以作为盆地元素的目标曲线描述数据。从而得到包含盆地元素的目标曲线描述数据的第一目标编辑数据。
以上以地形元素分别是山体元素、河流元素、盆地元素为例,说明了地形元素的目标曲线描述数据的获取方式,可以理解的是,也可以参考上述山体元素、河流元素或盆地元素的目标曲线描述数据的获取方式,获取待编辑地形中的其他地形元素如丘陵、岩石等的目标曲线描述数据,直至提取得到待编辑地形中全部地形元素的目标曲线描述数据,从而得到待编辑地形的第一目标编辑数据。
2)第一目标编辑数据预先构建并存储在预设数据库中,步骤101中直接从预设数据库中读取得到。如图4所示,具体地,可以参考上述步骤1011~步骤1013中获取得到各地形(包括待编辑地形)中各地形元素的目标曲线描述数据,将各地形(包括待编辑地形)中各地形元素的目标曲线描述数据汇总得到各地形(包括待编辑地形)的编辑数据,将各地形(包括待编辑地形)的编辑数据存储在预设数据库中,以供步骤101中直接从预设数据库存储的各编辑数据中读取得到待编辑地形的第一目标编辑数据。
进一步地,如图4所示,为了使得在将地形导入至游戏引擎端后,在游戏引擎(以UE4为例)对待编辑地形的修改与在DCC软件(以Houdini为例)对待编辑地形的修改可以实现共享,还可以将构建得到的各地形的编辑数据存储在地形的共享磁盘中,共享磁盘中各地形的编辑用于游戏引擎端与DCC软件端的共享编辑。此时,步骤101中,可以获取所述待编辑地形的共享磁盘中存储的共享编辑数据,以作为所述第一目标编辑数据。步骤103中,对待编辑地形上的地形元素的样式调整得到待编辑地形的目标样式地形之后,首先,可以参考上述步骤1011~步骤1013将调整后的各地形元素的表述曲线导出为json数据描述文件,以作为目标样式地形中各地形元素的曲线描述数据;将目标样式地形中各地形元素的曲线描述数据汇总,得到获取所述目标样式地形的第二目标编辑数据。然后,将第二目标编辑数据用于更新共享磁盘中待编辑地形的共享编辑数据。
或者,如图4所示,存储在共享磁盘中待编辑地形的共享编辑数据(其中,导出的共享编辑数据作为第一目标编辑数据,导出的共享编辑数据包含了待编辑地形中各地形元素的曲线数据)也可以导入至DCC软件(以Houdini为例),在Houdini中,首先,基于各地形元素的曲线描述数据重构各地形元素的表述曲线;然后,调整地形元素的表述曲线上的各曲线控制点实现对各地形元素的调整,进而得到目标样式地形;最后,可以参考上述步骤1011~步骤1013将调整后的各地形元素的表述曲线导出为json数据描述文件,以作为目标样式地形中各地形元素的曲线描述数据,用于更新共享磁盘中待编辑地形的共享编辑数据。同理,在UE4中各地形元素编辑后,更新共享磁盘中的地形元素的曲线描述数据的方式类似,为简化表述,此处不再一一赘述。
可见,第二目标编辑数据包含各地形元素的样式调整后的曲线描述数据,通过先从共享磁盘读取待编辑地形的编辑数据修改后,将第二目标编辑数据更新共享磁盘中待编辑地形的共享编辑数据,可以共享在游戏引擎中对待编辑地形的修改数据。同理,也可以将共享磁盘中待编辑地形的共享编辑数据导入至DCC软件(如Houdini)中,在DCC软件中基于待编辑地形的编辑数据进行调整后,将调整后的编辑数据更新共享磁盘中待编辑地形的共享编辑数据,由此,可以将共享在DCC软件中对待编辑地形的修改数据,从而实现地形在DCC软件(如Houdini)和游戏引擎都能共享编辑,实现对地形修改的实时性。
102、基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线。
其中,所述目标控制曲线包含所述地形元素的曲线控制点。
其中,目标控制曲线是根据目标曲线描述数据包含的地形元素的位置、地形元素的曲线控制点的位置等信息生成的、地形元素区域的表示曲线。目标控制曲线用于控制地形元素的走向,具体地,通过调整目标控制曲线上曲线控制点可以调整目标控制曲线的变化,进而控制地形元素的走向变化,步骤103中可以通过目标控制曲线上曲线控制点的调整来控制地形元素的走向变化,从而实现在游戏引擎中也可以实现对地形中的地形元素进行调整。
①以对地形上的山体元素进行调整为例,此时,将利用山体元素的曲线描述数据生成包含多个曲线控制点的山体元素的控制曲线,用于步骤103中对山体元素的控制曲线上的曲线控制点进行调整,从而实现对山体元素的调整。即,目标曲线描述数据包括山体元素的第一曲线描述数据,步骤102具体可以包括如下步骤1021A:
1021A、基于所述山体元素的位置和所述山体元素的曲线控制点的位置,生成所述山体元素的第一控制曲线。
其中,第一控制曲线包含所述山体元素的多个曲线控制点。
其中,第一控制曲线是指山体元素的控制曲线。第一控制曲线是根据第一曲线描述数据包含的山体元素的位置、山体元素的曲线控制点的位置等信息生成的、山体元素区域的外轮廓线。第一控制曲线用于控制山体元素的走向,具体地,通过调整第一控制曲线上曲线控制点可以调整第一控制曲线的变化,进而控制山体元素的走向变化,步骤103中可以通过第一控制曲线上曲线控制点的调整来控制山体元素的走向变化,从而实现在游戏引擎中也可以实现对地形中的山体元素进行调整,避免了山体元素的走向调整需在DCC软件中实现的问题,从而避免需将整个地形重复导入游戏引擎的过程,进而提高山体元素的修改实时性。
其中,第一曲线描述数据是指山体元素的曲线描述数据。
示例性地,游戏引擎(如UE4端)读取地形元素的目标曲线描述数据是靠蓝图来实现的。以山体元素为例,首先,创建一个DataTable类型的Asset,并把对应山体元素的第一曲线描述数据给读取进来,相当于绑定好了数据。接着,在一个空的蓝图里先加入一个空的spline组件,再根据第一曲线描述数据有多少个数据项动态添加多少个spline的控制点,并根据第一曲线描述数据来设置每个曲线控制点的位置,最终执行蓝图在视口里就可以有一根山体元素的控制曲线(即第一控制曲线)。
②以对地形上的河流元素进行调整为例,此时,将利用河流元素的曲线描述数据生成包含多个曲线控制点的河流元素的控制曲线,用于步骤103中对河流元素的控制曲线上的曲线控制点进行调整,从而实现对地形上的河流元素的调整。此时,步骤102具体可以包括如下步骤1021B:
1021B、基于所述河流元素的位置和所述河流元素的曲线控制点的位置,生成所述河流元素的第二控制曲线。
其中,第二控制曲线包含所述河流元素的多个曲线控制点。
其中,第二控制曲线是指河流元素的控制曲线。第二控制曲线是根据第二曲线描述数据包含的河流元素的位置、河流元素的曲线控制点的位置等信息生成的、河流元素区域的中轴线。第二控制曲线用于控制河流元素的走向,具体地,通过调整第二控制曲线上曲线控制点可以调整第二控制曲线的变化,进而控制河流元素的走向变化,步骤103中可以通过第二控制曲线上曲线控制点的调整来控制河流元素的走向变化,从而实现在游戏引擎中也可以实现对地形中的河流元素进行调整,避免了河流元素的走向调整需在DCC软件中实现的问题,从而避免需将整个地形重复导入游戏引擎的过程,进而提高河流元素的修改实时性。
其中,第二曲线描述数据是指河流元素的曲线描述数据。
游戏引擎(如UE4端)读取地形元素的目标曲线描述数据是靠蓝图来实现的。示例性地,首先,创建一个DataTable类型的Asset,并把对应河流元素的第二曲线描述数据给读取进来,相当于绑定好了数据。接着,在一个空的蓝图里先加入一个空的spline组件,再根据第二曲线描述数据有多少个数据项动态添加多少个spline的控制点,并根据第二曲线描述数据来设置每个曲线控制点的位置,最终执行蓝图在视口里就可以有一根河流元素的控制曲线(即第二控制曲线)。
同理,可以参考上述山体元素或河流元素的控制曲线的生成方法,基于第一目标编辑数据中的每个地形元素(如盆地、丘陵等)的目标曲线描述数据,生成每个地形元素的控制曲线,以供后续对每个地形元素的控制曲线上的曲线控制点进行调整,进而实现每个地形元素的控制曲线变化,最终实现控制地形上的每个地形元素的走向变化。
103、基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
其中,目标样式地形是指基于目标控制曲线上的曲线控制点对待编辑地形上的地形元素的样式进行调整后,所得到的地形。
其中,Houdini Engine是游戏引擎UE4的Houdini插件,用于将Houdini封装好的HDA文件在UE4里面运行,从而达到打开Houdini软件就可以在UE4里调整参数的目的。
具体地,步骤103中可以通过目标控制曲线上曲线控制点的调整来控制地形元素的走向变化,从而实现在游戏引擎中也可以实现对地形中的地形元素进行调整。示例性地,步骤101中获取的第一目标编辑数据是封装了待编辑地形的每个地形元素的目标曲线控制数据、图层文件等的HDA文件(假设该HDA文件取名为“X28_convert_terrain”),步骤103中,可以借助Houdini Engine,将上述封装好的名为“X28_convert_terrain”HDA文件拖入到UE4视口里,并将目标控制曲线赋予HDA,从而可以在UE4视口里控制地形元素的目标控制曲线上的曲线控制点,进而可以在UE4视口里拖动地形元素的走向。
①以对地形上的山体元素进行调整为例,此时,步骤103中,可以基于所述第一控制曲线上的各曲线控制点,调整所述待编辑地形上的所述山体元素的走向,得到所述目标样式地形。
示例性地,首先,可以借助Houdini Engine,将上述封装好的名为“X28_convert_terrain”HDA文件拖入到UE4视口里。然后,将第一控制曲线赋予HDA,从而可以在UE4视口里控制山体元素的第一控制曲线上的曲线控制点,进而可以在UE4视口里拖动山体元素的走向。例如,如图5所示,在将山体元素的第一控制曲线上的曲线控制点的其中3个控制点移动,如:一个曲线控制点由a处移动至a’处、一个曲线控制点由b处移动至b’处、曲线控制点由c处移动至c’处,则山体元素将由图5中(a)所示的走向变化为如图5中(b)所示的走向。
②以对地形上河流元素进行调整为例,此时,步骤103中,基于所述第二控制曲线上的各曲线控制点,调整所述待编辑地形上的所述河流元素的走向,得到所述目标样式地形。
示例性地,首先,可以借助Houdini Engine,将上述封装好的名为“X28_convert_terrain”HDA文件拖入到UE4视口里。然后,将第二控制曲线赋予HDA,从而可以在UE4视口里控制河流元素的第二控制曲线上的曲线控制点,进而可以在UE4视口里拖动河流元素的走向。例如,如图6所示,在将河流元素的第二控制曲线上的曲线控制点的其中1个控制点移动,如:曲线控制点由d处移动至d’处、处,则河流元素将由图6中(a)所示的走向变化为如图6中(b)所示的走向。
进一步地,由于河流元素生成的第二控制曲线是一条中轴线,因此在步骤103之前,还会将第二控制曲线转化为具体的河床模型,将河床模型映射到待编辑地形的表示模型上,以真正形成带有河流元素的地形。即步骤103之前还包括:基于所述第二控制曲线生成所述河流元素的模型;将所述河流元素的模型映射至所述待编辑地形上。
依次类推,与对山体元素、河流元素的调整类似,可以对待编辑地形上的各地形元素的走向进行调整,从而调整待编辑地形上的地形元素的样式,直至调整完成后得到待编辑地形的目标样式地形。
进一步地,步骤103中除了对地形要素的走向进行调整之外,还可以对地形要素的高度、噪音等进行调整。即,第一目标编辑数据还可以包括地形要素的图层,比如山体元素的图层,此时步骤103中对地形元素的样式还包括对地形要素的高度、噪音等进行调整,步骤103具体可以包括:基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的走向,得到所述待编辑地形的初步样式地形;基于所述山体元素的图层的控制节点,调整所述初步样式地形上的所述山体元素的高度、噪声中的至少一者,得到所述目标样式地形。依次类推,除对山体元素的高度和噪音进行调整外,也可以对其他地形元素(如盆地、丘陵等)的高度和噪音进行调整。
可见,通过获取包含地形要素的图层的第一目标编辑数据,可以实现在游戏引擎中对地形要素的高度和噪音等进行调整,从而一定程度上避免地形元素的高度和噪音调整需在DCC软件中实现的问题,从而避免需将整个地形重复导入游戏引擎的过程,进而提高地形元素的修改实时性。
由以上内容可以看出,通过获取包含地形元素的曲线控制点的位置的目标曲线描述数据,用于生成地形元素的目标控制曲线,由于生成的目标控制曲线上携带有地形元素的曲线控制点,因此,可以基于目标控制曲线上的曲线控制点根据需求随意调整目标控制曲线的走向,从而实现调整地形要素的走向;由此,当地形导入至游戏引擎中后,可以实现在游戏引擎中生成地形元素的目标控制曲线,基于目标控制曲线上的曲线控制点对地形要素的走向进行调整,从而直接在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,极大地减少地形的修改时间,提高了地形的修改实时性。
为了更好地实施以上方法,本申请实施例还提供一种地形处理装置,该地形处理装置具体可以集成在电子设备中,比如,计算机设备,该计算机设备可以为终端、服务器等设备。
其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以地形处理装置具体集成在智能手机为例,对本申请实施例的方法进行详细说明。
例如,如图7所示,该地形处理装置可以包括:
获取单元701,用于获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
生成单元702,用于基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
调整单元703,用于基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
在一些实施例中,所述地形元素包括山体元素,所述目标曲线描述数据包括山体元素的第一曲线描述数据,所述第一曲线描述数据包含所述山体元素的位置和所述山体元素的曲线控制点的位置;所述生成单元702具体用于:
基于所述山体元素的位置和所述山体元素的曲线控制点的位置,生成所述山体元素的第一控制曲线,其中,所述第一控制曲线包含所述山体元素的多个曲线控制点;
所述调整单元703具体用于:
基于所述第一控制曲线上的各曲线控制点,调整所述待编辑地形上的所述山体元素的走向,得到所述目标样式地形。
在一些实施例中,所述地形元素包括河流元素,所述目标曲线描述数据包括河流元素的第二曲线描述数据,所述第二曲线描述数据包含所述河流元素的位置和所述河流元素的曲线控制点的位置;所述生成单元702具体用于:
基于所述河流元素的位置和所述河流元素的曲线控制点的位置,生成所述河流元素的第二控制曲线,其中,第二控制曲线包含所述河流元素的多个曲线控制点;
所述调整单元703具体用于:
基于所述第二控制曲线上的各曲线控制点,调整所述待编辑地形上的所述河流元素的走向,得到所述目标样式地形。
在一些实施例中,所述获取单元701具体用于:
获取所述待编辑地形的共享磁盘中存储的共享编辑数据,以作为所述第一目标编辑数据;
在一些实施例中,所述地形处理装置还包括更新单元(图中未示出),所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形之后,所述更新单元具体用于:
获取所述目标样式地形的第二目标编辑数据,其中,所述第二目标编辑数据包含所述地形元素的样式调整后的曲线描述数据;
基于所述第二目标编辑数据更新所述共享磁盘中的共享编辑数据。
在一些实施例中,所述获取单元701具体用于:
基于所述待编辑地形的地图文件,提取所述地形元素的图层;其中,所述地图文件包含至少一个图层,所述至少一个图层包含所述地形元素的图层,所述地形元素的图层用于指示所述地形元素的区域;
基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线;
将所述表述曲线导出为json数据描述文件,以作为所述地形元素的目标曲线描述数据。
在一些实施例中,所述地形元素包括山体元素,所述获取单元701具体用于:
基于所述山体元素的图层中所述山体元素的区域信息,提取所述山体元素的外轮廓曲线,以作为所述山体元素的表述曲线。
在一些实施例中,所述地形元素包括河流元素,所述获取单元701具体用于:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述获取单元701具体用于:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的初步中轴线,其中,所述初步中轴线包含多个曲线控制点;
对所述初步中轴线上的曲线控制点进行采样,得到所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述第一目标编辑数据还包含所述山体元素的图层,所述调整单元703具体用于:
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的走向,得到所述待编辑地形的初步样式地形;
基于所述山体元素的图层的控制节点,调整所述初步样式地形上的所述山体元素的高度、噪声中的至少一者,得到所述目标样式地形。
由上可知,本实施例的地形处理装置可以由获取单元701获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;由生成单元702基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;由调整单元703基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。由此,本申请实施例地形处理装置可以带来如下技术效果:通过获取包含地形元素的曲线控制点的位置的目标曲线描述数据,用于生成地形元素的目标控制曲线,由于生成的目标控制曲线上携带有地形元素的曲线控制点,因此,可以基于目标控制曲线上的曲线控制点根据需求随意调整目标控制曲线的走向,从而实现调整地形要素的走向;由此,当地形导入至游戏引擎中后,可以实现在游戏引擎中生成地形元素的目标控制曲线,基于目标控制曲线上的曲线控制点对地形要素的走向进行调整,从而直接在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,极大地减少地形的修改时间,提高了地形的修改实时性。
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,PersonalComputer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图8所示,图8为本申请实施例提供的电子设备的结构示意图。该电子设备800包括有一个或者一个以上处理核心的处理器801、有一个或一个以上计算机可读存储介质的存储器802及存储在存储器802上并可在处理器上运行的计算机程序。其中,处理器801与存储器802电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器801是电子设备800的控制中心,利用各种接口和线路连接整个电子设备800的各个部分,通过运行或加载存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行电子设备800的各种功能和处理数据,从而对电子设备800进行整体监控。
在本申请实施例中,电子设备800中的处理器801会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能:
获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
在一些实施例中,所述地形元素包括山体元素,所述目标曲线描述数据包括山体元素的第一曲线描述数据,所述第一曲线描述数据包含所述山体元素的位置和所述山体元素的曲线控制点的位置;
所述基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,包括:
基于所述山体元素的位置和所述山体元素的曲线控制点的位置,生成所述山体元素的第一控制曲线,其中,所述第一控制曲线包含所述山体元素的多个曲线控制点;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述第一控制曲线上的各曲线控制点,调整所述待编辑地形上的所述山体元素的走向,得到所述目标样式地形。
在一些实施例中,所述地形元素包括河流元素,所述目标曲线描述数据包括河流元素的第二曲线描述数据,所述第二曲线描述数据包含所述河流元素的位置和所述河流元素的曲线控制点的位置;
所述基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,包括:
基于所述河流元素的位置和所述河流元素的曲线控制点的位置,生成所述河流元素的第二控制曲线,其中,第二控制曲线包含所述河流元素的多个曲线控制点;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述第二控制曲线上的各曲线控制点,调整所述待编辑地形上的所述河流元素的走向,得到所述目标样式地形。
在一些实施例中,所述获取待编辑地形的第一目标编辑数据,包括:
获取所述待编辑地形的共享磁盘中存储的共享编辑数据,以作为所述第一目标编辑数据;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形之后,还包括:
获取所述目标样式地形的第二目标编辑数据,其中,所述第二目标编辑数据包含所述地形元素的样式调整后的曲线描述数据;
基于所述第二目标编辑数据更新所述共享磁盘中的共享编辑数据。
在一些实施例中,所述获取待编辑地形的第一目标编辑数据,包括:
基于所述待编辑地形的地图文件,提取所述地形元素的图层;其中,所述地图文件包含至少一个图层,所述至少一个图层包含所述地形元素的图层,所述地形元素的图层用于指示所述地形元素的区域;
基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线;
将所述表述曲线导出为json数据描述文件,以作为所述地形元素的目标曲线描述数据。
在一些实施例中,所述地形元素包括山体元素,所述基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线,包括:
基于所述山体元素的图层中所述山体元素的区域信息,提取所述山体元素的外轮廓曲线,以作为所述山体元素的表述曲线。
在一些实施例中,所述地形元素包括河流元素,所述基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线,包括:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线,包括:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的初步中轴线,其中,所述初步中轴线包含多个曲线控制点;
对所述初步中轴线上的曲线控制点进行采样,得到所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述第一目标编辑数据还包含所述山体元素的图层,所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的走向,得到所述待编辑地形的初步样式地形;
基于所述山体元素的图层的控制节点,调整所述初步样式地形上的所述山体元素的高度、噪声中的至少一者,得到所述目标样式地形。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图8所示,电子设备800还包括:触控显示屏803、射频电路804、音频电路805、输入单元806以及电源807。其中,处理器801分别与触控显示屏803、射频电路804、音频电路805、输入单元806以及电源807电性连接。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏803可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏803可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器801,并能接收处理器801发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器801以确定触摸事件的类型,随后处理器801根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏803而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏803也可以作为输入单元806的一部分实现输入功能。
射频电路804可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
音频电路805可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路805可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路805接收后转换为音频数据,再将音频数据输出处理器801处理后,经射频电路804以发送给比如另一电子设备,或者将音频数据输出至存储器802以便进一步处理。音频电路805还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
输入单元806可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源807用于给电子设备800的各个部件供电。可选的,电源807可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源807还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图8中未示出,电子设备800还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的电子设备可以带来如下技术效果:通过获取包含地形元素的曲线控制点的位置的目标曲线描述数据,用于生成地形元素的目标控制曲线,由于生成的目标控制曲线上携带有地形元素的曲线控制点,因此,可以基于目标控制曲线上的曲线控制点根据需求随意调整目标控制曲线的走向,从而实现调整地形要素的走向;由此,当地形导入至游戏引擎中后,可以实现在游戏引擎中生成地形元素的目标控制曲线,基于目标控制曲线上的曲线控制点对地形要素的走向进行调整,从而直接在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,极大地减少地形的修改时间,提高了地形的修改实时性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种地形处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
在一些实施例中,所述地形元素包括山体元素,所述目标曲线描述数据包括山体元素的第一曲线描述数据,所述第一曲线描述数据包含所述山体元素的位置和所述山体元素的曲线控制点的位置;
所述基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,包括:
基于所述山体元素的位置和所述山体元素的曲线控制点的位置,生成所述山体元素的第一控制曲线,其中,所述第一控制曲线包含所述山体元素的多个曲线控制点;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述第一控制曲线上的各曲线控制点,调整所述待编辑地形上的所述山体元素的走向,得到所述目标样式地形。
在一些实施例中,所述地形元素包括河流元素,所述目标曲线描述数据包括河流元素的第二曲线描述数据,所述第二曲线描述数据包含所述河流元素的位置和所述河流元素的曲线控制点的位置;
所述基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,包括:
基于所述河流元素的位置和所述河流元素的曲线控制点的位置,生成所述河流元素的第二控制曲线,其中,第二控制曲线包含所述河流元素的多个曲线控制点;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述第二控制曲线上的各曲线控制点,调整所述待编辑地形上的所述河流元素的走向,得到所述目标样式地形。
在一些实施例中,所述获取待编辑地形的第一目标编辑数据,包括:
获取所述待编辑地形的共享磁盘中存储的共享编辑数据,以作为所述第一目标编辑数据;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形之后,还包括:
获取所述目标样式地形的第二目标编辑数据,其中,所述第二目标编辑数据包含所述地形元素的样式调整后的曲线描述数据;
基于所述第二目标编辑数据更新所述共享磁盘中的共享编辑数据。
在一些实施例中,所述获取待编辑地形的第一目标编辑数据,包括:
基于所述待编辑地形的地图文件,提取所述地形元素的图层;其中,所述地图文件包含至少一个图层,所述至少一个图层包含所述地形元素的图层,所述地形元素的图层用于指示所述地形元素的区域;
基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线;
将所述表述曲线导出为json数据描述文件,以作为所述地形元素的目标曲线描述数据。
在一些实施例中,所述地形元素包括山体元素,所述基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线,包括:
基于所述山体元素的图层中所述山体元素的区域信息,提取所述山体元素的外轮廓曲线,以作为所述山体元素的表述曲线。
在一些实施例中,所述地形元素包括河流元素,所述基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线,包括:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线,包括:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的初步中轴线,其中,所述初步中轴线包含多个曲线控制点;
对所述初步中轴线上的曲线控制点进行采样,得到所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
在一些实施例中,所述第一目标编辑数据还包含所述山体元素的图层,所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的走向,得到所述待编辑地形的初步样式地形;
基于所述山体元素的图层的控制节点,调整所述初步样式地形上的所述山体元素的高度、噪声中的至少一者,得到所述目标样式地形。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由此,本实施例提供的计算机可读存储介质可以带来如下技术效果:通过获取包含地形元素的曲线控制点的位置的目标曲线描述数据,用于生成地形元素的目标控制曲线,由于生成的目标控制曲线上携带有地形元素的曲线控制点,因此,可以基于目标控制曲线上的曲线控制点根据需求随意调整目标控制曲线的走向,从而实现调整地形要素的走向;由此,当地形导入至游戏引擎中后,可以实现在游戏引擎中生成地形元素的目标控制曲线,基于目标控制曲线上的曲线控制点对地形要素的走向进行调整,从而直接在游戏引擎中直接对地形进行修改,无需重复将地形导入游戏引擎,极大地减少地形的修改时间,提高了地形的修改实时性。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种地形处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种地形处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种地形处理方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种地形处理方法,其特征在于,包括:
获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
2.如权利要求1所述的地形处理方法,其特征在于,所述地形元素包括山体元素,所述目标曲线描述数据包括山体元素的第一曲线描述数据,所述第一曲线描述数据包含所述山体元素的位置和所述山体元素的曲线控制点的位置;
所述基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,包括:
基于所述山体元素的位置和所述山体元素的曲线控制点的位置,生成所述山体元素的第一控制曲线,其中,所述第一控制曲线包含所述山体元素的多个曲线控制点;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述第一控制曲线上的各曲线控制点,调整所述待编辑地形上的所述山体元素的走向,得到所述目标样式地形。
3.如权利要求1所述的地形处理方法,其特征在于,所述地形元素包括河流元素,所述目标曲线描述数据包括河流元素的第二曲线描述数据,所述第二曲线描述数据包含所述河流元素的位置和所述河流元素的曲线控制点的位置;
所述基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,包括:
基于所述河流元素的位置和所述河流元素的曲线控制点的位置,生成所述河流元素的第二控制曲线,其中,第二控制曲线包含所述河流元素的多个曲线控制点;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述第二控制曲线上的各曲线控制点,调整所述待编辑地形上的所述河流元素的走向,得到所述目标样式地形。
4.如权利要求1所述的地形处理方法,其特征在于,所述获取待编辑地形的第一目标编辑数据,包括:
获取所述待编辑地形的共享磁盘中存储的共享编辑数据,以作为所述第一目标编辑数据;
所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形之后,还包括:
获取所述目标样式地形的第二目标编辑数据,其中,所述第二目标编辑数据包含所述地形元素的样式调整后的曲线描述数据;
基于所述第二目标编辑数据更新所述共享磁盘中的共享编辑数据。
5.如权利要求1所述的地形处理方法,其特征在于,所述获取待编辑地形的第一目标编辑数据,包括:
基于所述待编辑地形的地图文件,提取所述地形元素的图层;其中,所述地图文件包含至少一个图层,所述至少一个图层包含所述地形元素的图层,所述地形元素的图层用于指示所述地形元素的区域;
基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线;
将所述表述曲线导出为json数据描述文件,以作为所述地形元素的目标曲线描述数据。
6.如权利要求5所述的地形处理方法,其特征在于,所述地形元素包括山体元素,所述基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线,包括:
基于所述山体元素的图层中所述山体元素的区域信息,提取所述山体元素的外轮廓曲线,以作为所述山体元素的表述曲线。
7.如权利要求5所述的地形处理方法,其特征在于,所述地形元素包括河流元素,所述基于所述地形元素的图层中所述地形元素的区域信息,获取所述地形元素的表述曲线,包括:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
8.如权利要求7所述的地形处理方法,其特征在于,所述基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的目标中轴线,以作为所述河流元素的表述曲线,包括:
基于所述河流元素的图层中所述河流元素的区域信息,提取所述河流元素的初步中轴线,其中,所述初步中轴线包含多个曲线控制点;
对所述初步中轴线上的曲线控制点进行采样,得到所述河流元素的目标中轴线,以作为所述河流元素的表述曲线。
9.如权利要求1-8任一项所述的地形处理方法,其特征在于,所述第一目标编辑数据还包含所述山体元素的图层,所述基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形,包括:
基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的走向,得到所述待编辑地形的初步样式地形;
基于所述山体元素的图层的控制节点,调整所述初步样式地形上的所述山体元素的高度、噪声中的至少一者,得到所述目标样式地形。
10.一种地形处理装置,其特征在于,包括:
获取单元,用于获取待编辑地形的第一目标编辑数据,其中,所述第一目标编辑数据包含至少一个地形元素的目标曲线描述数据,所述目标曲线描述数据包含所述地形元素的曲线控制点的位置;
生成单元,用于基于所述地形元素的目标曲线描述数据,生成所述地形元素的目标控制曲线,其中,所述目标控制曲线包含所述地形元素的曲线控制点;
调整单元,用于基于所述目标控制曲线上的曲线控制点,调整所述待编辑地形上的所述地形元素的样式,得到所述待编辑地形的目标样式地形。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~9任一项所述的地形处理方法中的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~9任一项所述的地形处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210735610.0A CN115222904A (zh) | 2022-06-27 | 2022-06-27 | 地形处理方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210735610.0A CN115222904A (zh) | 2022-06-27 | 2022-06-27 | 地形处理方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222904A true CN115222904A (zh) | 2022-10-21 |
Family
ID=83610393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210735610.0A Pending CN115222904A (zh) | 2022-06-27 | 2022-06-27 | 地形处理方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222904A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115770394A (zh) * | 2023-02-10 | 2023-03-10 | 广州美术学院 | 基于hapi实现的蓝图化插件应用方法 |
-
2022
- 2022-06-27 CN CN202210735610.0A patent/CN115222904A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115770394A (zh) * | 2023-02-10 | 2023-03-10 | 广州美术学院 | 基于hapi实现的蓝图化插件应用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147231B (zh) | 组合特效生成方法、装置及存储介质 | |
CN108537889A (zh) | 增强现实模型的调整方法、装置、存储介质和电子设备 | |
CN111240673B (zh) | 互动图形作品生成方法、装置、终端及存储介质 | |
CN110517319A (zh) | 一种相机姿态信息确定的方法及相关装置 | |
CN109905754A (zh) | 虚拟礼物收取方法、装置及存储设备 | |
CN108694073B (zh) | 虚拟场景的控制方法、装置、设备及存储介质 | |
CN113350793B (zh) | 一种界面元素设置方法、装置、电子设备和存储介质 | |
CN108139895A (zh) | 字体字型预览 | |
CN113760362A (zh) | 应用程序的移植方法、装置、设备及介质 | |
CN115222904A (zh) | 地形处理方法、装置、电子设备和可读存储介质 | |
CN117274475A (zh) | 光晕效果的渲染方法、装置、电子设备和可读存储介质 | |
CN111443858B (zh) | 应用界面的显示方法、装置、终端及存储介质 | |
CN113436346A (zh) | 三维空间内的测距方法、装置及存储介质 | |
CN108009274A (zh) | 文件合并方法及移动终端 | |
CN115944923A (zh) | 实例对象编辑方法、装置、电子设备和存储介质 | |
CN114564101A (zh) | 一种三维界面的控制方法和终端 | |
CN112348955B (zh) | 一种物体渲染方法 | |
CN115222867A (zh) | 重叠检测方法、装置、电子设备和存储介质 | |
CN113018865A (zh) | 攀爬线生成方法、装置、计算机设备及存储介质 | |
CN111541742B (zh) | 数据传输方法及装置 | |
CN113554760B (zh) | 一种换装方法、装置、计算机设备和存储介质 | |
CN117274470A (zh) | 虚拟载具的渲染方法、装置、电子设备和可读存储介质 | |
CN118001740A (zh) | 虚拟模型的处理方法、装置、计算机设备及存储介质 | |
CN117333573A (zh) | 基于aigc的图像光影处理方法、装置、设备及存储介质 | |
CN117893704A (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 |