CN113744399B - 地形分层数据处理方法、装置、设备及机器可读储存介质 - Google Patents
地形分层数据处理方法、装置、设备及机器可读储存介质 Download PDFInfo
- Publication number
- CN113744399B CN113744399B CN202111056496.0A CN202111056496A CN113744399B CN 113744399 B CN113744399 B CN 113744399B CN 202111056496 A CN202111056496 A CN 202111056496A CN 113744399 B CN113744399 B CN 113744399B
- Authority
- CN
- China
- Prior art keywords
- layer
- value
- hierarchy
- layered
- layering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种地形分层数据处理方法、装置、设备及机器可读储存介质,包括:确定新生成的第一分层的层值以及被覆盖在所述第一分层下面的至少一个第二分层的层值,其中,待编辑的体素地形包括多个分层,每个分层的层值包括权重以及像素值;基于各个层之间的覆盖顺序,对至少一个所述第二分层的权重以及所述第一分层的权重进行归一化处理;基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。可以及时的预览到混合后的效果,并且该预览效果可以有效的显示出各个分层之间的覆盖顺序,提升了用户体验。
Description
技术领域
本申请涉及图形数据处理技术领域,尤其是涉及一种地形分层数据处理方法、装置、设备及机器可读储存介质。
背景技术
现时,主流三维游戏一般都需要庞大、精致的游戏世界(game world),,该游戏世界还可以称为游戏关卡(game level)、游戏舞台game stage、游戏场景等等。所谓的游戏世界,不单指玩家可见的三维渲染环境,也包含游戏性系统(游戏机制、物理碰撞、人工智能等)所需的虚拟环境。
多数三维游戏使用三维三角形网格(3D triangle mesh)建构大部分的游戏世界,包括地形、建筑、植被及其他静态物件。一些以自然户外环境为主的游戏,会使用到高度场(height field)去表示地形;一些室内为主的游戏,会使用构造实体几何(constructivesolid geometry,CSG)技术去建构基本的室内环境。
游戏世界的制作占总制作成本的一大部分,而随着游戏平台的性能提升,以及游戏内容需求的膨胀,游戏世界的制作成本也因应不断提高。以上的制作方法都各有优缺点。三维网格是合乎当代硬件的游戏世界表示方式,也是较自由的建模方式,而且有成熟的数字创作工具(digital content creation tool)如3ds Max(一种三维制作软件)和Maya(一种三维制作软件)。但其缺点包括建模成本高、仅为表面表示方式(可能无法判断一个任意点在其外还是其内)、不容易修改、不容易做连续或离散级数的细致程度(level ofdetail,LOD)等。高度场和BSP的制作成本较网格低,而且较容易修改和实现LOD,但其适用场合就非常局限。
Houdini(电影特效魔术师,三维计算机图形软件)拥有许多成熟便利的处理方案,能提高工作效率与解决一些美术技术方案需求,也是目前主流三维软件(如Maya,max,blender等)中唯一同时具有足够丰富的场景编辑工具链的三维软件,比如地形地貌演算,植被模型的散布集群摆放,自动化工具流程等。在需要大世界场景的项目立项之初,很自然会想到接入Houdini作为功能拓展口。
在目前的三维制作软件中,通过会使用分层来对体素地形进行编辑,并且为了保证每个层都能储存足够的数据,分层数据一般不会设置过多的约束条件,这也造成了在需要对层进行混合时,每次都需要手动输入一些混合逻辑,但是随着需要混合的层数的增多,操作变得越来越复杂,调整过程对运算资源的消耗也越来越多。
发明内容
有鉴于此,本申请的目的在于提供一种地形分层数据处理方法、装置、设备及机器可读储存介质,以缓解现有技术中存在的对分层数据进行归一化的计算过程复杂的技术问题。
第一方面,本申请实施例提供了一种地形分层数据处理方法。包括:
确定新生成的第一分层的层值以及被覆盖在所述第一分层下面的至少一个第二分层的层值,其中,待编辑的体素地形包括多个分层,每个分层的层值包括权重以及像素值;
基于各个层之间的覆盖顺序,对至少一个所述第二分层的权重以及所述第一分层的权重进行归一化处理;
基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。
在一些可选的实现中,对至少一个所述第二分层的权重以及所述第一分层的权重进行归一化处理,包括:
确定所述第一分层覆盖的每个体素点对应于所述第二分层的权重;
基于第一分层覆盖的每个体素点中同一个体素点对应所述第二分层的权重和对应所述第一分层的权重进行归一化处理,得到该体素点对应所述第二分层的归一化后的权重和对应所述第一分层的归一化后的权重。
在一些可选的实现中,所述基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像,包括:
基于所述第一分层覆盖的每个体素点对应所述第二分层的像素值和归一化后的权重,以及对应所述第一分层的像素值和归一化后的权重,确定所述第一分层覆盖的每个体素点对应的预览像素值;
与所述第一分层覆盖的每个体素点对应的预览像素值生成预览图像。
在一些可选的实现中,还包括:
响应于针对选中的第三分层的栈顶操作,确定选中的第三分层的层值、排在所述第三分层下面的至少一个第四分层的层值以及排在所述第三分层上面的至少一个第五分层的层值;所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值为经过归一化处理后的层值;
将所述第三分层作为最上层,确定新的覆盖顺序;
基于所述新的覆盖顺序,重新对所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值进行归一化处理;
基于重新归一化处理后的所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值生成预览图像。
在一些可选的实现中,所述待编辑的体素地形的数据基于Vex语言记录,所述方法还包括:
通过Python语言记录所述待编辑的体素地形包括多个分层的层值变化。
在一些可选的实现中,还包括:
响应针对所述待编辑的体素地形的调用操作,确定Python语言下的多个分层的最新层值;
基于所述Python语言下的多个分层的最新层值,调整Vex语言下的多个分层的层值;
返回调整后的Vex语言下的多个分层的层值。
在一些可选的实现中,还包括:
对所述多个分层中的每个分层对应的贴图进行着色处理,确定每个分层的像素值;其中,一个分层对应一种颜色。
在一些可选的实现中,还包括:为所述多个分层中的每个分层添加标签信息。
在一些可选的实现中,所述标签信息包括标签颜色;所述方法还包括:
基于所述多个分层中的每个分层对应的贴图通过块映射函数确定每个分层的标签信息。
第二方面,提供了一种地形分层数据处理装置。包括:
确定模块,用于确定新生成的第一分层的层值以及被覆盖在所述第一分层下面的至少一个第二分层的层值,其中,待编辑的体素地形包括多个分层,每个分层的层值包括权重以及像素值;
归一化模块,用于基于各个层之间的覆盖顺序,对至少一个所述第二分层的权重以及所述第一分层的权重进行归一化处理;
预览模块,用于基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。
在一些可选的实现中,所述归一化模块具体用于:
确定所述第一分层覆盖的每个体素点对应于所述第二分层的权重;
基于第一分层覆盖的每个体素点中同一个体素点对应所述第二分层的权重和对应所述第一分层的权重进行归一化处理,得到该体素点对应所述第二分层的归一化后的权重和对应所述第一分层的归一化后的权重。
在一些可选的实现中,所述预览模块具体用于:
基于所述第一分层覆盖的每个体素点对应所述第二分层的像素值和归一化后的权重,以及对应所述第一分层的像素值和归一化后的权重,确定所述第一分层覆盖的每个体素点对应的预览像素值;
与所述第一分层覆盖的每个体素点对应的预览像素值生成预览图像。
在一些可选的实现中,还包括栈顶模块,用于:
响应于针对所述第三分层的栈顶操作,确定选中的第三分层的层值、排在所述第三分层下面的至少一个第四分层的层值以及排在所述第三分层上面的至少一个第五分层的层值;所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值为经过归一化处理后的层值;
将所述第三分层作为最上层,确定新的覆盖顺序;
基于所述新的覆盖顺序,重新对所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值进行归一化处理;
基于重新归一化处理后的所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值生成预览图像。
在一些可选的实现中,所述待编辑的体素地形的数据基于Vex语言记录,所述装置还包括记录模块,用于:
通过Python语言记录所述待编辑的体素地形包括多个分层的层值变化。
在一些可选的实现中,还包括,调用模块,用于:
响应针对所述待编辑的体素地形的调用操作,确定Python语言下的多个分层的最新层值;
基于所述Python语言下的多个分层的最新层值,调整Vex语言下的多个分层的层值;
返回调整后的Vex语言下的多个分层的层值。
在一些可选的实现中,还包括,着色模块用于:
对所述多个分层中的每个分层对应的贴图进行着色处理,确定每个分层的像素值;其中,一个分层对应一种颜色。
在一些可选的实现中,还包括添加模块,用于:为所述多个分层中的每个分层添加标签信息。
在一些可选的实现中,所述标签信息包括标签颜色;所述装置确定模块还用于:
基于所述多个分层中的每个分层对应的贴图通过块映射函数确定每个分层的标签信息。
地形分层数据处理地形分层数据处理。
第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
第四方面,本申请实施例还提供了一种机器可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行已完成上述第一方面所述方法。
本申请提供了一种地形分层数据处理方法、装置、设备及机器可读储存介质,通过确定新生成的第一分层的层值以及被覆盖在第一分层下面的至少一个第二分层的层值;基于各个层之间的覆盖顺序,对至少一个所述第二分层的权重以及所述第一分层的权重进行归一化处理;基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。这样在生成新的分层后,可以及时的预览到混合后的效果,并且该预览效果可以有效的显示出各个分层之间的覆盖顺序,提升了用户体验。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种地形分层数据处理方法的流程图;
图2为本申请实施例提供的一种地形分层数据处理方法的编辑界面示意图;
图3为本申请实施例提供的一种拉选不同层级内容生成节点的界面示意图;
图4为本申请实施例提供的一种地形分层数据处理装置的示意图;
图5为本申请实施例提供的另一种地形分层数据处理装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
考虑到三维设计软件由于拥有许多成熟便利的处理方案,也是目前主流三维软件中Houdini(一种三维设计软件)是唯一同时具有足够丰富的场景编辑工具链的三维软件,诸如地形地貌演算、植被模型的散布集群摆放、自动化工具流程等。而弥赛亚引擎架构(Messiah Server,可以简称为Messiah)由于其独有的资源格式,在与其它软件间进行交互时需要编写定制的输入输出接口,因此无法直接与Houdini进行交互。因此目前对Messiah现有的场景地形进行处理时,通常需要美术人员通过手动的方式进行地形编辑。然而,目前的场景地形处理的方式,经常给美术人员带来大量的重复工作,导致地形处理的效率不高,且用户体验度不高。基于此,本申请实施例提供了一种地形分层数据处理方法、装置、电子终端和机器可读存储介质,提升了美术人员在进行场景处理时的处理效率和使用便捷度,进而有效提高了用户体验。
为便于理解,首先对本申请实施例提供的一种地形分层数据处理方法进行详细说明,图1为本申请实施例提供的一种地形分层数据处理方法流程示意图。通过终端提供图形用户界面,该图形用户界面中包括地形编辑界面,该地形编辑界面中包括待编辑的体素地形。例如,该方法可以应用于可运行三维设计软件的终端设备,该图形用户界面可以为三维设计软件提供的交互界面。其中,该三维设计软件可以为Houdini,如图1所示,该方法可以主要包括如下步骤:
S110,确定新生成的第一分层的层值以及被覆盖在第一分层下面的至少一个第二分层的层值。
在本申请实施例中,该分层通常用于存储待编辑的体素地形的属性信息,该属性信息一般以层值体现。其中,该体素地形为由体素结构构成的地形,在该体素地形的表面可以覆盖分层,以便为该体素地形赋予不同的属性,该分层可以理解为覆盖在体素地形的表面上的贴图。
其中,待编辑的体素地形可以包括多个分层,每个分层的层值可以包括权重以及像素值。该层值还可以包括强度。
对于覆盖在体素地形上的多个分层之间存在覆盖顺序,该覆盖顺序可以用于指示各个分层之间的显示关系。该显示关系可以通过权重来实现。其中,位于上层的分层的分层贴图在预览或者混合时,可以覆盖掉位于下层的分层的贴图。
S120,基于各个层之间的覆盖顺序,对至少一个第二分层的权重以及第一分层的权重进行归一化处理。
在本申请实施例中,该各个分层贴图与体素地形的体素点之间存在对应关系,每个体素点可以对应一个或多个分层贴图上的像素点,通过融合该体素点对应的各个分层贴图上的像素点得到该体素点的像素值。该融合过程需要基于权重进行。在融合之前可以先对权重进行归一化处理,以便使得融合得到的融合贴图能够体现新增加的分层与其他分层之间的位置关系。
在一些实施例中,可以基于如下过程进行归一化处理:确定第一分层覆盖的每个体素点对应于第二分层的权重;基于第一分层覆盖的每个体素点中同一个体素点对应第二分层的权重和对应第一分层的权重进行归一化处理,得到该体素点对应第二分层的归一化后的权重和对应第一分层的归一化后的权重。
S130,基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。
在新增加分层后,为了可以更快速准确的确定增加后的效果,可以基于归一化后的层值进行贴图融合,得到融合贴图,在预览界面显示该融合贴图可以确定融合后的效果。
在一些实施例中,可以基于如下过程进行预览:基于第一分层覆盖的每个体素点对应第二分层的像素值和归一化后的权重,以及对应第一分层的像素值和归一化后的权重,确定第一分层覆盖的每个体素点对应的预览像素值;与第一分层覆盖的每个体素点对应的预览像素值生成预览图像。
通过本申请实施例,在生成新的分层后,可以及时的预览到混合后的效果,并且该预览效果可以有效的显示出各个分层之间的覆盖顺序,提升了用户体验。
在一些实施例中,该可以调整预览效果,例如,可以对一些层进行栈顶操作。基于此,该方法还可以包括如下步骤:
步骤1),响应于针对第三分层的栈顶操作,确定选中的第三分层的层值、排在第三分层下面的至少一个第四分层的层值以及排在第三分层上面的至少一个第五分层的层值;第三分层的层值、第四分层的层值以及第五分层的层值为经过归一化处理后的层值;
步骤2),将第三分层作为最上层,确定新的覆盖顺序;
步骤3),基于新的覆盖顺序,重新对第三分层的层值、第四分层的层值以及第五分层的层值进行归一化处理;
步骤4),基于重新归一化处理后的第三分层的层值、第四分层的层值以及第五分层的层值生成预览图像。
其中,这里的第三分层、第四分层和第五分层指代的多个分层可以与前述第一分层和第二分层指代的多个分层相同,也可以指代更多或更少的分层。
通过上述步骤,可以对选中的分层进行突出显示,虽然该选中的分层可能被其他分层所覆盖,但是,可以通过调整覆盖顺序以便能够预览到整个被选中的分层的样子,用户体验更好。其中,该新的覆盖顺序可以仅用于预览,并不影响原有的分层之间的覆盖关系。
在一些实施例中,Vex语言在地形采样计算上有多线程优势,因此,本申请实施例提供的方法也是利用Vex语言对目标地形的分层数据进行采样,但是由于采样得到的多个分层数据的数量与名称都不能确定,导致在Vex中修改特定的地形分层数据会变得比较困难。本申请实施例提供的方法,对于利用Vex语言采样得到的目标地形的多个分层数据,先通过Python语言记录多个分层数据的参数变化,并基于参数变化,调整与多个分层数据对应的Vex语言下的参数信息,最后记录下的参数信息即为属性信息,这样当后面的节点(即分层数据)需要填写一样的属性或导出时要调用分层数据时,就不必重新填写,加快了执行效率。
作为一个示例,该待编辑的体素地形的数据基于Vex语言记录,为了提升运算效率,降低运算成本,该方法还可以包括:通过Python语言记录待编辑的体素地形包括多个分层的层值变化;响应针对待编辑的体素地形的调用操作,确定Python语言下的多个分层的最新层值;基于Python语言下的多个分层的最新层值,调整Vex语言下的多个分层的层值;返回调整后的Vex语言下的多个分层的层值。
在一些实施例中,该分层对应的分层贴图可以通过自动着色确定像素值,该自动着色可以区别不同层即可。基于此,该方法还可以包括:对多个分层中的每个分层对应的贴图进行着色处理,确定每个分层的像素值;其中,一个分层对应一种颜色。
另外,还可以为多个分层中的每个分层添加标签信息。在一些实施例中,该标签信息包括标签颜色,还可以包括编号。对于标签的颜色,可以进行设置,也可以通过如下步骤来获取:基于多个分层中的每个分层对应的贴图通过块映射函数确定每个分层的标签信息。
作为一个示例,可以通过蒙版操作实现对分层数据进行局部处理,以确定第一分层。例如,可以通过蒙版操作,在标签信息为layer1的分层所对应的贴图中,选择目标区域,并将目标区域对应的数据(主要是贴图与体素点之间的对应关系)进行拷贝,并添加标签信息为layer2得到新的第一分层,以及为标签信息为layer2的第一分层进行着色,以便于标签信息为layer1的分层进行区分。然后可以对标签信息为layer1的分层的层值与标签信息为layer2的层值进行归一化处理,以此实现对分层数据的局部进行操作的目的。
其中,为了在图形用户界面中便于区分每个分层,可以为每个分层设置一种对应的颜色。可选地,可以为每一个分层对应与一张新的贴图,然后再将每个分层对应的贴图进行着色处理,该贴图可以通过块映射函数(Blockmap)确定,也可以通过简单的着色用以区分每个不同的区域。
考虑到作为美术人员,可能需要手动在视图调整效果,为了提高便利性与高效的交互体验,并且尽量简化操作与减少不必要的计算量。图2示出了应用于运行有Houdini的终端设备上一种地形编辑处理的编辑界面示意图,左边为地形编辑区域,用于展示当前的场景地形,该场景地形诸如可以为游戏场景的大场景地形。图2中右边为节点选择区域,用于匹配当前待处理地形所处的节点。从图中可知,节点包含有子节点,也即本申请实施例的节点通过层级树的方式,可以快速浏览已有场景、分级、场景实体(Entity)等信息,并对选择的内容进行导入、编辑、更新导出。美术人员可以根据实际处理的需求选择对应的节点即可。
为便于理解,示例出一种通过拉选不同层级内容生成交互节点的界面示意图,参见图3所示,该界面也能通过拉选不同的层级内容用于在指定netword位置快速生成节点,封装节点。由于每个资源的相关参数较多,因此通过拖选生成节点并预设好调配参数,能尽量简化操作让美术甚至不需要了解这些参数就能直接快速上手使用各个交互节点,不再需要手动在节点上配置路径。
Hoduini的分层数据(该分层数据包括层值)并不像游戏引擎中的分层那样,为了保证每个层都能储存足够的数据,就算在导出混合贴图时也不会对要导出的分层进行归一化(所有需要导出的混合权重相加值等于一)处理,可以通过vex代码管理完成归一化处理计算,但当需要计算的层数不断上升时,每次都需要手动输入需要处理的混合层,操作量就会变得非常大,毕竟要为十余个不同命名的混合层一层层检测并调整数值,仅仅是代码量就非常“可观”。
另一方面在houdini中无法直观显示混合分层的数值最终的混合结果在引擎内是否能达到美术理想的混合效果,因此在完成混合调整后如果不能直观预览,则美术需要将结果导入到引擎再查看地形贴图的混合结果,因此也需要在Houdini内就对最终混合结果进行预览的功能。
在本申请实施例中,可以通过Houdini cop(一种工具)采样待编辑的体素地形上的分层数据,可以根据混合结果生成一张新的贴图,贴图可以通过Blockmap并指定每个分层的ID(例如,layer1、layer2等)进行着色,如果不想使用Blockmap着色,也能通过简单着色用以区别每个不同的区域。
还可以对选中的分层们进行归一化处理。
例如,在对地形进行局部处理过程中,可以蒙版一部分区域,拷贝并将蒙版区域添加到layer2中,在进行归一化处理之前,由于添加的值使该位置的层值相加后超过1,使得颜色有些许泛白(过亮)。此时可以对所有选择的层进行归一化处理,该归一化处理可以通过归一化控件触发,在原先蒙版的区域中的layer0的值被layer2所覆盖,同时,像道路的分层(layer9)比当前处理的层(layer2)排在更后面叠加上,因此道路的分层不会受影响。
这样可以保证美术在houdini里处理分层时能有更明确的思路管理,减少导出时需要调整归一化分层的麻烦,也使得在houdini中就能对最终生成的地形混合结果有了更清晰的感受。
图4是根据本申请实施例提供的一种地形分层数据处理装置的示意图。如图4所示,该地形分层数据处理装置包括:
确定模块401,用于确定新生成的第一分层的层值以及被覆盖在第一分层下面的至少一个第二分层的层值,其中,待编辑的体素地形包括多个分层,每个分层的层值包括权重以及像素值;
归一化模块402,用于基于各个层之间的覆盖顺序,对至少一个第二分层的权重以及第一分层的权重进行归一化处理;
预览模块403,用于基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。
在一些实施例中,归一化模块401具体用于:
确定第一分层覆盖的每个体素点对应于第二分层的权重;
基于第一分层覆盖的每个体素点中同一个体素点对应第二分层的权重和对应第一分层的权重进行归一化处理,得到该体素点对应第二分层的归一化后的权重和对应第一分层的归一化后的权重。
在一些实施例中,预览模块403具体用于:
基于第一分层覆盖的每个体素点对应第二分层的像素值和归一化后的权重,以及对应第一分层的像素值和归一化后的权重,确定第一分层覆盖的每个体素点对应的预览像素值;
与第一分层覆盖的每个体素点对应的预览像素值生成预览图像。
在一些实施例中,还包括栈顶模块,用于:
响应于针对第三分层的栈顶操作,确定选中的第三分层的层值、排在第三分层下面的至少一个第四分层的层值以及排在第三分层上面的至少一个第五分层的层值;第三分层的层值、第四分层的层值以及第五分层的层值为经过归一化处理后的层值;
将第三分层作为最上层,确定新的覆盖顺序;
基于新的覆盖顺序,重新对第三分层的层值、第四分层的层值以及第五分层的层值进行归一化处理;
基于重新归一化处理后的第三分层的层值、第四分层的层值以及第五分层的层值生成预览图像。
在一些实施例中,待编辑的体素地形的数据基于Vex语言记录,该装置还包括记录模块,用于:
通过Python语言记录待编辑的体素地形包括多个分层的层值变化。
在一些实施例中,还包括调用模块用于:
响应针对待编辑的体素地形的调用操作,确定Python语言下的多个分层的最新层值;
基于Python语言下的多个分层的最新层值,调整Vex语言下的多个分层的层值;
返回调整后的Vex语言下的多个分层的层值。
在一些实施例中,还包括着色模块用于:
对多个分层中的每个分层对应的贴图进行着色处理,确定每个分层的像素值;其中,一个分层对应一种颜色。
在一些实施例中,还包括添加模块用于:为多个分层中的每个分层添加标签信息。
在一些实施例中,标签信息包括标签颜色;确定模块还用于:
基于多个分层中的每个分层对应的贴图通过块映射函数确定每个分层的标签信息。
本申请实施例提供了一种地形分层数据处理装置,通过将多个分层数据的参数变化,记录为多个分层数据的属性信息;然后基于多个分层数据的属性信息,对多个分层数据进行归一化处理。这样在分层数据需要填写一样的属性后者在导出时要调用分层数据时就不必重复填写参数变化,加快了对地形分层数据进行归一化操作的执行效率,缓解了现有技术中存在的对分层数据进行归一化的计算过程复杂的技术问题。同时可以在提供的可视化界面上,对于选定的分层数据可以进行混合和渲染,并预览最终的渲染效果,可以让用户在导入到游戏引擎之前,在三维图形软件中就可以对地形的分层数据的最终效果有一个直观的显示,这样可以保证美术在Houdini里处理分层时能有更明确的思路管理,减少导出时需要调整归一化分层的麻烦,也使得在Houdini中就能对最终生成的地形混合结果有了更清晰的感受。
本申请实施例所提供的地形分层数据处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,地形分层数据处理装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本实施例的电子终端诸如可以为智能手机、PC电脑以及笔记本电脑等等。图5示出了一种电子终端的结构示意图,该电子终端包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项的方法。
图5为本申请实施例提供的一种电子终端的结构示意图,该电子终端100包括:处理器50,存储器51,总线52和通信接口53,处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,处理器50在接收到执行指令后,执行程序,前述本申请实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
本申请实施例所提供的地形分层数据处理方法、装置、电子终端和机器可读存储介质的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统具体工作过程,可以参考前述实施例中的对应过程,在此不再赘述。
本申请实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种地形分层数据处理方法,其特征在于,包括:
确定新生成的第一分层的层值以及被覆盖在所述第一分层下面的至少一个第二分层的层值,其中,待编辑的体素地形包括多个分层,每个分层的层值包括权重以及像素值;
基于各个层之间的覆盖顺序,确定所述第一分层覆盖的每个体素点对应于所述第二分层的权重;基于第一分层覆盖的每个体素点中同一个体素点对应所述第二分层的权重和对应所述第一分层的权重进行归一化处理,得到该体素点对应所述第二分层的归一化后的权重和对应所述第一分层的归一化后的权重;
基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像。
2.根据权利要求1所述的方法,其特征在于,所述基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像,包括:
基于所述第一分层覆盖的每个体素点对应所述第二分层的像素值和归一化后的权重,以及对应所述第一分层的像素值和归一化后的权重,确定所述第一分层覆盖的每个体素点对应的预览像素值;
与所述第一分层覆盖的每个体素点对应的预览像素值生成预览图像。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于针对选中的第三分层的栈顶操作,确定所述第三分层的层值、排在所述第三分层下面的至少一个第四分层的层值以及排在所述第三分层上面的至少一个第五分层的层值;所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值为经过归一化处理后的层值;
将所述第三分层作为最上层,确定新的覆盖顺序;
基于所述新的覆盖顺序,重新对所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值进行归一化处理;
基于重新归一化处理后的所述第三分层的层值、所述第四分层的层值以及所述第五分层的层值生成预览图像。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述待编辑的体素地形的数据基于Vex语言记录,所述方法还包括:
通过Python语言记录所述待编辑的体素地形包括多个分层的层值变化。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应针对所述待编辑的体素地形的调用操作,确定Python语言下的多个分层的最新层值;
基于所述Python语言下的多个分层的最新层值,调整Vex语言下的多个分层的层值;
返回调整后的Vex语言下的多个分层的层值。
6.根据权利要求1所述的方法,其特征在于,还包括:
对所述多个分层中的每个分层对应的贴图进行着色处理,确定每个分层的像素值;其中,一个分层对应一种颜色。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:为所述多个分层中的每个分层添加标签信息。
8.根据权利要求7所述的方法,其特征在于,所述标签信息包括标签颜色;所述方法还包括:
基于所述多个分层中的每个分层对应的贴图通过块映射函数确定每个分层的标签信息。
9.一种地形分层数据处理装置,其特征在于,包括:
确定模块,用于确定新生成的第一分层的层值以及被覆盖在所述第一分层下面的至少一个第二分层的层值,其中,待编辑的体素地形包括多个分层,每个分层的层值包括权重以及像素值;
归一化模块,用于基于各个层之间的覆盖顺序,确定所述第一分层覆盖的每个体素点对应于所述第二分层的权重;基于第一分层覆盖的每个体素点中同一个体素点对应所述第二分层的权重和对应所述第一分层的权重进行归一化处理,得到该体素点对应所述第二分层的归一化后的权重和对应所述第一分层的归一化后的权重;
预览模块,用于基于归一化处理后的第一分层的层值以及归一化处理后的至少一个第二分层的层值生成预览图像地形分层数据处理。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一项所述的方法的步骤。
11.一种机器可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行已完成权利要求1-8任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056496.0A CN113744399B (zh) | 2021-09-09 | 2021-09-09 | 地形分层数据处理方法、装置、设备及机器可读储存介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056496.0A CN113744399B (zh) | 2021-09-09 | 2021-09-09 | 地形分层数据处理方法、装置、设备及机器可读储存介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113744399A CN113744399A (zh) | 2021-12-03 |
CN113744399B true CN113744399B (zh) | 2023-08-22 |
Family
ID=78737540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111056496.0A Active CN113744399B (zh) | 2021-09-09 | 2021-09-09 | 地形分层数据处理方法、装置、设备及机器可读储存介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113744399B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080018404A (ko) * | 2006-08-24 | 2008-02-28 | 한국문화콘텐츠진흥원 | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 |
WO2019036794A1 (en) * | 2017-08-23 | 2019-02-28 | Matthew Hamilton | SYSTEM AND METHODS FOR LAYERED SCENE DECOMPOSITION CODEC |
CN109472390A (zh) * | 2018-09-12 | 2019-03-15 | 郑颖尔 | 基于机器学习的规划方案智能生成方法及系统 |
CN111143620A (zh) * | 2019-12-27 | 2020-05-12 | 广州爱美互动网络科技有限公司 | 一种具体化游戏地图编辑方法、系统及存储介质 |
CN111179390A (zh) * | 2019-12-27 | 2020-05-19 | 上海咔咖文化传播有限公司 | 高效预览cg资产的方法和装置 |
CN111318022A (zh) * | 2020-03-19 | 2020-06-23 | 网易(杭州)网络有限公司 | 游戏中的游戏场景生成方法及装置、电子设备、存储介质 |
EP3770799A1 (en) * | 2019-07-24 | 2021-01-27 | Ordnance Survey Limited | A method of identifying topographic features |
CN112819926A (zh) * | 2019-10-31 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 一种数据编辑方法、装置、设备及存储介质 |
CN112907451A (zh) * | 2021-03-26 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备和存储介质 |
CN113066183A (zh) * | 2021-04-28 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 虚拟场景生成方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9805496B2 (en) * | 2014-05-27 | 2017-10-31 | Disney Enterprises, Inc. | Example based editing of virtual terrain maps |
-
2021
- 2021-09-09 CN CN202111056496.0A patent/CN113744399B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080018404A (ko) * | 2006-08-24 | 2008-02-28 | 한국문화콘텐츠진흥원 | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 |
WO2019036794A1 (en) * | 2017-08-23 | 2019-02-28 | Matthew Hamilton | SYSTEM AND METHODS FOR LAYERED SCENE DECOMPOSITION CODEC |
CN109472390A (zh) * | 2018-09-12 | 2019-03-15 | 郑颖尔 | 基于机器学习的规划方案智能生成方法及系统 |
EP3770799A1 (en) * | 2019-07-24 | 2021-01-27 | Ordnance Survey Limited | A method of identifying topographic features |
CN112819926A (zh) * | 2019-10-31 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 一种数据编辑方法、装置、设备及存储介质 |
CN111143620A (zh) * | 2019-12-27 | 2020-05-12 | 广州爱美互动网络科技有限公司 | 一种具体化游戏地图编辑方法、系统及存储介质 |
CN111179390A (zh) * | 2019-12-27 | 2020-05-19 | 上海咔咖文化传播有限公司 | 高效预览cg资产的方法和装置 |
CN111318022A (zh) * | 2020-03-19 | 2020-06-23 | 网易(杭州)网络有限公司 | 游戏中的游戏场景生成方法及装置、电子设备、存储介质 |
CN112907451A (zh) * | 2021-03-26 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备和存储介质 |
CN113066183A (zh) * | 2021-04-28 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 虚拟场景生成方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
Generating Procedural Environments using Masks Layered Image Document to Real-time environment;Emil Eldstal;《Degree Project》;第1-28页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113744399A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458930B (zh) | 三维地图的渲染方法、装置及存储介质 | |
EP0391572A2 (en) | Method for employing a hierarchical display list in global rendering | |
KR20120114253A (ko) | 객체 디자인용 사용자 인터페이스들과 관련된 개선방안 | |
CN111857717B (zh) | Ui编辑方法、装置、设备及计算机可读存储介质 | |
CN105631925A (zh) | 基于osg三维渲染引擎预处理的三维场景生成方法及装置 | |
CN112717414B (zh) | 游戏场景编辑方法、装置、电子设备以及存储介质 | |
CN114037097A (zh) | 一种基于bim模型的设备运维管理方法 | |
CN111524231B (zh) | 一种虚拟地形的处理方法及装置、电子设备、存储介质 | |
WO2023142614A1 (zh) | 游戏对象的编辑方法、装置和电子设备 | |
CN112184895A (zh) | 仿真场景建模及渲染方法、装置和设备 | |
CN110288690B (zh) | 沙盘地图中山体的生成方法及装置、存储介质、处理器 | |
CN113744399B (zh) | 地形分层数据处理方法、装置、设备及机器可读储存介质 | |
CN114119834A (zh) | 渲染方法、装置、电子设备及可读存储介质 | |
CN107485855B (zh) | 一种超大地图场景资源的存储方法及存储装置 | |
CN109745705A (zh) | 2d游戏地图编辑方法及装置 | |
CN105931284A (zh) | 三维纹理tin数据与大场景数据的融合方法及装置 | |
CN108153572A (zh) | Gis显示方法、装置和系统 | |
CN116310117A (zh) | 基于Unity3D的可视化智慧园区展示方法及系统 | |
Döllner et al. | Dynamic 3D maps as visual interfaces for spatio-temporal data | |
CN109684656A (zh) | 一种基于SolidWorks的装配约束继承方法 | |
CN115794063A (zh) | 三维模型的处理方法、装置和电子设备 | |
CN115810064A (zh) | 基于开源gis技术的地图制图与发布平台的构建方法 | |
CN109801363A (zh) | 一种倾斜摄影模型的展示方法、装置及设备 | |
KR101782816B1 (ko) | 트리맵 시각화 방법 및 그 방법을 이용하는 장치 | |
CN117421089B (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 |