计算;推算;计数设备的制造及其应用技术1.本技术涉及模型制作技术领域,尤其涉及一种模型局部修改方法、设备、电子设备及存储介质。背景技术:2.在当前动画制作或是游戏制作领域,为了使其中的人、物等对象具有更逼真的形象,在领域中越来越多的使用三维(3d)模型进行建模,以此创建3d动画或3d游戏等等。在制作这些对象时,一般会为这些对象设置众多的附件模型,例如不同的服饰、首饰、装饰物等等。3.由于3d模型与这些附件模型通常是单独建立的,两个模型在组装时容易出现穿模的问题。例如在为人物模型佩戴帽子等附件时,为了使帽子的位置较为和谐,在大部分情况下都会与人物模型形成交叉造成穿模。现有方案一般会采用平面裁剪的方式对穿模部位进行修改等操作。但是,这样的修改方式只能进行简单样式的修改,而随着附件样式的多样化,一方面,受限于附件模型的切口形状,导致裁剪附件模型的自由度不高,当前方式已经很难准确确定出目标修改部位。另一方面,随着游戏、动画制作领域的发展及附件样式的多样化,导致3d模型与附件模型的着色器越来越多,当进行修改时可能涉及到众多的着色器修改,工作量巨大、不宜维护,可移植性差,修改的准确性不高。技术实现要素:4.有鉴于此,本技术提出一种模型局部修改方法、设备、电子设备及存储介质,以此使修改不受限于附件模型的切口形状,提高附件模型裁剪的自由度及可移植性,以此快速解决穿模问题。5.基于上述目的,本技术提供了一种模型局部修改方法,包括:6.确定目标模型的遮挡部位及目标修改部位,确定所述遮挡部位的包裹体模型及所述目标修改部位的深度值图像;7.对所述包裹体模型进行模板测试,确定所述目标修改部位的深度值图像上各个像素点与所述包裹体模型的相对位置;8.根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作。9.基于同一构思,本技术还提供了一种模型局部修改设备,包括:10.确定模块,用于确定目标模型的遮挡部位及目标修改部位,确定所述遮挡部位的包裹体模型及所述目标修改部位的深度值图像;11.测试模块,用于对所述包裹体模型进行模板测试,确定所述目标修改部位的深度值图像上各个像素点与所述包裹体模型的相对位置;12.修改模块,用于根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作。13.基于同一构思,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任一项所述的方法。14.基于同一构思,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机实现如上任一项所述的方法。15.从上面所述可以看出,本技术提供的一种模型局部修改方法、设备、电子设备及存储介质,包括:确定目标模型的遮挡部位及目标修改部位,确定所述遮挡部位的包裹体模型及所述目标修改部位的深度值图像;对所述包裹体模型进行模板测试,确定所述目标修改部位的深度值图像上各个像素点与所述包裹体模型的相对位置;根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作。本技术通过包裹体模型确定遮挡部位的空间范围后,通过模板测试方法精准的确定出目标修改部位中各处需要修改的区域范围,从而以不依赖遮挡部位的切口形状的方式完成对目标修改部位的修改,提高了对目标修改部位裁剪的自由度及可移植性,提升了修改区域确认的准确度和精细程度。目标修改部位目标修改部位目标修改部位目标修改部位目标修改部位目标修改部位附图说明16.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。17.图1为本技术实施例提出的一种模型局部修改方法的流程示意图;18.图2为本技术实施例提出的一种目标模型的局部示意图;19.图3为本技术实施例提出的一种遮挡部位的模型及对应包裹体模型的示意图;20.图4为本技术实施例提出的一种目标修改部位的深度值示意图;21.图5为本技术实施例提出的阴影体算法的原理示意图;22.图6为本技术实施例提出的目标修改部位去除修改区域后的示意图;23.图7为本技术实施例提出的目标模型完成修改后的效果示意图;24.图8为本技术实施例提出的一种模型局部修改设备的结构示意图;25.图9为本技术实施例提出的电子设备结构示意图。具体实施方式26.为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。27.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件、物件或者方法步骤涵盖出现在该词后面列举的元件、物件或者方法步骤及其等同,而不排除其他元件、物件或者方法步骤。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。28.如背景技术部分所述,在当前动画制作或是游戏制作领域,越来越多的使用了3d模型,同时模型的形象等也越来越丰富多样。以当前的游戏领域为例,当前市场中出现了越来越多可供玩家自定义形象的选择,大到发型、时装,小到各类配饰,随着形态各异的模型的引入,模型间的穿插问题不可避免地显现出来,以为人物戴上帽子为例,人物发型与帽子的穿插成为了亟待解决的问题。市面上的游戏通常避免搭配帽子,或仅支持款式极少的帽子种类,剔除的自由度和效果均十分有限。目前已知的游戏中,部分游戏对于帽子等附件的穿模问题,已做了简单的裁剪方案。现有技术的做法是定义帽子的一个裁剪平面,对位于这个平面一侧的头发、发饰进行裁剪。具体实现方案为:将平面的定义传入顶点着色器,在顶点着色阶段判断像素与平面的位置关系,将位于平面上侧的顶点颜色的alpha值设置为0.0。使用此方式绘制头发,由于平面上侧的头发是全透明,所以在执行颜色混合后并不能显示在画面中,达到了剔除帽子以外头发的目的。但是以这种方式进行穿模裁剪,其只能基于平面进行裁剪,只能处理帽口平齐的情况,从而帽子等附件的形式只能较为单一简单,同时这种“一刀切”的方式对于裁剪或修改的准确程度、精细程度都无法得到很好的保证。随着附件样式的多样化,一方面,受限于附件模型的切口形状,导致裁剪附件模型的自由度不高,当前方式已经很难准确确定出目标修改部位;另一方面,随着游戏、动画制作领域的发展及附件样式的多样化,导致3d模型与附件模型的着色器越来越多,当进行修改时可能涉及到众多的着色器修改,工作量巨大、不宜维护,可移植性差,修改的准确性不高。29.结合上述实际情况,本技术实施例提出了一种模型局部修改方案,通过包裹体模型确定遮挡部位的空间范围后,通过模板测试方法精准的确定出目标修改部位中各处需要修改的区域范围,从而以不依赖遮挡部位的切口形状的方式完成对目标修改部位的修改,提高了对目标修改部位裁剪的自由度及可移植性,提升了修改区域确认的准确度和精细程度。30.如图1所示,为本技术提出的一种模型局部修改方法的流程示意图,该方法具体包括:31.步骤101,确定目标模型的遮挡部位及目标修改部位,确定所述遮挡部位的包裹体模型及所述目标修改部位的深度值图像。32.在本步骤中,目标模型即为用于动画制作或游戏制作的人物或事物模型,在这些模型上通常会设置一些附件或挂件,从而模型与这些附件之间可能产生穿模问题。从而目标模型的遮挡部位即为这些会造成穿模问题的附件模型或部位,目标修改部位则为目标模型上佩戴或添加这些附件模型或部位的部位,例如:佩戴有帽子的3d人物模型,则帽子为遮挡部位,对应的3d人物模型的头发或头部为目标修改部位;或是设置有装饰灯的3d树木模型(如装有五角星灯的圣诞树等),则装饰灯为遮挡部位,对应的3d树木模型安装该装饰灯的部位为目标修改部位(如圣诞树模型的尖状顶部等)等等。在目标模型中,遮挡部位及目标修改部位之间的相对位置关系一般都是事先设定好的,如图2所示,以人物模型佩戴帽子为例,在完成人物的制作后,其佩戴帽子的部位及帽子佩戴的高度等就已经设定好了,在如图2所示的荷叶型帽子上可以明显看到穿模而出的头发等部位,其中荷叶型帽子即为遮挡部位,头发或头部即为目标修改部位。以佩戴帽子的人物模型为例,该人物模型本身即为目标模型,而目标修改部位就为该人物模型用于佩戴帽子的头部部位或头部的头发部位,而遮挡部位就为佩戴于该头部部位或头发部位的帽子模型,该帽子模型形状固定,依附于该人物模型的头部部位或头发部位之上。33.之后,遮挡部位的包裹体模型为该遮挡部位的覆盖区域模型或阴影区域模型等等,其为一封闭的几何体模型,被其包裹在其中的区域即为不能被修改的区域。如图3所示,为一具体应用场景中,遮挡部位(帽子)与其对应的包裹体的示意图,其中图3a为遮挡部位,即荷叶型帽子的模型示意图;图3b为该遮挡部位的包裹体模型示意图;图3c为遮挡部位叠加包裹体的示意图。其中,包裹体一般为制作遮挡部位的设计师在制作该遮挡部位时一并设计制作的,其会随遮挡部位一起与目标模型进行结合,包裹体模型是根据遮挡部位的形状创建的,包裹体反映遮挡部位的内部空间且遮挡部位的内部空间不可被修改,通过包裹体模型可以快速确定遮挡部位的遮挡范围,从而可以以此为基础快速确定出目标修改部位的修改区域。以帽子作为遮挡部位为例,目标修改部位为头部的头发,在具体实施例中,可以先复制一层帽子模型。然后找到该帽子模型的外边缘,沿着外边缘进行挤出,以挤出模型片。之后重复使用多次挤出功能,并结合工程师的输入操作,对该模型的点线面进行调整,使得包裹体模型比角色佩戴帽子之后角色头发的物理运动范围更大一些。最后,在包裹体模型完全包裹住帽子的运动范围之后,对包裹体模型进行闭合,使包裹体模型称为完全的闭合体。另外,在复制帽子模型时可以将复试的模型略微调整小一些,可以通过调整模型的pushvalue值(下调0.05左右)进行调整,以此来提升包裹体与帽子模型的匹配程度。在具体应用场景中,可以利用3dmax软件的extude工具进行挤出操作,extude工具是dcc工具中的建模工具,可以理解为通过一条边,一个面挤出另一个面的编辑工具。这里的工具只是为了更快的达到想要的模型。之后,以帽子模型为例,挤出操作就是通过帽子边缘的一圈线,挤出生成另一圈线,然后调整这一圈线的大小,然后再次挤出,这样重复操作达到想要的包裹体样子。新的挤出的面一般情况下是距离帽子的中心更远,并且整体走向是沿着帽子斜向下(即沿头发部位的范围及运动范围进行延伸)的,然后最后完全包裹住头发的运动范围之后,做一个模型的闭合。将挤出的线合并成一个点。在具体应用场景中,一般会挤出15至20次左右然后封闭模型。最后,包裹体为概念模型,其仅在设计时提供一个概念区域,方便用户或设计师对模型进行制作或修改,而并不是实际的模型,在目标模型完成后并不会显示出来。34.之后,深度值即为图像深度,是指像素深度中实际用于存储图像的灰度或色彩所需要的比特位数。假定图像的像素深度为16bit,但用于表示图像的灰度或色彩的位数只有15位,则图像的图像深度为15。图像深度决定了图像的每个像素可能的颜色数,或可能的灰度级数。例如:彩色图像每个像素用r,g,b三个分量表示,每个分量用8位,像素深度为24位。深度图在3d计算机图形和计算机视觉中,是一种图像或图像通道,其中包含与场景对象的表面到视点的距离有关的信息,用于模拟的3d形状或重建它们。较为形象的,一个图像的深度范围一般是0至1的范围区间,深度即表示该图像上的各点到摄像机、镜头或视点位置的距离,其中视点位置或相机位置为设定好的图像通道位置或拍摄位置,视点位置处的深度值为0,视点的最大视线距离位置处的深度值为1,进而可以确定出图像上每个点的深度值,从而生成深度值图像。如图4所示,为具体应用场景中,模型头部头发的深度值图像的示意图。35.最后,由于在目标模型上遮挡部位与目标修改部位之间的位置关系本身就已经设定好了,从而,包裹体模型与深度值图像之间的位置关系也相对应的进行了相似设置。36.步骤102,对所述包裹体模型进行模板测试,确定所述目标修改部位的深度值图像上各个像素点与所述包裹体模型的相对位置。37.在本步骤中,在确定了包裹体模型即深度值图像之后,可以通过阴影体算法等方式对深度值图像进行模板测试。其中,模板测试是在对包裹体模型进行绘制的过程中进行的一个测试过程,可以分为正面绘制和背面绘制等等。在进行模板测试时可以通过阴影体算法等进行深度测试,通过绘制过程中确定的包裹体模型上点的深度值与目标修改部位的深度值图像上各个像素点的深度值进行比较,从而可以确定目标修改部位上每个像素点与包裹体模型之间的位置关系。38.在一些实施例中,可以通过z-pass算法或z-fail算法去进行模板测试。以z-fail算法为例,首先清空深度/模板缓冲区中的模板值,之后对包裹体模型的正面进行渲染绘制,若某一像素点的深度测试失败,为深度/模板缓冲区中该点的模板值减1;对包裹体模型的背面进行渲染绘制,若某一像素点的深度测试失败,为深度/模板缓冲区中该点的模板值加1。39.以图5为例,其中最大的不规则封闭曲线为包裹体一个切面的示意图,之后,在图形学中规定,图形中法线朝向视点的为正面,法线背向视点的背面。从而一个面既可以是正面也可以是背面,关键是视点或相机位置。在图5中,假设以a点为视点位置,则包裹体被分为了正面c及背面d,其中虚线b为两面的分割界线。之后图形a、b、c为目标修改部位的示意图,其中,a与c在包裹体模型外,b在包裹体模型内。在进行正面的模板测试时,从a点出发到面c的测试射线被a挡住从而,a处的深度测试失败,则a处的模板值减1为-1,b处和c处由于测试射线都到达了面c从而深度测试成功,b处和c处的模板值不变为0。之后进行背面的模板测试,相类似的,测试射线被a和b挡住,则a和b的模板值加1,c处模板值还是不变,从而最终,a处和c处的模板值为0,为在包裹体外;b处的模板值为1,为在包裹体内。最终通过这样的模板测试,确定了目标修改部位上每个像素点的模板值,从而最终确定了目标修改部位上各个像素点与包裹体模型的相对位置关系。当然利用其他算法,如z-pass算法同样能够对图像进行模板测试,从而完成确定深度值图像中各个像素点与包裹体模型的相对位置关系。40.步骤103,根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作。41.在本步骤中,通过步骤102确定了相对位置之后,从而可以将位于包裹体外的部位作为目标修改部位的修改区域,进而对这个修改区域进行修改,其修改的方式可以是删除、隐藏、设置透明、不绘制或者不渲染显示等等方式,以使修改区域在图形用户界面上相对于用户(视觉上)处于不可见状态。42.在具体应用场景中,如图6所示,为前述示例中的头发模型的修改模型,其中白色区域为头发模型去除了修改模型后的保留模型,即为需要进行制作或显示的部位,最终完成了对目标模型的局部修改,形成了如图7所示的目标模型。43.之后,对于修改完成的目标模型可以进行输出处理,其可以是将目标模型展示出来,供工程师对该目标模型进行进一步的调整或附件的添加等绘制工作。也可以是对完成的目标模型进行检查并发送给下游终端,以继续进行下游的制作步骤。即可以输出目标模型,用以存储、展示、使用或再加工该目标模型。根据不同的应用场景和实施需要,具体的对于该目标模型的输出方式可以灵活选择。44.例如,对于本实施例的方法在单一设备上执行的应用场景,可以将目标模型直接在当前设备的显示部件(显示器、投影仪等)上以显示的方式输出,使得当前设备的操作者能够从显示部件上直接看到目标模型的内容。45.又如,对于本实施例的方法在多个设备组成的系统上执行的应用场景,可以将目标模型通过任意的数据通信方式(有线连接、nfc、蓝牙、wifi、蜂窝移动网络等)发送至系统内的其他作为接收方的预设设备上,即同步终端上,以使得同步终端可以对其进行后续处理。可选的,该同步终端可以是预设的服务器,服务器一般设置在云端,作为数据的处理和存储中心,其能够对目标模型进行存储和分发;其中,分发的接收方是终端设备,这些终端设备的持有者或操作者可以是绑定工程师、下游动画、游戏制作工程师、动画、游戏制作公司的公共数据库以记录各个工程师的工作成果等等。46.再如,对于本实施例的方法在多个设备组成的系统上执行的应用场景时,可以将目标模型通过任意的数据通信方式直接发送至预设的终端设备,终端设备可以是前述段落列举中的一种或多种。47.从上面所述可以看出,本技术实施例的一种模型局部修改方法,包括:确定目标模型的遮挡部位及目标修改部位,确定所述遮挡部位的包裹体模型及所述目标修改部位的深度值图像;对所述包裹体模型进行模板测试,确定所述目标修改部位的深度值图像上各个像素点与所述包裹体模型的相对位置;根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作。本技术通过包裹体模型确定遮挡部位的空间范围后,通过模板测试方法精准的确定出目标修改部位中各处需要修改的区域范围,从而以不依赖遮挡部位的切口形状的方式完成对目标修改部位的修改,提高了对目标修改部位裁剪的自由度及可移植性,提升了修改区域确认的准确度和精细程度目标修改部位目标修改部位目标修改部位目标修改部位目标修改部位目标修改部位。48.需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本技术实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。49.需要说明的是,上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。50.在一个可选的示例性实施例中,所述对所述包裹体模型进行模板测试,包括:通过阴影体算法对所述包裹体模型进行模板测试。51.在本实施例中,阴影体或叫阴影锥(shadow volume)是三维计算机图形中所使用的一种技术,用于在绘制的场景中加入阴影。阴影体算法为判断测试绘制的图像的给定像素是否在阴影中,阴影体本身需要被绘制,但它是绘制到模板缓存,而不是最终的图像中。对于每个阴影体中的正面,模板缓存中的值是增加的;对于背面,它是减少的。利用相应概念,加入到模型修改中,将计算阴影改为计算深度,并以此进行相应的调整,从而完成模板测试。最终,通过阴影体算法能够快速准确方便的确定出包裹体模型上每个像素点的模板测试结果,位于包裹体模型外的像素点的测试结果是一致的,位于包裹体模型内的像素点的测试结果是一致的,从而根据测试结果可以准确确定出每个像素点与包裹体模型的相对位置关系。52.在一个可选的示例性实施例中,所述确定所述目标修改部位的深度值图像上各个像素点与所述包裹体模型的相对位置,包括:确定所述包裹体模型的图形学正面及图形学背面;对所述图形学正面进行绘制,以对所述目标修改部位的所述各个像素点进行正面模板测试,确定所述各个像素点的正面测试结果;对所述图形学背面进行绘制,以对所述目标修改部位的所述各个像素点进行背面模板测试,确定所述各个像素点的背面测试结果;根据所述正面测试结果及所述背面测试结果确定所述目标修改部位上位于所述包裹体模型的外部的像素点及位于所述包裹体模型的内部的像素点。以此具体计算确定每个像素点的位置,从而将位于包裹体模型内部的像素点与位于包裹体外部的像素点区分开来。53.在本实施例中,先确定出包裹体模型的正面及背面,如图5所示,以a为视点为例,c面为包裹体模型截面的正面,d面为包裹体模型截面的背面,其中虚线b为确定出的背面与正面之间的分界线示意。之后,包裹体模型在进行模板测试时都需要进行一个模板值的计算,通过确定包裹体模型上每个像素点的深度值与深度值图像上各个像素点的深度值进行比较测试,在绘制过程中,对测试失败的进行相应的处理得到对应像素点的模板值,[0054][0055]其中,stencilvalue为一个像素点的模板值。[0056]如图5所示,a、b、c为示例性的三个像素点。由于a点位于包裹体模型与视点之间,从而其在进行正面和背面模板测试时都会测试失败,从而其最终的模板值为0-1+1=0。b点位于包裹体模型内部,其在进行正面模板测试时会测试成功,而背面模板测试时会测试失败,从而其最终的模板值为0+1=1。c点位于包裹体模型外侧后方,从而其在进行正面和背面模板测试时都会测试成功,从而其最终的模板值为0。进而可以看出每个像素点在正面测试结果结合背面测试结果后,位于包裹体外侧的像素点的模板值都为0,而位于包裹体内的像素点的模板值都为1。从而可以根据正面测试结果及背面测试结果确定目标修改部位的各个像素点是位于包裹体模型的外部还是内部,进而确定各个像素点与包裹体模型的相对位置。[0057]在一个可选的示例性实施例中,所述根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作,包括:将位于所述包裹体模型的外部的像素点所组成的区域作为所述修改区域,对所述修改区域执行不绘制操作。从而以不绘制的方式对模型中相应部分进行修改,从而减轻了工程师对模型制作的工作量及制作难度,从而提高了整体效率。[0058]在本实施例中,如图6所示,为目标修改部位去除修改区域后示意图,其中白色部分为保留部分。在一些实施例中,在模型制作时由于对于有颜色的物体及透明的物体的制作流程是完全不同的两套流程,从而在针对穿模等问题时,如果采用透明等绘制方式,则对于一根头发,可能一部需要进行有颜色的绘制,一部分需要进行透明的绘制,而两种绘制方式是完全不同的绘制方式,从而会加大工程师的工作量,并且绘制后的拼接效果等也并不一定非常准确,进而通过不绘制的方式,直接不进行对应像素点的绘制工作,从而从根本上减轻了工程师的工作量,简单并且准确,提高了整体效率。[0059]在一个可选的示例性实施例中,所述确定目标模型的遮挡部位及目标修改部位,包括:确定所述目标模型上的依附附件,判断所述依附附件与所述目标模型的被依附部位是否发生穿插;若是,则将所述依附附件作为所述遮挡部位,将所述遮挡部位依附于所述目标模型上的被依附部位作为所述目标修改部位。[0060]在本实施例中,发生穿模的部件一般为目标模型上的依附附件,依附附件即为目标模型的附加部件,其可以是各种部件,例如人物模型的帽子、胸针、领带等等,这些部件在设置到目标模型上时,通常会有一个依附的部位,例如帽子依附于头上,领带依附于胸前,进而可以通过对附加部件与依附部位直接是否发生模型上的穿插来确定遮挡部位及目标修改部位。以佩戴帽子的人物模型为例,该人物模型本身即为目标模型,而目标修改部位就为该人物模型用于佩戴帽子的头部部位或头部的头发部位,而遮挡部位就为佩戴于该头部部位或头发部位的帽子模型,该帽子模型形状固定,依附于该人物模型的头部部位或头发部位之上。[0061]在一个可选的示例性实施例中,所述确定所述遮挡部位的包裹体模型,包括:复制所述遮挡部位的模型,生成初始模型;确定所述目标修改部位的最大移动范围,确定所述初始模型的边缘顶点,根据所述最大移动范围对所述边缘顶点进行多次挤出操作,使挤出后的顶点距离初始模型的中心的距离大于挤出前的顶点距离初始模型的中心的距离;响应于通过所述挤出操作生成的顶点所组成的中间模型包裹住所述目标修改部位的最大移动范围,对所述中间模型进行封闭,以生成所述包裹体模型。以此快速生成对应的包裹体模型。[0062]在本实施例中,以帽子模型为例,可以先复制一层帽子模型,形成初始模型。然后找到该帽子模型的外边缘,沿着外边缘进行挤出,以挤出模型片。其中,挤出操作就是通过帽子边缘的一圈线,挤出生成另一圈线,然后调整这一圈线的大小,然后再次挤出,这样重复操作达到想要的包裹体样子。新的挤出的面一般情况下是距离帽子的中心更远,并且整体走向是沿着帽子斜向下(即沿头发部位的范围及运动范围进行延伸)的,然后最后完全包裹住头发的运动范围之后,做一个模型的闭合。之后重复使用多次挤出功能,并结合工程师的输入操作,对该模型的点线面进行调整,使得包裹体模型比角色佩戴帽子之后角色头发的物理运动范围更大一些。最后,在包裹体模型完全包裹住帽子的运动范围之后,对包裹体模型进行闭合,使包裹体模型称为完全的闭合体。另外,在复制帽子模型时可以将复试的模型略微调整小一些,可以通过调整模型的pushvalue值(下调0.05左右)进行调整,以此来提升包裹体与帽子模型的匹配程度。[0063]在一个可选的示例性实施例中,所述确定所述目标修改部位的深度值图像,包括:确定最近摄像位置及对应的最远摄像位置,根据所述目标修改部位的所述各个像素点与所述最近摄像位置或所述最远摄像位置的位置关系,确定所述各个像素点的深度值,以生成所述深度值图像。[0064]在本实施例中,在事先设定好的视点位置,其视点位置即为最近摄像位置,而视线最远位置为最远摄像位置,一条视线射线上视点位置处的深度值为0,视点最远位置处的深度值为1。其中,在动画或游戏制作过程中,针对每个模型,其都会设置一个用于拍摄该模型的位置,即为视点位置,在播放动画时,用户看到的画面即为通过该点捕获到的画面,在具体场景中,可以是摄像机的位置处;之后,视线即为从该视点发射出去的光线或接受到的光线,视线最远位置即可以为通过该视点拍摄的画面最远位置。从而位于其中的目标修改部位上的每个像素点都会对应一条视线射线(通过两点形成的射线),从而该像素点相对于最近摄像位置或最远摄像位置其在视线射线上的位置是固定的,最终在0至1的区间内对应确定出其深度值。最终生成了深度值图像,可以看出深度值图像上位于同一个切面上的像素点的深度值可能是相同的,但是由于每个像素点与视点之间的相对关系,其对应的视线射线各不相同,从而根据深度值图像同样可以确定出每个像素点的实际位置。[0065]在一个可选的示例性实施例中,所述以生成所述深度值图像,包括:当调整所述各个像素点的颜色参数,以生成为灰度图像的所述深度值图像。以此加快处理速度,提高整体的处理效率。[0066]在本实施例中,由于为每个像素点附加颜色信息会涉及到多个其他通道,而附加颜色本身对局部修改并没有太多用处,同时深度值图像也并不需要颜色信息进行辅助,从而可以通过生成为灰度图像的深度值图像以加快处理速度。例如在绘制时可以设置blendstate的writemask=0。[0067]基于同一构思,与上述任意实施例方法相对应的,本技术还提供了一种模型局部修改设备。[0068]参考图8,所述模型局部修改设备,包括:[0069]确定模块810,用于确定目标模型的遮挡部位及目标修改部位,确定所述遮挡部位的包裹体模型及所述目标修改部位的深度值图像;[0070]测试模块820,用于对所述包裹体模型进行模板测试,确定所述目标修改部位的深度值图像各个像素点与所述包裹体模型的相对位置;[0071]修改模块830,用于根据所述相对位置确定所述目标修改部位的修改区域,对所述修改区域执行修改操作。[0072]为了描述的方便,描述以上设备时以功能分为各种模块分别描述。当然,在实施本技术实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。[0073]上述实施例的设备用于实现前述实施例中相应的模型局部修改方法,并且具有相应的方法实施例的有益效果,在此不再赘述。[0074]在一个可选的示例性实施例中,所述测试模块820,还用于:[0075]通过阴影体算法对所述包裹体模型进行所述模板测试。[0076]在一个可选的示例性实施例中,所述测试模块820,还用于:[0077]确定所述包裹体模型的图形学正面及图形学背面;[0078]对所述图形学正面进行绘制,以对所述目标修改部位的所述各个像素点进行正面模板测试,确定所述各个像素点的正面测试结果;[0079]对所述图形学背面进行绘制,以对所述目标修改部位的所述各个像素点进行背面模板测试,确定所述各个像素点的背面测试结果;[0080]根据所述正面测试结果及所述背面测试结果确定所述目标修改部位上位于所述包裹体模型的外部的像素点及位于所述包裹体模型的内部的像素点。[0081]在一个可选的示例性实施例中,所述修改模块830,还用于:[0082]将位于所述包裹体模型的外部的像素点所组成的区域作为所述修改区域,对所述修改区域执行不绘制操作。[0083]在一个可选的示例性实施例中,所述确定模块810,还用于:[0084]确定所述目标模型上的依附附件,判断所述依附附件与所述目标模型的被依附部位是否发生穿插;[0085]若是,则将所述依附附件作为所述遮挡部位,将所述遮挡部位依附于所述目标模型上的被依附部位作为所述目标修改部位。[0086]在一个可选的示例性实施例中,所述确定模块810,还用于:[0087]复制所述遮挡部位的模型,生成初始模型;[0088]确定所述目标修改部位的最大移动范围,确定所述初始模型的边缘顶点,根据所述最大移动范围对所述边缘顶点进行多次挤出操作,使挤出后的顶点距离初始模型的中心的距离大于挤出前的顶点距离初始模型的中心的距离;[0089]响应于通过所述挤出操作生成的顶点所组成的中间模型包裹住所述目标修改部位的最大移动范围,对所述中间模型进行封闭,以生成所述包裹体模型。[0090]在一个可选的示例性实施例中,所述确定模块810,还用于:[0091]确定最近摄像位置及对应的最远摄像位置,根据所述目标修改部位的所述各个像素点与所述最近摄像位置或所述最远摄像位置的位置关系,确定所述各个像素点的深度值,以生成所述深度值图像。[0092]在一个可选的示例性实施例中,所述确定模块810,还用于:[0093]调整所述各个像素点的颜色参数,以生成为灰度图像的所述深度值图像。[0094]基于同一构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的模型局部修改方法。[0095]图9示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。[0096]处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。[0097]存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。[0098]输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。[0099]通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。[0100]总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。[0101]需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。[0102]上述实施例的电子设备用于实现前述任一实施例中相应的模型局部修改方法,并且具有相应的方法实施例的有益效果,在此不再赘述。[0103]基于同一构思,与上述任意实施例方法相对应的,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的模型局部修改方法。[0104]本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。[0105]上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的模型局部修改方法,并且具有相应的方法实施例的有益效果,在此不再赘述。[0106]所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。[0107]另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。[0108]尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。[0109]本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
模型局部修改方法、设备、电子设备及存储介质与流程
作者:admin
2022-10-01 07:16:04
278
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 一种组合式冲击器的制作方法
- 上一篇: 排气扩散器的制作方法