掌桥专利:专业的专利平台
掌桥专利
首页

纹理展开方法、装置、电子设备及计算机可读存储介质

文献发布时间:2024-04-18 19:58:26


纹理展开方法、装置、电子设备及计算机可读存储介质

技术领域

本公开涉及模型处理技术领域,尤其是涉及一种纹理展开方法、装置、电子设备及计算机可读存储介质。

背景技术

在游戏中通常会出现物体模型破碎的效果,为了实现物体模型破碎效果,需要对破碎物体模型内部切割面进行纹理展开,并对纹理展开后的切割面赋予贴图。相关技术提供的纹理展开方式中,通常使用材质切割节点将物体模型切碎,并将切碎后的模型传送到自动展开的节点中,单独对切碎后的模型内部的面进行纹理展开,但由于材质切割节点切割产生的多边形面不可控,导致切碎后的模型内部面的纹理难以准确展开。

发明内容

本公开提供一种纹理展开方法、装置、电子设备及计算机可读存储介质,以准确展开破碎模型内部破碎面的纹理。

第一方面,本公开提供了一种纹理展开方法,该方法包括:获取目标模型,并生成目标模型对应的破碎模型;其中,破碎模型由多个模型碎片组成;破碎模型与目标模型的模型外观相匹配;从多个模型碎片中,确定位于破碎模型内部的破碎面;识别破碎面的边缘,得到破碎面的边缘线;基于破碎面的边缘线,对位于所述破碎模型内部的破碎面进行纹理展开处理,得到破碎面的纹理展开结果;其中,破碎面的纹理展开结果中的纹理不重叠。

第二方面,本公开提供了一种纹理展开装置,该装置包括:模型破碎模块,用于获取目标模型,并生成目标模型对应的破碎模型;其中,破碎模型由多个模型碎片组成;内部面确定模块,用于从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面;边缘线确定模块,用于识别破碎面的边缘,得到破碎面的边缘线;纹理展开模块,用于基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果;其中,破碎面的纹理展开结果中的纹理不重叠。

第三方面,本公开提供了一种电子设备,该电子设备包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述纹理展开方法。

第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述纹理展开方法。

本公开实施例带来了以下有益效果:

本公开提供的一种纹理展开方法、装置、电子设备及计算机可读存储介质,首先获取目标模型,并生成目标模型对应的破碎模型,该破碎模型由多个模型碎片组成;进而从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面;识别破碎面的边缘,得到破碎面的边缘线;然后基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到所述破碎模型内部的破碎面的纹理展开结果。本公开中,通过位于破碎模型内部的破碎面的边缘线,辅助内部破碎面进行纹理展开,可得到不存在纹理重叠的模型内部破碎面的纹理展开结果,从而提高了模型内部破碎面的纹理展开的准确率,有助于提高后续生成模型破碎效果的质量。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的一种纹理展开方法的流程图;

图2为本公开实施例提供的一种目标模型的示意图;

图3为本公开实施例提供的一种查看破碎模型内部纹理的显示示意图;

图4为本公开实施例提供的一种纹理展开后的破碎面的示意图;

图5为本公开实施例提供的一种破碎面的边缘线的显示示意图;

图6为本公开实施例提供的破碎模型的所有模型面的纹理展开结果的示意图;

图7为本公开实施例提供的一种纹理展开装置的结构示意图;

图8为本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

在游戏中通常会出现物体模型破碎的效果,为了实现物体模型破碎效果,需要对破碎物体模型内部切割面进行纹理展开,并对纹理展开后的切割面赋予贴图。相关技术提供的纹理展开方式中,通常使用材质切割节点将物体模型切碎,并将切碎后的模型传送到自动展开的节点中,单独对切碎后的模型内部的面进行纹理展开,但由于材质切割节点切割产生的多边形面不可控,导致切碎后的模型内部面的纹理难以准确展开。若是进一步提高切割数量,并开启内部噪波细节,会使情况变得更加复杂,UV(纹理展开)的分块将会非常细碎且难以进行参数调节。

基于上述问题,本公开实施例提供了一种纹理展开方法、装置、电子设备及计算机可读存储介质,该技术可以应用于对任意三维模型对应的破碎模型的纹理展开场景中,或者破碎效果实现场景中。

为了便于对本公开实施例进行理解,首先对本公开实施例公开的一种纹理展开方式进行详细介绍,如图1所示,该方法包括如下具体步骤:

步骤S102,获取目标模型,并生成目标模型对应的破碎模型;其中,破碎模型由多个模型碎片组成。

上述目标模型是待破碎的物体模型,该物体模型可以是任意模型,例如,该物体模型可以是建筑模型、角色模型、植物模型、动物模型等,在此不做具体限定。在具体实现时,可以对目标模型进行破碎处理,得到目标模型对应的破碎模型,该破碎模型是将目标模型打碎的结果,其中,该破碎模型的模型面的外观与目标模型的外表面的外观相同,从而可以保证破碎模型与目标模型的外观具有一致性;或该破碎模型的模型面的外观与目标模型的外表面的外观不相同,从而可以区分破碎模型的内部破碎面和外表面。

步骤S104,从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面。

在具体实现时,破碎模型由多个模型碎片组成,且模型碎片通常为三维模型,所以该模型碎片包含有多个模型面,而且模型碎片中的模型面可以仅包括位于破碎模型内部的破碎面,也可以包括位于破碎模型内部的破碎面和位于破碎模型外部的外表面;破碎模型的模型面不会单独包含位于破碎模型外部的外表面。基于此,可以通过模型碎片中每个模型面的位置,计算得到模型碎片中位于破碎模型内部的破碎面。

步骤S106,识别破碎面的边缘,得到破碎面的边缘线。

由于模型碎片的形状不规则,在对模型碎片的所有破碎面的纹理直接展开时,可能会出现不同破碎面之间的展开纹理重叠的现象,或者同一破碎面中不同的顶点粘连在一起引起的纹理重叠现象,从而导致位于破碎模型内部的破碎面的纹理展开结果错误。基于此,本公开在对破碎面进行纹理展开之前,需要识别破碎模型包含的所有破碎面的边缘,得到每个破碎面的边缘线,该边缘线也即是破碎面的边缘的轮廓线。破碎面的边缘线,使得模型碎片上裂缝拐角的地方也都显示有边缘线,从而有助于后续准确展开破碎面的纹理。

步骤S108,基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果;其中,破碎面的纹理展开结果中的纹理不重叠。

在具体实现时,在对位于破碎模型内部的破碎面进行纹理展开时,可以将破碎面的边缘线作为切割接缝将所有破碎面的顶点粘连起来,从而可以将纹理重叠部分舒展开,得到不存在纹理重叠的纹理展开结果。

需要说明的是,上述纹理展开也可以成为UV展开,其中,每个模型,都是由一个个的面组成的,而UV可以看作是由这些所有的面构成的模型的“皮肤”,它的工作方式是将这些三维的“皮肤”二维化分布到一个正方形的画布上,然后通过绘制的贴图,将贴图的细节从正方形的画布投射到三维的空间上。

本公开实施例提供的一种纹理展开方法,首先获取目标模型,并生成目标模型对应的破碎模型,该破碎模型由多个模型碎片组成;进而从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面;识别破碎面的边缘,得到破碎面的边缘线;然后基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果。本公开中,通过位于破碎模型内部的破碎面的边缘线,辅助内部破碎面进行纹理展开,可得到不存在纹理重叠的模型内部破碎面的纹理展开结果,从而提高了模型内部破碎面的纹理展开的准确率,有助于提高后续生成模型破碎效果的质量。

下述实施例重点描述生成目标模型对应的破碎模型的方式。

具体地,在获取到目标模型后,可响应于材质类型的设置操作,确定目标模型对应的目标材质类型;基于目标材质类型对应的破碎效果,对目标模型进行破碎处理,得到目标模型对应的破碎模型。

上述材质类型可以根据研发需求或者用户操作确定,例如,该材质类型可以包括玻璃、木头、混凝土和自定义材质,该自定义材质可以根据用户需求任意设置。其中,不同的材质类型对应不同的模型破碎效果。

在具体实现时,上述设置操作可以是用户对提供的多个材质类型中的目标材质类型的选中操作,也可以用户输入目标材质类型的操作等。上述目标材质类型可以提供的多个材质类型中的任意一个,具体根据用户操作确定,目标材质类型还可以是用户输入的任意材质类型。在确定目标模型对应的目标材质类型后,可以根据目标材质类型对应破碎效果,对目标模型进行破碎处理,得到具有目标材质类型对应的破碎效果的破碎模型。

在实际应用中,本公开可以应用在Houdini软件中,首先可以在Houdini软件中创建需要被破碎的目标模型,也可以使用项目的模型,还可以使用Houdini软件自带的模型进行测试。其中,在使用Houdini软件自带的测试模型时,需要打开Houdini软件,创建geometry节点,在geometry内部创建Test Geometry Rubbertoy节点来演示测试模型,该测试模型也即是目标模型。如图2所示为目标模型的示意图,该目标模型为三维模型。

在具体实现时,如果获取到的目标模型没有被赋予纹理,还需要通过下述步骤10-12对目标模型进行纹理分割,从而得到目标模型的外表面对应的纹理展开结果:

步骤10,响应针对曲率参数的参数设置操作,确定目标模型对应的目标曲率值;其中,目标曲率值用于指示:在为目标模型赋予纹理时,目标模型被切割产生的纹理数量的多少。

上述曲率参数对应的曲率值的大小与为模型赋予纹理时,模型被切割生成的纹理数量的多少相关联,通常曲率值越大,模型被切割生成的纹理数量越多。上述针对曲率参数的参数设置操作可以是用户直接输入数值的参数,也可以是滑动曲率参数对应的数值条的操作等,在此不做具体限定,可以根据研发需求和用户操作确定。

步骤11,基于目标曲率值,对目标模型进行纹理切割处理,得到目标模型对应的多个被切割后的纹理。

步骤12,基于预设的合并参数,对多个切割后的纹理进行合并处理,得到目标模型的外表面对应的纹理展开结果。

上述合并参数是用户可以调节的参数,通常,合并参数越大,需要合并的被切割后的纹理越多;例如,该合并参数包括UV合并频率、合并尺寸等。具体地,得到目标模型的外表面对应的纹理展开结果,也即是对目标模型赋予了纹理。

在一具体实施例中,如果获取到的目标模型没有被赋予纹理,可以添加Labs AutoUV节点自动对目标模型进行纹理展开,从而得到目标模型的纹理信息。在Labs Auto UV节点下的method中选择“UV AutoSeam”方法,并设置该方法下的Grain Tolerance选项的数值,该选项的数值(相当于上述曲率参数对应的曲率值)表示UV切割(相当于上述纹理切割)基于曲率时的敏感度,当选项的数值为0时,对曲率变化会非常敏感,会切割产生更多的UV,数值为1的时候对曲率变化不敏感,会产生更大的颗粒。Merge Threshold用于设置合并参数,该合并参数用于指示将切割好的UV合并的频率,通常合并参数越大,将合并越多的UV,使UV形成一个整体。

在可选实施例中,可以使用Houdini软件中的材质切割节点对目标模型进行破碎处理,其中,这里的目标模型是已经被赋予纹理的模型。具体地,材质切割切点能够根据材质类型的材料对应目标模型进行破碎处理。该方式可以根据不同材质类型对应的破碎效果,得到目标模型对应的不同的破碎模型,从而有助于满足用户需求。

上述方式中的曲率参数和合并参数都是可以根据用户需求调节的,从而解决了相关技术中纹理展开不可控的问题,提高了用户调节参数的方便性和灵活性,使纹理的自动化展开和参数调节成为可能。

下述实施例重点描述确定位于破碎模型内部的破碎面,以及识别破碎面的边缘线的方式。

具体地,上述从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面的具体过程,可以包括:通过第一预设节点,计算得到多个模型碎片的模型面中位于破碎模型内部的破碎面。

上述第一预设节点可以根据研发需求确定,例如,该第一预设节点可以是Houdini软件中的Exploded View节点,也可以是其他节点。具体地,如果需要对破碎模型的内部切割面(相当于上述破碎面)的纹理进行重新展开,就需要获取内部切割面的信息,可以使用第一预设节点将破碎模型内部的破碎面分出,并赋予inside属性,也即是,被赋予inside属性的分割面为位于破碎模型内部的破碎面。

在可选实施例中,为了方便后续对破碎面进行纹理展开,还需要将破碎面存入预设分组中。具体地,可以将上一步赋予了inside属性的所有破碎面进行打组,以将所有破碎面存入预设分组中。该预设分组具体是哪个组,以及这个组对应的名称可以根据用户需求确定。例如,预设分组的名称可以是“concrete_fracture1inside”。

在具体实现时,在将破碎面存入预设分组中后,破碎模型仍然是粘在一起的状态,用户可以使用第三预设节点对破碎模型的内部进行查看,从而了解破碎模型内部的纹理状况。如图3所示为本公开实施例提供的查看破碎模型内部纹理的显示示意图。图3为图2对应的目标模型的破碎模型使用第三预设节点查看后的效果图,从图3可以看出破碎模型包括多个模型碎片,每个模型碎片都包含有多个模型面。上述第三预设节点可以根据研发需求设定,例如,该第三预设节点可以是Houdini软件中的Exploded View节点。

在实际应用中,在将破碎面存入预设分组中后,可以直接使用第一预设节点单独对预设分组中的破碎模型的所有破碎面进行纹理展开,得到纹理展开后的所有破碎面。具体地,可以通过观察纹理展开后的所有破碎面是否有纹理重叠,如果没有纹理重叠,则可将本次得到的纹理展开后的所有破碎面,确定为位于破碎模型的内部的破碎面对应的纹理展开结果。如果有纹理重叠,需要计算每个破碎面的边缘线,通过边缘线辅助展开破碎面的纹理。如图4所示为本公开实施例提供的一种纹理展开后的破碎面的示意图,图4中包含有两个完整的纹理展开后的模型碎片,其中,箭头所指的位置出现了纹理重叠,也即是该纹理展开后的模型碎片中的相邻的两个破碎面的纹理展开结果有重叠。

在一具体实施例中,将破碎面存入预设分组中之后,为了防止破碎面的纹理展开结果有重叠,还需要将预设分组中的破碎面输入至预设接缝工具中,通过预设接缝工具识别破碎面的边缘,输出破碎面的边缘线。该预设接缝工具可以根据研发需求确定,该预设接缝工具主要用于得到破碎面的边缘线。具体地,该预设接缝工具可以UV Autoseam节点。上述每个破碎面对应的边缘线通常会被自动记录在预设边组中,该预设边组的名称可以根据用户设置确定。

在具体实现时,可以在预设分组中的破碎面输入至预设接缝工具中,该预设接缝工具可以输出每个破碎面的边缘线,如图5所示为本公开实施例提供的一种破碎面的边缘线的显示示意图,图5中的每个模型碎片对应的破碎面的边缘均显示有边缘线,也即是模型碎片上裂缝拐角的地方都显示了预设接缝工具识别的破碎面的边缘线。

上述方式能够准确确定位于破碎模型内部的破碎面,并在查看纹理展开后的破碎面存在纹理重叠时,识别破碎面的边缘线,以通过边缘线辅助破碎面的纹理展开,从而得到准确的纹理展开结果。同时,若要进一步优化纹理的展开和分布,可以暴露预设接缝工具中的阈值参数等给用户使用,使纹理的自动化展开和参数调节成为可能。

下述实施例重点描述对破碎面进行纹理展开的方式。

具体地,基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果的具体过程,可以包括:在对位于破碎模型内部的破碎面进行纹理展开的过程中,基于破碎面的边缘线,将相邻的破碎面的顶点粘连,得到破碎面的纹理展开结果;其中,破碎面的顶点包括:破碎面包含的边缘线之间的相交点。

在具体实现时,只对位于破碎模型内部的所有破碎面单独进行纹理展开,并使用记录好的破碎面的边缘线作为纹理切割接缝,将相邻的两个破碎面的顶点粘连起来,这里加入了破碎面的边缘线,默认的已经将纹理重叠的部分舒展开了,也即是得到了正确的破碎面的纹理展开结果。

在实际应用中,在得到破碎面的纹理展开结果后,破碎面的纹理展开结果与目标模型外表面的纹理展开结果是重叠在一起的,这还不是很符合大部分项目的制作规范,可以通过第二预设节点,对目标模型的外表面对应的纹理展开结果和破碎面的纹理展开结果进行纹理展开处理,得到多个模型碎片的模型面的纹理展开结果。

具体地,上述第二预设节点具体是哪个节点可以根据研发需求确定,例如,该第二预设节点可以是UV Layout节点。如图6所示为本公开实施例提供的破碎模型的所有模型面的纹理展开结果的示意图,图6中显示有每个模型碎片的纹理展开结果,该纹理展开结果中模型破碎中的所有的模型面都被展开了,没有重叠的地方。

上述方式,可以通过破碎面的边缘线对破碎模型所包含的所有破碎面进行纹理展开处理,该方式将破碎面的边缘线和破碎面组成较为理想的纹理分组,从而使得纹理切割而产生的不可控的多边面展开也变得简单起来。

对应于上述方法实施例,本公开实施例提供了一种纹理展开装置,如图7所示,该装置包括:

模型破碎模块70,用于获取目标模型,并生成目标模型对应的破碎模型;其中,破碎模型由多个模型碎片组成。

内部面确定模块71,用于从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面。

边缘线确定模块72,用于识别破碎面的边缘,得到破碎面的边缘线。

纹理展开模块73,用于基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果。

上述纹理展开装置,首先获取目标模型,并生成目标模型对应的破碎模型,该破碎模型由多个模型碎片组成;进而从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面;识别破碎面的边缘,得到破碎面的边缘线;然后基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果。本公开中,通过位于破碎模型内部的破碎面的边缘线,辅助内部破碎面进行纹理展开,可得到不存在纹理重叠的模型内部破碎面的纹理展开结果,从而提高了模型内部破碎面的纹理展开的准确率,有助于提高后续生成模型破碎效果的质量。

具体地,上述模型破碎模块70,用于:响应于材质类型的设置操作,确定目标模型对应的目标材质类型;基于目标材质类型对应的破碎效果,对目标模型进行破碎处理,得到目标模型对应的破碎模型。

进一步地,上述内部面确定模块71,用于:通过第一预设节点,计算得到多个模型碎片的模型面中位于破碎模型内部的破碎面。

在具体实现时,上述装置还包括分组模块,用于:将破碎面存入预设分组中。

进一步地,上述边缘线确定模块72,用于:将预设分组中的破碎面输入至预设接缝工具中,通过预设接缝工具识别破碎面的边缘,输出破碎面的边缘线。

进一步地,上述纹理展开模块73,用于:在对位于破碎模型内部的破碎面进行纹理展开的过程中,基于破碎面的边缘线,将相邻的破碎面的顶点粘连,得到破碎面的纹理展开结果;其中,破碎面的顶点包括:破碎面包含的边缘线之间的相交点。

在具体实现时,上述装置还包括纹理赋予模块,用于:响应针对曲率参数的参数设置操作,确定目标模型对应的目标曲率值;其中,目标曲率值用于指示:在为目标模型赋予纹理时,目标模型被切割产生的纹理数量的多少;基于目标曲率值,对目标模型进行纹理切割处理,得到目标模型对应的多个被切割后的纹理;基于预设的合并参数,对多个切割后的纹理进行合并处理,得到目标模型的外表面对应的纹理展开结果。

进一步,上述纹理展开模块73,还用于:通过第二预设节点,对目标模型的外表面对应的纹理展开结果和破碎面的纹理展开结果进行纹理展开处理,得到多个模型对片的模型面的纹理展开结果。

本公开实施例所提供的纹理展开装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本公开实施例还提供了一种电子设备,如图8所示,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述纹理展开方法。

具体地,上述纹理展开方法,包括:获取目标模型,并生成目标模型对应的破碎模型;其中,破碎模型由多个模型碎片组成;从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面;识别破碎面的边缘,得到破碎面的边缘线;基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果。

上述纹理展开方法中,通过位于破碎模型内部的破碎面的边缘线,辅助内部破碎面进行纹理展开,可得到不存在纹理重叠的模型内部破碎面的纹理展开结果,从而提高了模型内部破碎面的纹理展开的准确率,有助于提高后续生成模型破碎效果的质量。

在可选实施例中,上述生成目标模型对应的破碎模型,包括:响应于材质类型的设置操作,确定目标模型对应的目标材质类型;基于目标材质类型对应的破碎效果,对目标模型进行破碎处理,得到目标模型对应的破碎模型。

在可选实施例中,上述从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面,包括:通过第一预设节点,计算得到多个模型碎片的模型面中位于破碎模型内部的破碎面。

在可选实施例中,上述方法还包括:将破碎面存入预设分组中。

在可选实施例中,上述识别破碎面的边缘,得到破碎面的边缘线,包括:将预设分组中的破碎面输入至预设接缝工具中,通过预设接缝工具识别破碎面的边缘,输出破碎面的边缘线。

在可选实施例中,上述基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎面的纹理展开结果,包括在对位于破碎模型内部的破碎面进行纹理展开的过程中,基于破碎面的边缘线,将相邻的破碎面的顶点粘连,得到破碎面的纹理展开结果;其中,破碎面的顶点包括:破碎面包含的边缘线之间的相交点。

在可选实施例中,上述方法还包括:响应针对曲率参数的参数设置操作,确定目标模型对应的目标曲率值;其中,目标曲率值用于指示:在为目标模型赋予纹理时,目标模型被切割产生的纹理数量的多少;基于目标曲率值,对目标模型进行纹理切割处理,得到目标模型对应的多个被切割后的纹理;基于预设的合并参数,对多个切割后的纹理进行合并处理,得到目标模型的外表面对应的纹理展开结果。

在可选实施例中,上述方法还包括:通过第二预设节点,对目标模型的外表面对应的纹理展开结果和破碎面的纹理展开结果进行纹理展开处理,得到多个模型碎片的模型面的纹理展开结果。

进一步地,图8所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。

其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。

本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述纹理展开方法,具体实现可参见方法实施例,在此不再赘述。

具体地,上述纹理展开方法,包括:获取目标模型,并生成目标模型对应的破碎模型;其中,破碎模型由多个模型碎片组成;从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面;识别破碎面的边缘,得到破碎面的边缘线;基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎模型内部的破碎面的纹理展开结果。

上述纹理展开方法中,通过位于破碎模型内部的破碎面的边缘线,辅助内部破碎面进行纹理展开,可得到不存在纹理重叠的模型内部破碎面的纹理展开结果,从而提高了模型内部破碎面的纹理展开的准确率,有助于提高后续生成模型破碎效果的质量。

在可选实施例中,上述生成目标模型对应的破碎模型,包括:响应于材质类型的设置操作,确定目标模型对应的目标材质类型;基于目标材质类型对应的破碎效果,对目标模型进行破碎处理,得到目标模型对应的破碎模型。

在可选实施例中,上述从多个模型碎片的模型面中,确定位于破碎模型内部的破碎面,包括:通过第一预设节点,计算得到多个模型碎片的模型面中位于破碎模型内部的破碎面。

在可选实施例中,上述方法还包括:将破碎面存入预设分组中。

在可选实施例中,上述识别破碎面的边缘,得到破碎面的边缘线,包括:将预设分组中的破碎面输入至预设接缝工具中,通过预设接缝工具识别破碎面的边缘,输出破碎面的边缘线。

在可选实施例中,上述基于破碎面的边缘线,对位于破碎模型内部的破碎面进行纹理展开处理,得到破碎面的纹理展开结果,包括在对位于破碎模型内部的破碎面进行纹理展开的过程中,基于破碎面的边缘线,将相邻的破碎面的顶点粘连,得到破碎面的纹理展开结果;其中,破碎面的顶点包括:破碎面包含的边缘线之间的相交点。

在可选实施例中,上述方法还包括:响应针对曲率参数的参数设置操作,确定目标模型对应的目标曲率值;其中,目标曲率值用于指示:在为目标模型赋予纹理时,目标模型被切割产生的纹理数量的多少;基于目标曲率值,对目标模型进行纹理切割处理,得到目标模型对应的多个被切割后的纹理;基于预设的合并参数,对多个切割后的纹理进行合并处理,得到目标模型的外表面对应的纹理展开结果。

在可选实施例中,上述方法还包括:通过第二预设节点,对目标模型的外表面对应的纹理展开结果和破碎面的纹理展开结果进行纹理展开处理,得到多个模型碎片的模型面的纹理展开结果。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种地形纹理处理方法、装置、计算机设备及可读存储介质
  • 模态框构建方法、装置、电子设备、计算机可读存储介质
  • 电子设备、音量调节方法及装置、计算机可读存储介质
  • 数据库同步恢复方法、装置、计算机可读存储介质和电子设备
  • 纹理压缩方法、装置、电子设备及计算机可读存储介质
  • 纹理压缩方法、装置、电子设备及计算机可读存储介质
技术分类

06120116487256