CN118015194A - 模型处理方法、装置和计算机可读存储介质 - Google Patents

模型处理方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN118015194A
CN118015194A CN202410256925.6A CN202410256925A CN118015194A CN 118015194 A CN118015194 A CN 118015194A CN 202410256925 A CN202410256925 A CN 202410256925A CN 118015194 A CN118015194 A CN 118015194A
Authority
CN
China
Prior art keywords
model
sub
world space
target
patch
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
Application number
CN202410256925.6A
Other languages
English (en)
Inventor
金秋岑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202410256925.6A priority Critical patent/CN118015194A/zh
Publication of CN118015194A publication Critical patent/CN118015194A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种模型处理方法、装置和计算机可读存储介质;通过获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,可以提升模型处理效率。

Description

模型处理方法、装置和计算机可读存储介质
技术领域
本申请涉及互联网技术领域,具体涉及一种模型处理方法、装置和计算机可读存储介质。
背景技术
随着生活和科技的快速发展,人们常常会通过游戏类的应用程序进行娱乐,放松身心。在游戏场景的制作过程中,往往采用游戏引擎来制作游戏中的各种模型,例如,采用虚幻引擎5(简称UE5)来进行游戏模型的生成。在采用虚幻引擎5的虚拟几何系统(Nanite)进行模型渲染时,由于Nanite渲染已遮罩(Masked)类型的材质会产生非常高的渲染消耗,由此需要避免使用Masked类型材质的模型。然而,由于在游戏美术资产生产过程中往往需要使用大量的复用资源,需要对Masked类型材质的模型进行复用。
在对现有技术的研究和实践过程中发现,现有的模型处理方法中,往往通过传统手工建模的方式来对Masked类型材质的模型进行重新制作,以得到符合Nanite技术规范的非Masked类型材质的模型,这种方法会消耗大量的制作成本,且无法准确还原原始模型,进而使得模型处理效率较低。
发明内容
本申请实施例提供一种模型处理方法、装置和计算机可读存储介质,可以基于已遮罩类型材质的原始对象模型准确的生成对应的非已遮罩类型材质的目标对象模型,有效提升了模型处理效率。
本申请实施例提供一种模型处理方法,包括:
获取组成原始对象模型的基础子模型和多个面片子模型;
获取所述面片子模型对应的遮罩贴图;
根据所述遮罩贴图对所述面片子模型进行裁剪,得到裁剪后面片子模型;
将所述裁剪后面片子模型存储到世界空间,并归一化到所述世界空间的平面中,得到所述裁剪后面片子模型中顶点的第一世界空间坐标;
基于所述第一世界空间坐标、所述面片子模型中顶点的第一顶点信息以及UV坐标信息,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
基于所述裁剪后面片子模型中顶点对应的目标世界空间坐标、所述基础子模型、所述面片子模型以及所述UV坐标信息,生成目标对象模型。
相应的,本申请实施例提供一种模型处理装置,包括:
第一获取单元,用于获取组成原始对象模型的基础子模型和多个面片子模型;
第二获取单元,用于获取所述面片子模型对应的遮罩贴图;
裁剪单元,用于根据所述遮罩贴图对所述面片子模型进行裁剪,得到裁剪后面片子模型;
处理单元,用于将所述裁剪后面片子模型存储到世界空间,并归一化到所述世界空间的平面中,得到所述裁剪后面片子模型中顶点的第一世界空间坐标;
确定单元,用于基于所述第一世界空间坐标、所述面片子模型中顶点的第一顶点信息以及UV坐标信息,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
生成单元,用于基于所述裁剪后面片子模型中顶点对应的目标世界空间坐标、所述基础子模型、所述面片子模型以及所述UV坐标信息,生成目标对象模型。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行本申请实施例所提供的任一种模型处理方法中的步骤。
此外,本申请实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本申请实施例提供的模型处理方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行本申请实施例提供的模型处理方法中的步骤。
本申请实施例通过获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,通过在建模阶段采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,进而提升了模型处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种模型处理方法实施场景示意图;
图2是本申请实施例提供的一种模型处理方法的流程示意图;
图3a是本申请实施例提供的一种模型处理方法的原始对象模型示意图;
图3b是本申请实施例提供的一种模型处理方法的遮罩贴图示意图;
图3c是本申请实施例提供的一种模型处理方法的面片子模型处理示意图;
图3d是本申请实施例提供的一种模型处理方法的模型裁剪示意图;
图3e是本申请实施例提供的一种模型处理方法的裁剪后面片子模型示意图;
图3f是本申请实施例提供的一种模型处理方法的模型处理示意图;
图3g是本申请实施例提供的一种模型处理方法的UV贴图示意图;
图4a是本申请实施例提供的一种模型处理方法的阴影渲染示意图;
图4b是本申请实施例提供的一种模型处理方法的减面处理示意图;
图4c是本申请实施例提供的一种模型处理方法的另一减面处理示意图;
图5是本申请实施例提供的模型处理装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种模型处理方法、装置和计算机可读存储介质。其中,该模型处理装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参阅图1,以模型处理装置集成在电子设备中为例,图1为本申请实施例所提供的模型处理方法的实施场景示意图,其中,该电子设备可以为终端,也可以为服务器,该电子设备可以获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。
需要说明的是,图1所示的模型处理方法的实施环境场景示意图仅仅是一个示例,本申请实施例描述的模型处理方法的实施环境场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着数据处理的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供的方案具体通过如下实施例进行说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从模型处理装置的角度进行描述,该模型处理装置具体可以集成在电子设备中,该电子设备可以是终端和/或服务器,本申请在此不作限制。
请参阅图2,图2是本申请实施例提供的模型处理方法的流程示意图。该模型处理方法包括:
在步骤101中,获取组成原始对象模型的基础子模型和多个面片子模型。
其中,该原始对象模型可以为已遮罩(Masked)类型材质的对象模型,该对象模型可以为包括多个面片的三维模型,例如,可以为树、花、草等植被模型以及围栏等存在镂空的模型。该原始对象模型可以包括基础子模型以及面片子模型,该基础子模型可以为原始对象模型中作为基础结构的子模型,该基础子模型的材质可以为非Masked材质,比如,可以为不透明(Opaque)类型的材质。该面片子模型可以为原始对象模型中多个面片对应的子模型,该面片子模型可以为Masked材质的模型,在模型渲染阶段,可以通过预先配置的遮罩图对面片子模型进行裁剪,该遮罩图可以为根据原始对象模型所需形状创建的遮罩图,可以通过遮罩使得面片子模型呈现所需要的形状,从而可以根据多个面片子模型以及基础子模型生成特定形状的原始对象模型。在实时的渲染中,对于高面数的原始对象模型,由于模型中存在的面片数量较多,如果每一面片子模型都使用完整的建模,将会使得最终生成的模型存在有百万、千万个的顶点,从而大大增加了渲染资源的消耗,为此,为了节约渲染时间以及资源的消耗,游戏引擎中提供Masked类型的材质,可以使得高面数的模型使用较少的模型顶点,并在模型渲染阶段,通过在图形处理器(GPU)端使用一张黑白的遮罩贴图对模型中渲染的像素进行裁剪,从而可以生成具有特定形状的模型。例如,以该原始对象模型为树模型为例,由于树模型中树叶叶片较多,如果每一个叶片都使用完整的建模,将会使得模型中存在有大量的顶点,在实际的渲染过程中,不可能为每一个叶片、草地等面片都做出与现实生活中相似的模型的样式,为了节约渲染时间和资源消耗,美术人员通常会把树叶部分的面片制作成类似正方形的简单面片,然后在树枝模型上穿插摆放,以构造出简单、粗略的树形状,再在渲染阶段,通过预先配置的遮罩贴图对每一正方形的面片子模型进行裁剪,得到精细的、真实的、符合树形状的模型。其中,已遮罩类型材质的树叶模型的渲染与一般不透明材质的物体的渲染相比具有一定的特殊性,由于树中叶片对应的模型为了减少面数做成类似正方形的较少顶点数量的面片模型,然后以穿插插片的方式模拟树的形状,但是这正方形的面片显然和真实的树叶形状是不同的,因此,在游戏引擎中通过使用Masked材质创建叶片对应的面片模型,然后,通过一张携带有树叶形状的黑白的遮罩图,在正方形面片上“抠掉”多余的区域,从而实现叶片的形状。其中,遮罩图中白色部分代表保留的像素,黑色部分代表扣掉的像素。
例如,请参考图3a,图3a是本申请实施例提供的一种模型处理方法的原始对象模型示意图,在该原始对象模型为树模型时,该基础子模型可以为树模型中作为树干部分的子模型,该面片子模型可以为树模型中作为树叶部分的子模型。又例如,在该原始对象模型为花模型时,该基础子模型可以为花模型中作为枝干部分的子模型,该面片子模型可以为树模型中作为树叶部分以及花朵部分的子模型。
可选的,获取组成原始对象模型的基础子模型和多个面片子模型的方式可以有多种,例如,可以根据游戏引擎中存储的原始对象模型中每一子模型的材质命名,对原始对象模型中的基础子模型和面片子模型进行打组和区分,该游戏引擎可以为虚幻引擎5。具体的,由于模型在游戏引擎中需要不一样的材质,因此,不同材质的子模型会有不一样的命名,这些命名的信息可以记录在模型的面片信息上,从而可以根据模型的面片信息上记录的命名信息进行字符串匹配,以得到不同类型材质的基础子模型和面片子模型,例如,以原始对象模型为树模型为例,树叶部分的面片子模型的命名可以为“SM_Tree_Leaves”,树干部分的基础子模型的命名可以为“SM_Tree_Trunk”,从而可以通过查找含有”Leaves”字符串的命名信息,找到树叶部分的面片子模型,以及通过查找含有“Trunk”字符串的命名信息,找到原始对象模型中属于树干部分的基础子模型。
在步骤102中,获取面片子模型对应的遮罩贴图。
其中,该遮罩贴图可以为原始对象模型对应的遮罩图,用于在模型渲染阶段,对原始对象模型中的面片子模型进行裁剪,以使得原始对象模型中的面片子模型呈现出与符合原始对象模型匹配的形状,从而生成更加真实、准确、美观的原始对象模型。例如,请参考图3b,图3b是本申请实施例提供的一种模型处理方法的遮罩贴图示意图,在该原始对象模型为树类型的模型时,该遮罩贴图可以为如图3b所示,该遮罩贴图中可以为显示有树叶形状的黑白图,用于对面片子模型进行裁剪,以得到树叶形状的模型。
在步骤103中,根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型。
其中,该裁剪后面片子模型可以为基于遮罩贴图进行裁剪后的面片子模型。
其中,根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型的方式可以有多种,例如,可以使用Houdini(三维计算机图形软件)对每一个面片子模型进行逐面片的裁剪操作。以该原始对象模型为树模型为例,可以获取的整体的树叶部分的面片子模型,从而可以通过for循环函数单独拿取每个面片子模型,并根据遮罩贴图进行裁剪处理,由于Houdini中可以在连接的面元或点集中为它们创建一个具有唯一值的属性,通过这个唯一的属性,可以对这些拥有同一属性的面元进行统一操作,例如,以一模型由多个球体组成,想要逐个访问每个单独的球体,可以根据球体之间是否连接来对每个独立的球体分别给与不同的属性(class),这些属性信息存储在模型的面元上,从而根据模型间不同的class,可以通过for循环函数访问同一class下的每个独立的球体,同理,可以采用同样的方法对每一面片子模型进行逐面片的裁剪操作,例如,请参考图3c,图3c是本申请实施例提供的一种模型处理方法的面片子模型处理示意图,可以通过每一面片子模型的面片上存储的属性信息,采用for循环函数对所有的面片子模型进行逐个面片子模型的裁剪处理,从而得到多个裁剪后面片子模型,例如,以该原始对象模型为树模型为例,请参考图3d,图3d是本申请实施例提供的一种模型处理方法的模型裁剪示意图,可以通过树模型中每一叶片子模型的面片上存储的属性信息,采用for循环函数,根据对应的遮罩贴图逐个对每一叶片子模型进行裁剪处理,从而可以得到具有树叶形状的裁剪后面片子模型。
其中,由于在创建原始对象模型时,已经存储有遮罩贴图中每一位置和原始对象模型的面片子模型中每一位置之间的对应关系,因此,在根据遮罩贴图对面片子模型进行裁剪时,可以根据遮罩贴图和面片子模型之间的对应关系根据遮罩贴图对每一面片子模型进行裁剪。
在步骤104中,将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标。
其中,世界空间可以为多个网格公用的坐标系的坐标空间,世界空间也可以成为世界坐标空间,可以为用于描述所有其他对象空间的全局坐标空间。该世界空间的平面可以为世界空间中的坐标平面,例如,可以包括世界空间中的xy平面、xz平面以及yz平面等平面。该第一世界空间坐标可以为裁剪后面片子模型在世界空间中的坐标,该第一世界空间坐标在世界空间中处于0-1范围内。
其中,将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标的方式可以有多种,例如,可以将裁剪后面片子模型存储在世界空间中,并将裁剪后面片子模型归一化到世界空间的目标平面的0-1区间中,从而得到裁剪后面片子模型中顶点的第一世界空间坐标。可选的,该目标平面可以为世界空间中的坐标平面,例如,可以为世界空间中的xy平面、xz平面以及yz平面等平面。
在一实施例中,以该原始对象模型为树模型为例,请参考图3e,图3e是本申请实施例提供的一种模型处理方法的裁剪后面片子模型示意图,可以将裁剪后面片子模型存储到世界空间,并归一化到世界空间的xy平面的0-1区间中,以此,可以得到裁剪后面片子模型中顶点的第一世界空间坐标。
在步骤105中,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
其中,该第一顶点信息可以为面片子模型中顶点的顶点信息,模型是由顶点组成的,可以将模型的相关属性信息存储在顶点上,得到顶点的顶点信息。例如,该顶点信息可以包括顶点的UV坐标信息、顶点属性信息以及顶点在世界空间中的坐标位置(即世界空间坐标)等信息,该顶点属性信息可以包括法线信息、顶点色、材质等顶点的属性信息。每个顶点可以存在有仅有的索引(index),也叫顶点编号(point number),是标识每个顶点的特有的编号,可以通过顶点编号提取到对应顶点上的各种顶点信息。该UV坐标信息可以为定义面片子模型上每一顶点的UV(纹理贴图)坐标的信息,值域可以为[0,1],该UV坐标可以为一种二维坐标系中的坐标,用于将纹理贴图映射到三维模型的表面。U和V可以分别表示水平和垂直坐标轴。该目标世界空间坐标可以为裁剪后面片子模型中顶点在对应的面片子模型中的对应位置的世界空间坐标,例如,请参考图3f,图3f是本申请实施例提供的一种模型处理方法的模型处理示意图,以将裁剪后面片子模型简化为三角面、将面片子模型表示为四边面模型为例,可以通过确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,从而可以根据目标世界空间坐标生成将裁剪后面片子模型替换对应的面片子模型的模型。
其中,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标的方式可以有多种,例如,可以获取面片子模型的UV坐标信息以及第一顶点信息,根据第一世界空间坐标对面片子模型的UV坐标信息进行采样,得到裁剪后面片子模型中顶点在UV坐标信息中对应的第一坐标值,基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
其中,该第一顶点信息可以包括面片子模型中的顶点的第二世界空间坐标,该第二世界空间坐标可以为面片子模型中的顶点在世界空间中的坐标。在一实施例中,面片子模型的UV坐标信息可以以模型的UV贴图的形式进行获取,该UV贴图中可以存储有面片子模型中每一顶点的UV坐标信息,例如,请参考图3g,图3g是本申请实施例提供的一种模型处理方法的UV贴图示意图。该第一坐标值可以为裁剪后面片子模型中的顶点在UV坐标信息中对应的坐标值。由于裁剪后面片子模型归一化在世界空间的平面中,因此,裁剪后面片子模型中的顶点处于世界空间的一平面中的0-1区间中,而面片子模型的UV坐标信息也处于0-1的UV平面中,因此,根据裁剪后面片子模型中每一顶点的第一世界空间坐标对面片子模型的UV坐标信息进行采样,可以得到裁剪后面片子模型中每一顶点在面片子模型的UV坐标信息中对应的坐标值,即第一坐标值。
其中,基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标的方式可以有多种,例如,可以遍历面片子模型中的候选三角面,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标,基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面,根据目标三角面对应的重心坐标和第二世界空间坐标,计算裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
其中,该候选三角面可以为面片子模型中存在的三角面,该三角面也可以称为三角形或者三角面片,该三角面可以指由三个顶点和三条边组成的平面几何体,它可以是构成三维渲染和建模的基本单元之一,三角面可以具有存在三个顶点、三条边以及平面性质的特点,其中,一个三角面可以由模型上三个顶点定义,每个顶点都可以具有三维坐标(x、y、z),它们确定了三角面的形状和位置,一个三角面由三条连接顶点的边构成,这些边定义了三角形的边界。三角面是平面几何体,也就是说,三个顶点不共线,可以通过它们来定义一个平面。该重心坐标可以为假设裁剪后面片子模型的顶点对应的第一坐标值位于候选三角面上时,计算的第一坐标值在候选三角面上的重心坐标,计算重心坐标可以是一种表示在给定几何体内某一点的坐标的方法,它用于描述一个点在一个特定几何体(如三角形、四边形等)内的位置。在一个二维平面上的三角形中,重心坐标可以由三个参数表示,通常可以用(u,v,w)表示,它们满足以下条件:u+v+w=1,且u、v和w都是非负数。该目标三角面可以为第一坐标值在面片子模型中所在的三角面。
其中,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标的方式可以有多种,例如,可以基于UV坐标信息确定候选三角面中顶点的第二坐标值,基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标。
其中,该第二坐标值可以为候选三角面中的顶点在面片子模型的UV坐标信息中对应的坐标值,即候选三角面中的顶点对应的UV坐标信息。可选的,候选三角面中的顶点的顶点信息中也可以存储有顶点对应的UV坐标信息,可以根据候选三角面中的顶点的顶点信息获取候选三角面中顶点的第二坐标值。
其中,基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标的方式可以有多种,例如,可以采用重心坐标计算公式,基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标。
其中,采用重心坐标计算公式,基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标的方式可以有多种,例如,请继续参考图3f,假设裁剪后面片子模型中存在一顶点S,假设该顶点S在面片子模型中对应的第二坐标值可以表示为(x,y),该候选三角面可以包括顶点A、顶点B以及顶点C,顶点A的第二坐标值可以表示为(xA,yA),顶点B的第二坐标值可以表示为(xB,yB),顶点C的第二坐标值可以表示为(xC,yC),同时,假设重心坐标可以表示为(α,β,γ),以此,该重心坐标计算公式可以表示为
γ=1-α-β
以此,可以根据上述重心坐标计算公式,根据第二坐标值和第一坐标值计算出第一坐标值在每一候选三角面的重心坐标。
在基于UV坐标信息计算第一坐标值在候选三角面的重心坐标之后,可以基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面。其中,基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面的方式可以有多种,例如,由于处于三角面中的一点在三角面的重心坐标,其重心坐标中的三个参数需要满足三个参数之间的和等于1,且三个参数都为非负数的条件,因此,可以根据重心坐标的三个参数所需满足的条件,来确定第一坐标值所在的候选三角面。具体的,可以获取重心坐标的三个权重参数,用(u,v,w)进行表示,在它们满足以下条件:u+v+w=1,以及u、v和w都是非负数时,可以表明第一坐标值在当前的三角面上,从而可以将该三角面确定为目标三角面。
在基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面之后,可以根据目标三角面对应的重心坐标和第二世界空间坐标,计算裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。其中,根据目标三角面对应的重心坐标和第二世界空间坐标,计算裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标的方式可以有多种,例如,假设目标三角面对应的重心坐标表示为(α,β,γ),目标三角面的三个顶点的第二世界空间坐标表示为V1=Va+Vb+Vc,则裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标可以表示为V2=αVa+βVb+γVc。例如,请继续参考图3f,基于目标世界空间坐标从而可以根据目标世界空间坐标确定出裁剪后面片子模型中的顶点S在面片子模型上的点S’。
在步骤106中,基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。
其中,目标对象模型可以为基于原始对象模型生成的非已遮罩类型材质的模型。
其中,基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型的方式可以有多种,例如,第一顶点信息包括面片子模型中顶点的第二世界空间坐标以及顶点属性信息,可以根据第二世界空间坐标和目标世界空间坐标之间的位置关系,确定裁剪后面片子模型中顶点在面片子模型中对应的目标顶点;基于目标顶点的顶点属性信息,确定裁剪后面片子模型中的顶点对应的目标顶点属性信息;基于目标顶点属性信息、目标世界空间坐标、UV坐标信息以及基础子模型的第二顶点信息,生成目标对象模型。
其中,该目标顶点可以为裁剪后面片子模型中顶点在面片子模型中对应的顶点,该目标顶点属性信息可以为目标顶点的顶点属性信息。
其中,根据第二世界空间坐标和目标世界空间坐标之间的位置关系,确定裁剪后面片子模型中顶点在面片子模型中对应的目标顶点的方式可以有多种,例如,可以计算裁剪后面片子模型的顶点的目标世界空间坐标,和面片子模型中每一顶点的第二世界空间坐标在世界空间中的距离,从而可以将与裁剪后面片子模型的顶点的目标世界空间坐标的距离最近的顶点确定为裁剪后面片子模型中顶点在面片子模型中对应的目标顶点。从而可以将目标顶点的顶点属性信息确定为裁剪后面片子模型中顶点的目标顶点属性信息。
以此,基于目标顶点属性信息可以确定裁剪后面片子模型中每一顶点的顶点属性信息,根据目标世界空间坐标可以确定裁剪后面片子模型中每一顶点在面片子模型上的位置,根据UV坐标信息可以确定裁剪后面片子模型中每一点的UV坐标,以此,可以确定裁剪后面片子模型中每一顶点的顶点信息,从而可以基于裁剪后面片子模型中每一顶点的顶点信息以及基础子模型的第二顶点信息进行建模,生成原始对象模型对应的非Masked材质的目标对象模型。
可选的,在生成目标对象模型之后,可以对目标对象模型的渲染过程进行优化。例如,由于Nanite在对高面模型进行渲染时会产生大量的渲染消耗,因此,可以在渲染目标对象模型的阴影时,通过对目标对象模型进行减面处理,以通过渲染低面模型来降低对目标对象模型进行阴影渲染所带来的消耗,从而可以优化目标对象模型的渲染过程。例如,请参考图4a,图4a是本申请实施例提供的一种模型处理方法的阴影渲染示意图,其中,左边的模型为采用Nanite对目标对象模型进行阴影渲染得到的目标对象模型,右边的模型是根据减面后对象模型进行阴影渲染得到的目标对象模型。可见,在根据减面后对象模型进行阴影渲染得到的目标对象模型中,模型的阴影会变稀疏,且在没有对比的情况下难以察觉,从而可以在保证模型渲染效果的同时,优化模型渲染过程,有效提升了模型处理效率。
可选的,可以对目标对象模型中的三角面进行减面操作,得到减面后对象模型;对减面后对象模型进行阴影渲染,得到目标模型阴影;基于目标模型阴影对生目标对象模型进行阴影生成。
其中,该减面后对象模型可以为对目标对象模型进行减少三角面后得到的模型,该目标模型阴影可以为对减面后对象模型进行阴影渲染得到的阴影。
其中,对目标对象模型中的三角面进行减面操作,得到减面后对象模型的方式可以有多种,例如,可以对目标对象模型中的候选面片子模型进行环境光检测处理,得到候选面片子模型对应的环境光吸收权重,基于环境光吸收权重对候选面片子模型中符合预设遮挡条件的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型;或者,识别目标对象模型中候选面片子模型的顶点之间的顶点距离,基于顶点距离对候选面片子模型中的顶点进行合并处理,以减少目标对象模型中的三角面的数量,得到减面后对象模型;或者,对目标对象模型中的候选面片子模型进行标识设置,得到各候选面片子模型对应的标识信息,在标识信息中随机选取至少一个目标标识信息,将目标标识信息对应的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型。
其中,该候选面片子模型可以为目标对象模型中基于裁剪后面片子模型生成的面片子模型,该环境光吸收权重可以为衡量候选面片子模型在目标对象模型中被穿插或者遮挡的程度的信息。该顶点距离可以为候选面片子模型中每一顶点之间的距离,该标识信息可以为标识一候选面片子模型的信息,例如,可以为候选面片子模型的唯一编码(ID)。该目标标识信息可以为在标识信息中随机选取到的标识信息。该预设遮挡条件可以为衡量候选面片子模型在目标对象子模型所受遮挡较多的条件,是否符合该预设遮挡条件可以根据环境光吸收权重来确定,例如,可以预先设定一个权重阈值,在环境光吸收权重大于该权重阈值时,可以表明符合该预设遮挡条件。该权重阈值可以为环境光吸收权重的一个临界值,该临界值的具体数值可以根据实际情况进行设定,本申请实施例在此不做限定。
其中,对目标对象模型中的候选面片子模型进行环境光检测处理,得到候选面片子模型对应的环境光吸收权重,基于环境光吸收权重对候选面片子模型中符合预设遮挡条件的候选面片子模型进行删除的方式可以有多种,例如,可以采用烘培AO(AmbientOcclusion)技术对目标对象模型中的候选面片子模型进行环境光检测处理,从而可以得到候选面片子模型对应的AO值,即环境光吸收权重,该AO值的取值范围可以为0-1区间中,从而在AO值较大时,可以表明该候选面片子模型存在较多的穿插或者遮挡,从而可以将该候选面片子模型进行删除,以在包装目标对象模型的真实性以及显示效果的同时,优化目标对象模型的渲染过程,从而提升模型处理效率。
其中,识别目标对象模型中候选面片子模型的顶点之间的顶点距离,基于顶点距离对候选面片子模型中的顶点进行合并处理的方式可以有多种,例如,请参考图4b,图4b是本申请实施例提供的一种模型处理方法的减面处理示意图,可以通过将距离较近的顶点进行合并,从而可以对候选面片子模型中的三角面进行减少,进而可以减少目标对象模型中的三角面的数量。
其中,对目标对象模型中的候选面片子模型进行标识设置,得到各候选面片子模型对应的标识信息,在标识信息中随机选取至少一个目标标识信息,将目标标识信息对应的候选面片子模型进行删除的方式可以有多种,例如,请参考图4c,图4c是本申请实施例提供的一种模型处理方法的另一减面处理示意图,可以给目标对象模型中的候选面片子模型设置一个标识信息(ID),然后,可以在标识信息中随机选取至少一个目标标识信息,从而可以将目标标识信息对应的候选面片子模型进行选中并进行删除,从而可以在不影响模型的效果的基础上,有效的减少目标对象模型中的三角面的数量。可选的,该目标标识信息的数量可以根据需求进行设定,例如,可以根据标识信息的总数的10%、5%、15%等数量,本申请实施例在此不做限定。
在一实施例中,以该原始对象模型为树模型为例,在得到原始对象模型对应的目标对象模型时,可以给目标对象模型中每一片叶子设置一个ID,从而可以随机的对所有叶子的ID进行打组,从而可以将组内的ID对应的叶子进行删除,实现在不容易察觉的同时对三角面的数量进行减少,进而提升模型渲染效率。
在现有的模型处理方法中,往往采用虚幻引擎5(简称UE5)来进行游戏模型的生成,以及采用虚拟几何系统(Nanite)对模型进行渲染。其中,Nanite是UE5引擎中提供的新的虚拟几何系统,类似于虚拟纹理系统(virtual texturing system),主要用于支持直接渲染高精度的网格(mesh)资产,从而基于Nanite可以使得UE5对高面模型有较优秀的处理能力。然而,在采用虚幻引擎5的虚拟几何系统Nanite进行模型渲染时,由于Nanite渲染Masked类型的材质会产生非常高的渲染消耗,由此需要避免使用Masked类型材质的模型。然而,由于在游戏美术资产生产过程中往往需要使用大量的复用资源,需要对Masked类型材质的模型转换为不透明材质来替代原本的Masked材质的模型,所以需要将模型中Masked类型的材质制作成模型替代原本的面片模型。现有的模型处理方法中,往往通过传统手工建模的方式来对Masked类型材质的模型进行重新制作,以得到符合Nanite技术规范的非Masked类型材质的模型,这种方法会消耗大量的制作成本,且无法准确还原原始模型,进而使得模型处理效率较低。
为此本申请实施例通过在建模阶段,采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,实现传统的存在Masked材质的面片的原始对象模型转换为符合Nanite技术的不透明材质的目标对象模型,并继承原本的模型属性,在满足美术效果的同时满足渲染需求,有效的提升了模型生成效率。在模型渲染阶段,通过对目标对象模型进行减面处理,从而通过减面后的目标对象模型进行阴影生成,从而基于减面后对象模型的阴影对目标对象模型进行阴影生成,从而可以有效减少渲染消耗,进一步提升了模型处理效率。
由以上可知,本申请实施例通过获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,通过在建模阶段采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,进而提升了模型处理效率。
为了更好地实施以上方法,本发明实施例还提供一种模型处理装置,该模型处理装置可以集成在电子设备中,该电子设备可以为服务器或者终端。
例如,如图5所示,为本申请实施例提供的模型处理装置的结构示意图,该模型处理装置可以包括第一获取单元201、第二获取单元202、裁剪单元203、处理单元204、确定单元205以及生成单元206,如下:
第一获取单元201,用于获取组成原始对象模型的基础子模型和多个面片子模型;
第二获取单元202,用于获取面片子模型对应的遮罩贴图;
裁剪单元203,用于根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;
处理单元204,用于将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;
确定单元205,用于基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
生成单元206,用于基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。
在一些实施例中,第一顶点信息包括面片子模型中顶点的第二世界空间坐标以及顶点属性信息,该生成单元206,用于:
根据第二世界空间坐标和目标世界空间坐标之间的位置关系,确定裁剪后面片子模型中顶点在面片子模型中对应的目标顶点;
基于目标顶点的顶点属性信息,确定裁剪后面片子模型中的顶点对应的目标顶点属性信息;
基于目标顶点属性信息、目标世界空间坐标、UV坐标信息以及基础子模型的第二顶点信息,生成目标对象模型。
在一些实施例中,该确定单元205,包括:
信息获取子单元,用于获取面片子模型的UV坐标信息以及第一顶点信息,第一顶点信息包括面片子模型中的顶点的第二世界空间坐标;
坐标采样子单元,用于根据第一世界空间坐标对面片子模型的UV坐标信息进行采样,得到裁剪后面片子模型中顶点在UV坐标信息中对应的第一坐标值;
坐标确定子单元,用于基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
在一些实施例中,该坐标确定子单元,包括:
重心坐标计算模块,用于遍历面片子模型中的候选三角面,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标;
目标三角形确定模块,用于基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面;
坐标计算模块,用于根据目标三角面对应的重心坐标和第二世界空间坐标,计算裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
在一些实施例中,该重心坐标计算模块,用于:
基于UV坐标信息确定候选三角面中顶点的第二坐标值;
基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标。
在一些实施例中,该模型处理装置,还包括:
减面单元,用于对目标对象模型中的三角面进行减面操作,得到减面后对象模型;
阴影渲染单元,用于对减面后对象模型进行阴影渲染,得到目标模型阴影;
阴影生成单元,用于基于目标模型阴影对生目标对象模型进行阴影生成。
在一些实施例中,该减面单元,用于:
对目标对象模型中的候选面片子模型进行环境光检测处理,得到候选面片子模型对应的环境光吸收权重;
基于环境光吸收权重对候选面片子模型中符合预设遮挡条件的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
识别目标对象模型中候选面片子模型的顶点之间的顶点距离;
基于顶点距离对候选面片子模型中的顶点进行合并处理,以减少目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
对目标对象模型中的候选面片子模型进行标识设置,得到各候选面片子模型对应的标识信息;
在标识信息中随机选取至少一个目标标识信息;
将目标标识信息对应的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本申请实施例通过第一获取单元201获取组成原始对象模型的基础子模型和多个面片子模型;第二获取单元202获取面片子模型对应的遮罩贴图;裁剪单元203根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;处理单元204将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;确定单元205基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;生成单元206基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,通过在建模阶段采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,进而提升了模型处理效率。
本申请实施例还提供一种电子设备,如图6所示,其示出了本申请实施例所涉及的电子设备的结构示意图,该电子设备可以是服务器,具体来讲:
该电子设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器301是电子设备300的控制中心,利用各种接口和线路连接整个电子设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行电子设备300的各种功能和处理数据,从而对电子设备300进行整体监控。
在本申请实施例中,电子设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能:
获取组成原始对象模型的基础子模型和多个面片子模型;
获取面片子模型对应的遮罩贴图;
根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;
将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;
基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。
在一些实施例中,第一顶点信息包括面片子模型中顶点的第二世界空间坐标以及顶点属性信息,基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型,包括:
根据第二世界空间坐标和目标世界空间坐标之间的位置关系,确定裁剪后面片子模型中顶点在面片子模型中对应的目标顶点;
基于目标顶点的顶点属性信息,确定裁剪后面片子模型中的顶点对应的目标顶点属性信息;
基于目标顶点属性信息、目标世界空间坐标、UV坐标信息以及基础子模型的第二顶点信息,生成目标对象模型。
在一些实施例中,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,包括:
获取面片子模型的UV坐标信息以及第一顶点信息,第一顶点信息包括面片子模型中的顶点的第二世界空间坐标;
根据第一世界空间坐标对面片子模型的UV坐标信息进行采样,得到裁剪后面片子模型中顶点在UV坐标信息中对应的第一坐标值;
基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
在一些实施例中,基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,包括:
遍历面片子模型中的候选三角面,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标;
基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面;
根据目标三角面对应的重心坐标和第二世界空间坐标,计算裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
在一些实施例中,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标,包括:
基于UV坐标信息确定候选三角面中顶点的第二坐标值;
基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标。
在一些实施例中,本申请实施例提供的模型处理方法,还包括:
对目标对象模型中的三角面进行减面操作,得到减面后对象模型;
对减面后对象模型进行阴影渲染,得到目标模型阴影;
基于目标模型阴影对生目标对象模型进行阴影生成。
在一些实施例中,对目标对象模型中的三角面进行减面操作,得到减面后对象模型,包括:
对目标对象模型中的候选面片子模型进行环境光检测处理,得到候选面片子模型对应的环境光吸收权重;
基于环境光吸收权重对候选面片子模型中符合预设遮挡条件的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
识别目标对象模型中候选面片子模型的顶点之间的顶点距离;
基于顶点距离对候选面片子模型中的顶点进行合并处理,以减少目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
对目标对象模型中的候选面片子模型进行标识设置,得到各候选面片子模型对应的标识信息;
在标识信息中随机选取至少一个目标标识信息;
将目标标识信息对应的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型。
本方案可以通过获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,通过在建模阶段采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,进而提升了模型处理效率。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图6所示,电子设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏303可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
音频电路305可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器301处理后,经射频电路304以发送给比如另一电子设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源307用于给电子设备300的各个部件供电。可选的,电源307可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图6中未示出,电子设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。应当说明的是,本申请实施例提供的电子设备与上文实施例中的适用于模型处理方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
由上可知,本申请实施例提供的电子设备,可以通过获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,通过在建模阶段采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,进而提升了模型处理效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种模型处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取组成原始对象模型的基础子模型和多个面片子模型;
获取面片子模型对应的遮罩贴图;
根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;
将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;
基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。
在一些实施例中,第一顶点信息包括面片子模型中顶点的第二世界空间坐标以及顶点属性信息,基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型,包括:
根据第二世界空间坐标和目标世界空间坐标之间的位置关系,确定裁剪后面片子模型中顶点在面片子模型中对应的目标顶点;
基于目标顶点的顶点属性信息,确定裁剪后面片子模型中的顶点对应的目标顶点属性信息;
基于目标顶点属性信息、目标世界空间坐标、UV坐标信息以及基础子模型的第二顶点信息,生成目标对象模型。
在一些实施例中,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,包括:
获取面片子模型的UV坐标信息以及第一顶点信息,第一顶点信息包括面片子模型中的顶点的第二世界空间坐标;
根据第一世界空间坐标对面片子模型的UV坐标信息进行采样,得到裁剪后面片子模型中顶点在UV坐标信息中对应的第一坐标值;
基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
在一些实施例中,基于第一坐标值、UV坐标信息以及第二世界空间坐标,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,包括:
遍历面片子模型中的候选三角面,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标;
基于重心坐标,确定裁剪后面片子模型中的顶点在面片子模型中所对应的目标三角面;
根据目标三角面对应的重心坐标和第二世界空间坐标,计算裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
在一些实施例中,基于UV坐标信息计算第一坐标值在候选三角面的重心坐标,包括:
基于UV坐标信息确定候选三角面中顶点的第二坐标值;
基于第二坐标值和第一坐标值计算第一坐标值在候选三角面的重心坐标。
在一些实施例中,本申请实施例提供的模型处理方法,还包括:
对目标对象模型中的三角面进行减面操作,得到减面后对象模型;
对减面后对象模型进行阴影渲染,得到目标模型阴影;
基于目标模型阴影对生目标对象模型进行阴影生成。
在一些实施例中,对目标对象模型中的三角面进行减面操作,得到减面后对象模型,包括:
对目标对象模型中的候选面片子模型进行环境光检测处理,得到候选面片子模型对应的环境光吸收权重;
基于环境光吸收权重对候选面片子模型中符合预设遮挡条件的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
识别目标对象模型中候选面片子模型的顶点之间的顶点距离;
基于顶点距离对候选面片子模型中的顶点进行合并处理,以减少目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
对目标对象模型中的候选面片子模型进行标识设置,得到各候选面片子模型对应的标识信息;
在标识信息中随机选取至少一个目标标识信息;
将目标标识信息对应的候选面片子模型进行删除,以减少目标对象模型中的三角面的数量,得到减面后对象模型。
本方案可以通过获取组成原始对象模型的基础子模型和多个面片子模型;获取面片子模型对应的遮罩贴图;根据遮罩贴图对面片子模型进行裁剪,得到裁剪后面片子模型;将裁剪后面片子模型存储到世界空间,并归一化到世界空间的平面中,得到裁剪后面片子模型中顶点的第一世界空间坐标;基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;基于裁剪后面片子模型中顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,生成目标对象模型。以此,通过在建模阶段采用面片子模型对应的遮罩贴图对已遮罩类型材质的原始对象模型中的面片子模型进行裁剪,并将裁剪后面片子模型归一化存储到世界空间中,得到裁剪后面片子模型中顶点的第一世界空间坐标,然后,基于第一世界空间坐标、面片子模型中顶点的第一顶点信息以及UV坐标信息,确定裁剪后面片子模型中每一顶点在对应的面片子模型上的对应位置的目标世界空间坐标,从而基于裁剪后面片子模型中各顶点对应的目标世界空间坐标、基础子模型、面片子模型以及UV坐标信息,准确的生成原始对象模型对应的非已遮罩类型材质的目标对象模型,进而提升了模型处理效率。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种模型处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种模型处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种模型处理方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种模型处理方法,其特征在于,包括:
获取组成原始对象模型的基础子模型和多个面片子模型;
获取所述面片子模型对应的遮罩贴图;
根据所述遮罩贴图对所述面片子模型进行裁剪,得到裁剪后面片子模型;
将所述裁剪后面片子模型存储到世界空间,并归一化到所述世界空间的平面中,得到所述裁剪后面片子模型中顶点的第一世界空间坐标;
基于所述第一世界空间坐标、所述面片子模型中顶点的第一顶点信息以及UV坐标信息,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
基于所述裁剪后面片子模型中顶点对应的目标世界空间坐标、所述基础子模型、所述面片子模型以及所述UV坐标信息,生成目标对象模型。
2.如权利要求1所述的模型处理方法,其特征在于,所述第一顶点信息包括所述面片子模型中顶点的第二世界空间坐标以及顶点属性信息,所述基于所述裁剪后面片子模型中顶点对应的目标世界空间坐标、所述基础子模型、所述面片子模型以及所述UV坐标信息,生成目标对象模型,包括:
根据所述第二世界空间坐标和所述目标世界空间坐标之间的位置关系,确定所述裁剪后面片子模型中顶点在所述面片子模型中对应的目标顶点;
基于所述目标顶点的顶点属性信息,确定所述裁剪后面片子模型中的顶点对应的目标顶点属性信息;
基于所述目标顶点属性信息、所述目标世界空间坐标、所述UV坐标信息以及所述基础子模型的第二顶点信息,生成目标对象模型。
3.如权利要求1所述的模型处理方法,其特征在于,所述基于所述第一世界空间坐标、所述面片子模型中顶点的第一顶点信息以及UV坐标信息,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,包括:
获取所述面片子模型的UV坐标信息以及第一顶点信息,所述第一顶点信息包括所述面片子模型中的顶点的第二世界空间坐标;
根据所述第一世界空间坐标对所述面片子模型的UV坐标信息进行采样,得到所述裁剪后面片子模型中顶点在所述UV坐标信息中对应的第一坐标值;
基于所述第一坐标值、所述UV坐标信息以及所述第二世界空间坐标,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
4.如权利要求3所述的模型处理方法,其特征在于,所述基于所述第一坐标值、所述UV坐标信息以及所述第二世界空间坐标,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标,包括:
遍历所述面片子模型中的候选三角面,基于所述UV坐标信息计算所述第一坐标值在所述候选三角面的重心坐标;
基于所述重心坐标,确定所述裁剪后面片子模型中的顶点在所述面片子模型中所对应的目标三角面;
根据所述目标三角面对应的重心坐标和所述第二世界空间坐标,计算所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标。
5.如权利要求4所述的模型处理方法,其特征在于,所述基于所述UV坐标信息计算所述第一坐标值在所述候选三角面的重心坐标,包括:
基于所述UV坐标信息确定所述候选三角面中顶点的第二坐标值;
基于所述第二坐标值和所述第一坐标值计算所述第一坐标值在所述候选三角面的重心坐标。
6.如权利要求1至5中任一项所述的模型处理方法,其特征在于,所述方法还包括:
对所述目标对象模型中的三角面进行减面操作,得到减面后对象模型;
对所述减面后对象模型进行阴影渲染,得到目标模型阴影;
基于所述目标模型阴影对所述生目标对象模型进行阴影生成。
7.如权利要求6所述的模型处理方法,其特征在于,所述对所述目标对象模型中的三角面进行减面操作,得到减面后对象模型,包括:
对所述目标对象模型中的候选面片子模型进行环境光检测处理,得到所述候选面片子模型对应的环境光吸收权重;
基于所述环境光吸收权重对所述候选面片子模型中符合预设遮挡条件的候选面片子模型进行删除,以减少所述目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
识别所述目标对象模型中候选面片子模型的顶点之间的顶点距离;
基于所述顶点距离对所述候选面片子模型中的顶点进行合并处理,以减少所述目标对象模型中的三角面的数量,得到减面后对象模型;
或者,
对所述目标对象模型中的候选面片子模型进行标识设置,得到各所述候选面片子模型对应的标识信息;
在所述标识信息中随机选取至少一个目标标识信息;
将所述目标标识信息对应的所述候选面片子模型进行删除,以减少所述目标对象模型中的三角面的数量,得到减面后对象模型。
8.一种模型处理装置,其特征在于,包括:
第一获取单元,用于获取组成原始对象模型的基础子模型和多个面片子模型;
第二获取单元,用于获取所述面片子模型对应的遮罩贴图;
裁剪单元,用于根据所述遮罩贴图对所述面片子模型进行裁剪,得到裁剪后面片子模型;
处理单元,用于将所述裁剪后面片子模型存储到世界空间,并归一化到所述世界空间的平面中,得到所述裁剪后面片子模型中顶点的第一世界空间坐标;
确定单元,用于基于所述第一世界空间坐标、所述面片子模型中顶点的第一顶点信息以及UV坐标信息,确定所述裁剪后面片子模型中顶点在对应的面片子模型上的目标世界空间坐标;
生成单元,用于基于所述裁剪后面片子模型中顶点对应的目标世界空间坐标、所述基础子模型、所述面片子模型以及所述UV坐标信息,生成目标对象模型。
9.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~7中任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~7中任一所述方法的步骤。
CN202410256925.6A 2024-03-06 2024-03-06 模型处理方法、装置和计算机可读存储介质 Pending CN118015194A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410256925.6A CN118015194A (zh) 2024-03-06 2024-03-06 模型处理方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410256925.6A CN118015194A (zh) 2024-03-06 2024-03-06 模型处理方法、装置和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN118015194A true CN118015194A (zh) 2024-05-10

Family

ID=90959439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410256925.6A Pending CN118015194A (zh) 2024-03-06 2024-03-06 模型处理方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN118015194A (zh)

Similar Documents

Publication Publication Date Title
CN112802172B (zh) 三维模型的纹理映射方法、装置、存储介质及计算机设备
CN112465945B (zh) 一种模型生成方法、装置、存储介质及计算机设备
CN113052947B (zh) 一种渲染方法、装置、电子设备和存储介质
CN112370783B (zh) 虚拟对象渲染方法、装置、计算机设备和存储介质
CN112489179B (zh) 目标模型的处理方法、装置、存储介质及计算机设备
WO2023213037A1 (zh) 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质
CN113516742A (zh) 模型特效制作方法、装置、存储介质及电子设备
CN112221151B (zh) 一种地图生成方法、装置、计算机设备及存储介质
CN113487662A (zh) 画面显示方法、装置、电子设备和存储介质
CN113409468A (zh) 一种图像处理方法、装置、电子设备及存储介质
CN117274475A (zh) 光晕效果的渲染方法、装置、电子设备和可读存储介质
CN118015194A (zh) 模型处理方法、装置和计算机可读存储介质
CN113350792B (zh) 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质
CN113362435B (zh) 虚拟对象模型的虚拟部件变化方法、装置、设备及介质
CN112348955A (zh) 一种物体渲染方法
CN117523136B (zh) 人脸点位对应关系处理方法、人脸重建方法、装置及介质
CN115272432A (zh) 模型信息处理方法、装置、存储介质及计算机设备
CN116531750A (zh) 网状结构生成方法、装置、电子设备和可读存储介质
CN115526973A (zh) 皮肤渲染方法、装置、电子设备和存储介质
CN117274474A (zh) 环境光遮罩的生成方法、装置、电子设备和存储介质
CN117727076A (zh) 图像处理方法、装置和计算机可读存储介质
CN118135081A (zh) 模型生成方法、装置、计算机设备和计算机可读存储介质
CN117899468A (zh) 场景内容生成方法、装置和计算机可读存储介质
CN115457177A (zh) 虚拟植物的动画制作方法、装置、存储介质及计算机设备
CN118052914A (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