本公开涉及计算机技术领域,具体而言,涉及一种模型材质构建方法、模型材质构建装置、电子设备以及计算机可读存储介质。
背景技术:
随着互联网技术的飞速发展,三维建模越来越成为人们关注的领域。模型贴图材质作为构成三维模型的基础,对于模型的显示效果起着非常重要的作用。在vr游戏环境中,大型的物体会离玩家视角非常近,因此需要材质的分辨率非常清晰,但是单通道的纹理贴图分辨率并不能达到非常高的像素比,如果用很高的分辨率贴图会导致内存极大的消耗。
目前,顶点颜色混合材质是游戏场景中最常见的一种混合纹理的方式,该方案是通过rgb三个通道来做为混合的一个技术,也就是说最多只能混合三张纹理贴图,如果需要三张以上的纹理贴图混合就无法满足,导致创建的分层材质的显示效果较差,无法满足大部分游戏场景的需求。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:
本公开实施例的目的在于提供一种模型材质构建方法、模型材质构建装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服相关方案中分层材质的显示效果较差的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种模型材质构建方法,包括:响应于模型导入操作,获取待编辑的原始模型,并确定所述原始模型上对应的材质区域标识;响应于分层材质构建操作,根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质;通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质。
在本公开的一些示例实施例中,基于前述方案,在确定所述原始模型上对应的材质区域标识之前,所述方法还包括:响应于模型编辑操作,根据预设的材质球对所述原始模型进行材质区域划分处理,确定所述原始模型的材质层对应的材质区域;对所述材质区域进行标识处理,生成所述原始模型上对应的材质区域标识。
在本公开的一些示例实施例中,基于前述方案,在确定所述原始模型上对应的材质区域标识之前,所述方法还包括:响应于模型编辑操作,构建所述原始模型对应的遮罩贴图以基于所述遮罩贴图确定所述原始模型的材质层对应的材质区域;对所述材质区域进行标识处理,生成所述原始模型上对应的材质区域标识。
在本公开的一些示例实施例中,基于前述方案,在根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质之前,所述方法还包括:响应材质创建操作,创建材质库;其中,所述材质库包括材质数据以及材质球;所述根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质,包括:根据所述材质区域标识从预创建的所述材质库中确定所述原始模型对应分层材质所需的目标材质。
在本公开的一些示例实施例中,基于前述方案,所述响应于模型导入操作,获取待编辑的原始模型,还包括:获取所述原始模型对应的法线贴图以及所述原始模型各材质层的所述遮罩贴图。
在本公开的一些示例实施例中,基于前述方案,所述方法还包括:对所述材质库中的所有材质创建唯一标识信息。
在本公开的一些示例实施例中,基于前述方案,在通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质之后,所述方法还包括:基于所述唯一标识信息,通过从所述材质库中选取的替换材质替换所述原始模型的所述目标材质以生成不同分层材质的所述原始模型。
根据本公开实施例的第二方面,提供了一种模型材质构建装置,包括:模型导入模块,用于响应于模型导入操作,获取待编辑的原始模型,并确定所述原始模型上对应的材质区域标识;目标材质确定模块,用于响应于分层材质构建操作,根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质;分层材质构建模块,用于通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置还包括材质区域标识生成单元,所述材质区域标识生成单元被配置为:响应于模型编辑操作,根据预设的材质球对所述原始模型进行材质区域划分处理,确定所述原始模型的材质层对应的材质区域;对所述材质区域进行标识处理,生成所述原始模型上对应的材质区域标识。
在本公开的一种示例性实施例中,基于前述方案,所述材质区域标识生成单元还被配置为:响应于模型编辑操作,构建所述原始模型对应的遮罩贴图以基于所述遮罩贴图确定所述原始模型的材质层对应的材质区域;对所述材质区域进行标识处理,生成所述原始模型上对应的材质区域标识。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置还包括材质库创建单元,所述材质库创建单元被配置为:响应材质创建操作,创建材质库;其中,所述材质库包括材质数据以及材质球;所述根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质,包括:根据所述材质区域标识从预创建的所述材质库中确定所述原始模型对应分层材质所需的目标材质。
在本公开的一种示例性实施例中,基于前述方案,所述模型导入模块还包括贴图导入单元,所述贴图导入单元被配置为:获取所述原始模型对应的法线贴图以及所述原始模型各材质层的所述遮罩贴图。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置还包括材质标识创建单元,所述材质标识创建单元被配置为:对所述材质库中的所有材质创建唯一标识信息。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置还包括分层材质替换单元,所述分层材质替换单元被配置为:基于所述唯一标识信息,通过从所述材质库中选取的替换材质替换所述原始模型的所述目标材质以生成不同分层材质的所述原始模型。
根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意一项所述的模型材质构建方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的模型材质构建方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开的示例实施例中的模型材质构建方法,响应于模型导入操作,获取待编辑的原始模型,并确定原始模型上的材质区域标识;响应于分层材质构建操作,根据材质区域标识确定原始模型对应分层材质所需的目标材质,然后通过材质区域标识将目标材质应用到原始模型上以构建原始模型对应的分层材质。一方面,通过材质区域标识确定分层材质各区域所使用的目标材质,并将目标材质应用到对应的区域,提升分层材质的清晰度以及层次感;另一方面,通过设置材质区域标识,能够通过替换材质区域标识的目标材质,实现材质库中材质的复用,提升材质的复用率,提升分层材质的创建效率;再一方面,相比于传统方案中的通过高分辨率贴图实现高清晰度的分层材质,通过材质区域标识将普通材质应用到模型上生成的分层材质所占用的内存资源更少,提升模型的渲染效率,提升系统性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的一些实施例的模型材质构建方法的流程示意图;
图2示意性示出了根据本公开的一些实施例的生成材质区域标识的流程示意图;
图3示意性示出了根据本公开的另一些实施例的生成材质区域标识的流程示意图;
图4示意性示出了根据本公开的一些实施例的通过传统分层渲染生成分层材质的通道示意图;
图5示意性示出了根据本公开的一些实施例的通过材质区域标识生成分层材质的模型示意图;
图6示意性示出了根据本公开的一些实施例的生成分层材质的流程示意图;
图7示意性示出了根据本公开的一些实施例的模型材质构建装置的方框示意图;
图8示意性示出了根据本公开的一些实施例的电子设备的计算机系统的结构示意图;
图9示意性示出了根据本公开的一些实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
此外,附图仅为示意性图解,并非一定是按比例绘制。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本示例实施例中,首先提供了一种模型材质构建方法,该模型材质构建方法可以应用于终端设备。图1示意性示出了根据本公开的一些实施例的模型材质构建方法流程的示意图。参考图1所示,该模型材质构建方法可以包括以下步骤:
步骤s110,响应于模型导入操作,获取待编辑的原始模型,并确定所述原始模型上对应的材质区域标识;
步骤s120,响应于分层材质构建操作,根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质;
步骤s130,通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质。
根据本示例实施例中的模型材质构建方法,一方面,通过材质区域标识确定分层材质各区域所使用的目标材质,并将目标材质应用到对应的区域,提升分层材质的清晰度以及层次感;另一方面,通过设置材质区域标识,能够通过替换材质区域标识的目标材质,实现材质库中材质的复用,提升材质的复用率,提升分层材质的创建效率;再一方面,相比于传统方案中的通过高分辨率贴图实现高清晰度的分层材质,通过材质区域标识将普通材质应用到模型上生成的分层材质所占用的内存资源更少,提升模型的渲染效率,提升系统性能。
下面,将对本示例实施例中的模型材质构建方法进行进一步的说明。
在步骤s110中,响应于模型导入操作,获取待编辑的原始模型,并确定所述原始模型上对应的材质区域标识。
在本公开的一个示例实施例中,模型导入操作可以是指将需要编辑分层材质的模型导入的操作,例如,模型导入操作可以是相关人员调用模型文件的操作,也可以是脚本通过预设接口获取模型数据的操作,当然,还可以是通过其他方式导入模型的操作,本示例实施例对此不作特殊限定。原始模型可以是指未对其应用材质的初步模型。
材质区域标识可以是指用于区分模型的材质层中应用材质的不同区域的标识信息,例如,材质区域标识可以是颜色标识,可以通过不同的颜色(或者颜色id)区分模型的材质层中应用材质的不同区域,如具体可以是红色颜色标识的区域均应用金属材质,蓝色颜色标识的区域均应用木头材质,通过颜色区分不同区域的材质,便于相关人员查看并设计不同的分层材质方案;材质区域标识也可以是数字标识,可以通过不同的数字编码(数字id)区分模型的材质层中应用材质的不同区域,如具体可以是数字001标识的区域均应用金属材质,数字002标识的区域均应用木头材质,通过数字id区分不同区域的材质,便于自动编辑脚本识别并应用不同的分层材质方案。当然,此处仅是示意性举例说明,材质区域标识还可以是其他能够便于区分不同区域的标识信息,本示例实施例对此不做特殊限定。
在本公开的一个示例实施例中,在确定原始模型上对应的材质区域标识之前,可以通过图2中的步骤创建原始模型对应的材质区域标识:
参考图2所示,步骤s210,响应于模型编辑操作,根据预设的材质球对原始模型进行材质区域划分处理,确定原始模型的材质层对应的材质区域;
步骤s220,对材质区域进行标识处理,生成原始模型上对应的材质区域标识。
其中,模型编辑操作可以是指在原始模型上确定不同材质区域的操作,例如,模型编辑操作可以是相关人员通过预设的材质球(材质球上包括预先绘制好的、原始模型上对应的不同形状的区域)应用到原始模型上的操作,也可以是自动编辑脚本通过检测预设的材质球上的区域在原始模型上确定不同材质区域的操作,本示例实施例对此不做特殊限定。材质区域划分处理可以是指通过预设的材质球确定原始模型上需要应用不同材质的材质区域的处理过程。材质层可以是指在原始模型上创建的、用于编辑分层材质的层,可以通过渲染着色器编辑原始模型对应的材质层。
标识处理可以是指将需要应用不同材质的材质区域进行划分以生成材质区域标识的处理过程,例如,将需要应用金属材质的材质区域划分为同一类区域并标识为第一材质区域标识(如红色区域或者数字标识为001的区域),将需要应用木头材质的材质区域划分为同一类区域并标识为第二材质区域标识(如蓝色区域或者数字标识为002的区域),本示例实施例对此不做特殊限定。
具体可以在3dsmax(一种三维动画渲染和制作软件)或者maya(一种三维建模和动画软件)中通过预设的材质球对原始模型进行材质区域划分处理,确定原始模型的材质层对应的材质区域。当然,还可以通过其他能够通过材质球对原始模型进行材质区域划分处理的软件实现,本示例实施例对此不做特殊限定。
可选的,在确定原始模型上对应的材质区域标识之前,还可以通过图3中的步骤创建原始模型对应的材质区域标识:
参考图3所示,步骤s310,响应于模型编辑操作,构建原始模型对应的遮罩贴图以基于遮罩贴图确定原始模型的材质层对应的材质区域;
步骤s320,对材质区域进行标识处理,生成原始模型上对应的材质区域标识。
其中,遮罩贴图(maskmap)可以是指用于遮罩一材质层中不需要修改的区域以生成模型上不同区域的贴图,通过遮罩贴图能够确定原始模型的材质层对应的不同材质区域,有效区分模型的分层材质中不同材质的应用范围。
具体标识处理的过程同上述实施例,在此不再赘述。
在本公开的一个示例实施例中,在将原始模型导入之后,可以将编辑原始模型时生成的法线贴图遮罩贴图也导入,以便更好地对模型进行材质渲染。因此,可以获取原始模型对应的法线贴图以及原始模型各材质层的遮罩贴图。
其中,法线贴图可以是指运用在三维模型表面用以呈现模型表面凹凸感的贴图,能够让细节程度较低的表面生成高细节程度的精确光照方向和反射效果。结合法线贴图以及遮罩贴图能够使原始模型的分层材质更加清晰,具有更加接近真实世界的光照效果,有效提升原始模型的分层材质的表现效果,同时通过法线贴图呈现模型表面的凹凸感,还可以降低原始模型的构建难度,提升系统渲染模型的效率。
具体可以在substancepainter(一种纹理贴图绘制软件)中通过构建原始模型对应的遮罩贴图以基于遮罩贴图确定原始模型的材质层对应的材质区域。当然,还可以通过其他能够通过构建原始模型对应的遮罩贴图对原始模型进行材质区域划分处理的软件实现,本示例实施例对此不做特殊限定。
在步骤s120中,响应于分层材质构建操作,根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质。
在本公开的一个示例实施例中,分层材质构建操作可以是指启动分层材质创建的操作,例如,可以是相关人员通过触发分层材质构建按钮启动分层材质创建的操作,也可以是自动编辑脚本通过预设接口启动分层材质创建的操作,本示例实施例对此不做特殊限定。
目标材质可以是指预先设置的、用于构成分层材质的基础材质(如金属材质、木质材质、沙土材质、塑料材质等基础材料对应的材质)或者合成材质(由基础材料构建的合成材料对应的材质,如某游戏世界观中的32号alpha钢材质、酸液材质等合成材质)
在本公开的一个示例实施例中,可以在根据材质区域标识确定原始模型对应分层材质所需的目标材质之前,响应材质创建操作,创建材质库。
其中,材质创建操作可以是指通过设置材质数据以及材质球参数构建材质的操作。材质库可以是指用于存储已创建的材质集合的文件。材质库可以包括材质数据以及材质球,材质数据可以是表示材质颜色的数据,材质球可以是表示材质质感(如金属度、粗糙度等)的数据。
参考表1所示,表1示意性示出了材质库中不同材质对应的数据,在对原始模型的分层材质进行编辑之前,将原始模型需要用到材质对应的材料参数进行归纳,以便于创建材质库:
表1
当然,表1中的材料参数仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。
具体的,可以根据材质区域标识从预创建的材质库中确定原始模型对应分层材质所需的目标材质。也可以将新创建的、材质库中不包含的新材质存储在材质库中,不断扩充材质库,这样能够提高材质的复用率,并且在下次需要创建相同的材质时,不需要重新创建,直接在材质库中获取即可,有效提升分层材质的创建效率。
进一步的,可以对材质库中的所有材质创建唯一标识信息。唯一标识信息可以是指材质库中的每个材质对应的唯一标识,例如,唯一标识信息可以是材质库中的每个材质对应的唯一名称(相关人员可以通过名称快速识别并选择合适的材质),如表1中的“玻璃纤维增强尼龙”和“玻璃纤维增强尼龙_氧化”,只要确保材质名称唯一即可。当然,也可以是材质库中的每个材质对应的唯一编码(自动编辑脚本可以通过数字编码快速筛选合适的材质),如表1中的“玻璃纤维增强尼龙”对应的唯一编码为017000709和“玻璃纤维增强尼龙_氧化”对应的唯一编码为017000709_1,当然,此处仅是示意性举例说明,本示例实施例不以此为限。
在步骤s130中,通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质。
在本公开的一个示例实施例中,基于预先设计好的分层材质方案(即可以理解为材质区域标识与不同种类目标材质的对应关系)通过材质区域标识将不同的目标材质应用到原始模型上以在原始模型上生成分层材质方案对应的分层材质。
具体的,可以是相关人员根据分层材质方案在材质库中选择目标材质对应的材质球,并通过材质球将目标材质应用到原始模型上目标材质关联的材质区域标识对应的材质区域;也可以是自动编辑脚本根据分层材质方案中材质区域标识与不同种类目标材质的对应关系,在材质库中通过目标材质的唯一编码选择对应目标材质并应用到原始模型上目标材质关联的材质区域标识对应的材质区域,本示例实施例对此不做特殊限定。
此外,由于相关项目中的大量模型可以复用同一套材质库,因此可以通过编写自动编辑脚本,基于材质唯一id或者材质唯一名称对应的方式批量自动生成材质层、分层材质、自动指定特定mask贴图并批量替换所有名称相同的材质id,充分发挥分层材质的程序化优势。
在本公开的一个示例实施例中,基于唯一标识信息,通过从材质库中选取的替换材质替换原始模型的目标材质以生成不同分层材质的原始模型。替换材质可以是指不同于原分层材质方案中的目标材质的材质,用于替换原分层材质方案中材质区域标识对应的目标材质,以生成新的不同于原分层材质方案的分层材质。
参考表2所示,表2中对传统pbr(physicallybasedrendering,基于物理的渲染技术)流程和分层pbr流程从多个方面进行了对比:
表2
通过本公开中的技术方案,能够基于物理的思维,使材质和特定模型不再是紧耦合的关系,而是可以完全根据物理世界的规律进行归纳、整理、应用的关系。通过最大程度的抽象、归纳,将传统美术流程中的共性加以提取,将依赖人的主观判断的不可控性降到最低,以此提高沟通效率、降低构建成本、提高项目整体开发效率,尽可能使流程和工具的有效结合,充分利用已有资源。
图4示意性示出了根据本公开的一些实施例的通过传统分层渲染生成分层材质的通道示意图。
参考图4所示,传统的分层渲染是基于每一张纹理贴图的rgba通道,但是这样生成的分层贴图的层次感就非常有限,因为一张贴图最多只有四个通道可以使用。虽然可以重复多张但是非常消耗系统性能,并且只能在延迟渲染管线当中才可以使用。
图5示意性示出了根据本公开的一些实施例的通过材质区域标识生成分层材质的模型示意图。
参考图5所示,基于材质区域标识的分层渲染,可以根据模型上面不同的材质区域标识(例如可以是颜色标识,也可以是数字标识,还可以是区域形状标识)来进行任意的分层设置,并且支持前向渲染和延迟渲染管线,有效提升分层材质的显示效果和清晰度。
图6示意性示出了根据本公开的一些实施例的生成分层材质的流程示意图。
参考图6所示,下面以unity3d(hdrp渲染管线)中的案例为例,分析具体步骤:
步骤s610,搭建模型编辑环境:基于unity2018hdrp渲染管线,采用相同hdr(high-dynamicrange,高动态范围图像)贴图创建hdrisky环境并添加,并添加bakingsky脚本以启用hdri照明,得到和ue4(虚幻游戏引擎4)近似的环境;
步骤s620,在原始模型上创建材质层:根据相似参数,基于hdrp/litshader建立材质层;
步骤s630,从材质库中选择原始模型对应的目标材质,并基于材质区域标识应用到原始模型上:基于hdrp/layeredlitshader建立针对原始模型的分层材质,并指定给原始模型;
步骤s640,生成包含分层材质的模型:最终得到与ue4中效果非常近似的结果。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种模型材质构建装置。参照图7所示,该模型材质构建装置700包括:模型导入模块710、目标材质确定模块720以及分层材质构建模块730。其中:模型导入模块710用于响应于模型导入操作,获取待编辑的原始模型,并确定所述原始模型上对应的材质区域标识;目标材质确定模块720用于响应于分层材质构建操作,根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质;分层材质构建模块730用于通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置700还包括材质区域标识生成单元,所述材质区域标识生成单元被配置为:响应于模型编辑操作,根据预设的材质球对所述原始模型进行材质区域划分处理,确定所述原始模型的材质层对应的材质区域;对所述材质区域进行标识处理,生成所述原始模型上对应的材质区域标识。
在本公开的一种示例性实施例中,基于前述方案,所述材质区域标识生成单元还被配置为:响应于模型编辑操作,构建所述原始模型对应的遮罩贴图以基于所述遮罩贴图确定所述原始模型的材质层对应的材质区域;对所述材质区域进行标识处理,生成所述原始模型上对应的材质区域标识。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置700还包括材质库创建单元,所述材质库创建单元被配置为:响应材质创建操作,创建材质库;其中,所述材质库包括材质数据以及材质球;所述根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质,包括:根据所述材质区域标识从预创建的所述材质库中确定所述原始模型对应分层材质所需的目标材质。
在本公开的一种示例性实施例中,基于前述方案,所述模型导入模块710还包括贴图导入单元,所述贴图导入单元被配置为:获取所述原始模型对应的法线贴图以及所述原始模型各材质层的所述遮罩贴图。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置700还包括材质标识创建单元,所述材质标识创建单元被配置为:对所述材质库中的所有材质创建唯一标识信息。
在本公开的一种示例性实施例中,基于前述方案,所述模型材质构建装置700还包括分层材质替换单元,所述分层材质替换单元被配置为:基于所述唯一标识信息,通过从所述材质库中选取的替换材质替换所述原始模型的所述目标材质以生成不同分层材质的所述原始模型。
上述中模型材质构建装置各模块的具体细节已经在对应的模型材质构建方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了模型材质构建装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述模型材质构建方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本公开的这种实施例的电子设备800。图8所示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,所述处理单元810可以执行如图1中所示的步骤s110,响应于模型导入操作,获取待编辑的原始模型,并确定所述原始模型上对应的材质区域标识;步骤s120,响应于分层材质构建操作,根据所述材质区域标识确定所述原始模型对应分层材质所需的目标材质;步骤s130,通过所述材质区域标识将所述目标材质应用到所述原始模型上以构建所述原始模型对应的所述分层材质。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(rom)823。
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参考图9所示,描述了根据本公开的实施例的用于实现上述模型材质构建方法的程序产品900,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。