一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟模型的轮廓处理方法、装置、计算机设备及存储介质与流程

2021-09-08 00:29:00 来源:中国专利 TAG:计算机 轮廓 装置 模型 虚拟


1.本技术涉及计算机技术领域,具体涉及虚拟模型的轮廓处理方法、装置、计算机设备及存储介质。


背景技术:

2.在游戏中,常常会给游戏虚拟角色的角色模型的周围描边,从而在展示游戏角色的同时展示游戏角色周围的一层勾边。这层勾边可以使游戏角色在画面中更加生动逼真。
3.现有技术中,在对角色模型进行描边时,常常由美术人员使用描边工具,手动在角色模型的外边缘进行绘制,如图1a所示,手动绘制出的勾边往往粗细一致。因此,现有的描边方法效率低下且效果单一。


技术实现要素:

4.本技术实施例提供一种虚拟模型的轮廓处理方法、装置、计算机设备及存储介质,可以提升描边的效率以及效果。
5.本技术实施例提供一种虚拟模型的轮廓处理方法,包括:
6.对于所述虚拟模型的每个轮廓顶点,计算所述轮廓顶点与每个骨骼之间的距离值,所述虚拟模型包括位于所述虚拟模型边缘的轮廓顶点和位于所述虚拟模型内的骨骼,所述每个骨骼均具有各自对应的权重值;
7.根据所述轮廓顶点与所述每个骨骼之间的距离值、所述每个骨骼各自对应的权重值,计算轮廓顶点与所述每个骨骼的距离加权值;
8.根据所述距离加权值,确定所述每个轮廓顶点对应的描边宽度值;
9.根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述虚拟模型的描边。
10.根据本技术的一个方面,本技术实施例还提供一种虚拟模型的轮廓处理装置,该装置包括:
11.距离计算单元,用于对于所述虚拟模型的每个轮廓顶点,计算所述轮廓顶点与每个骨骼之间的距离值,所述虚拟模型包括位于所述虚拟模型边缘的轮廓顶点和位于所述虚拟模型内的骨骼,所述每个骨骼均具有各自对应的权重值;
12.加权值计算单元,用于根据所述轮廓顶点与所述每个骨骼之间的距离值、所述每个骨骼各自对应的权重值,计算轮廓顶点与所述每个骨骼的距离加权值;
13.描边宽度值计算单元,用于根据所述距离加权值,确定所述每个轮廓顶点对应的描边宽度值;
14.描边处理单元,用于根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述虚拟模型的描边。
15.可选地,描边宽度值计算单元包括:
16.最小值获取子单元,用于从所述每个轮廓顶点对应的多个所述距离加权值中获取
最小的距离加权值;
17.描边宽度值子单元,用于根据所述每个轮廓顶点的最小的距离加权值,获取所述每个轮廓顶点对应的描边宽度值。
18.可选地,描边宽度值计算单元,具体用于对所述每个轮廓顶点的最小的距离加权值进行归一化处理,得到每个轮廓顶点对应的归一化处理结果,其中,所述归一化处理结果为所述描边宽度值。
19.可选地,在一种具体实施方式中,描边宽度值计算单元,包括:
20.第一除数计算单元,用于从多个轮廓顶点各自对应的最小的距离加权值中获取数值最大的距离加权值,记为第一归一化除数;
21.归一化计算单元,用于令多个轮廓顶点各自对应的最小的距离加权值均除以所述第一归一化除数,得到每个轮廓顶点对应的归一化处理结果。
22.可选地,在另一种具体实施方式中,描边宽度值计算单元,包括:
23.第二除数计算单元,用于从所述每个轮廓顶点与所述每个骨骼的距离值中获取数值最大的距离值,记为第二归一化除数;
24.归一化计算单元,用于令多个轮廓顶点各自对应的最小的距离加权值均除以所述第二归一化除数,得到每个轮廓顶点对应的归一化处理结果。
25.可选地,虚拟模型的轮廓处理装置还包括:
26.骨骼权重获取单元,用于获取所述每个骨骼各自对应的权重值。
27.可选地,描边宽度值计算单元,具体用于根据所述每个轮廓顶点的最小的距离加权值、最小的距离加权值与描边宽度值之间的映射关系,获取所述每个轮廓顶点对应的所述描边宽度值。
28.可选地,虚拟模型的轮廓处理装置还包括:
29.映射关系获取单元,用于获取最小的距离加权值与描边宽度值之间的映射关系。
30.可选地,描边处理单元包括:
31.偏移量确定子单元,用于对于所述虚拟模型的每个轮廓顶点,根据所述描边宽度值确定对应的轮廓顶点在所述虚拟模型的轮廓图层中的偏移量;
32.轮廓图层结果确定子单元,用于根据所述每个轮廓顶点的所述偏移量,对所述轮廓图层中的每个轮廓顶点进行偏移处理,得到经过偏移处理的轮廓图层结果;
33.勾边模型确定子单元,用于令所述虚拟模型的主图层覆盖所述轮廓图层结果,得到带有勾边的所述虚拟模型。
34.可选地,偏移量确定子单元包括:
35.偏移量映射次子单元,用于获取所述描边宽度值与所述偏移量之间的映射关系;
36.偏移量确定次子单元,用于根据所述描边宽度值、以及所述描边宽度值与所述偏移量之间的映射关系,确定对应的轮廓顶点在所述虚拟模型的轮廓图层中的偏移量。
37.可选地,轮廓图层结果确定子单元,具体用于对于所述每个轮廓顶点,以轮廓顶点的法线方向为方向、以轮廓顶点的偏移量为距离,进行轮廓顶点的偏移。
38.本技术实施例还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
39.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行实现如上所述方法的步骤。
40.本技术实施例对于虚拟模型中的每个轮廓顶点,计算轮廓顶点与多个骨骼每个骨骼的距离加权值,并从中获得每个轮廓顶点的最小的距离加权值;对每个轮廓顶点的最小的距离加权值进行处理,得到对应的每个轮廓顶点的描边宽度值;再依据描边宽度值,确定虚拟模型上对应轮廓顶点的位置所需要描边的具体粗细值,从而可以快速且生动的对虚拟模型进行描边,改善了现有的描边方法效率低下的问题。
附图说明
41.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1a示出了现有技术绘制出的勾边;
43.图1b是本技术实施例提供的虚拟模型的轮廓处理方法的流程示意图;
44.图1c是图1b中步骤140的具体步骤的流程示意图;
45.图2a示出了骨骼在人物角色虚拟模型的示意图;
46.图2b是本技术实施例提供的游戏角色模型的轮廓处理方法的一种具体实施方式的流程示意图;
47.图2c示出了利用本技术实施例提供的虚拟模型的轮廓处理方法进行描边后的效果示意图;
48.图3是本技术实施例提供的轮廓处理装置的结构示意图;
49.图4是本技术实施例提供的计算机设备的结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.本技术实施例提供一种虚拟模型的轮廓处理方法、装置、计算机设备及存储介质。
52.其中,该轮廓处理装置具体可以集成在计算机设备中,该计算机设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(personal computer,pc)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。计算机设备的结构示意图将在下文中进行详细描述。
53.在一些实施例中,该轮廓处理装置还可以集成在多个计算机设备中,比如,轮廓处理装置可以集成在多个服务器中,由多个服务器来实现本技术的虚拟模型的轮廓处理方法。
54.在一些实施例中,服务器也可以以终端的形式来实现。
55.以下分别进行详细说明。需说明的是,以下实施例出现的顺序不作为对实施例优
选顺序的限定。
56.在本实施例中,提供了一种虚拟模型的轮廓处理方法,如图1b所示,该轮廓处理方法的具体流程可以如下步骤110至步骤140:
57.步骤110,对于所述虚拟模型的每个轮廓顶点,计算所述轮廓顶点与每个骨骼之间的距离值,所述虚拟模型包括位于所述虚拟模型边缘的轮廓顶点和位于所述虚拟模型内的骨骼,所述每个骨骼均具有各自对应的权重值。
58.虚拟模型是运行在软件中的模拟现实事物的模型,虚拟模型由设计师设计,包括场景模型、建筑模型、游戏角色模型等。轮廓顶点是位于虚拟模型在平面视角的轮廓边缘中的顶点,轮廓顶点可以反映虚拟模型的轮廓边缘方向发生改变。对于虚拟模型的每个轮廓顶点,将相邻的两个轮廓顶点以线段连接,便可以构成虚拟模型在平面视角的轮廓。
59.骨骼位于虚拟模型的内部,可以用于执行虚拟模型的物理运动信息。
60.可选地,骨骼可以是虚拟模型中的游戏角色模型的身体骨骼,游戏角色可以是人物角色,也可以是动物角色,请参见图2a,图2a中的矩形框图示出了身体骨骼在人物角色虚拟模型的示意图。骨骼除了是身体骨骼外,还可以是描述虚拟模型除身体外其他部位运动的物件骨骼,请参见图2a,图2a中的椭圆形框图示出了身体骨骼在人物角色虚拟模型的示意图。
61.每个骨骼均具有表征自身位置的位置点,在计算轮廓顶点与骨骼的距离值时,可以计算轮廓顶点与骨骼的位置点之间的距离。骨骼的位置点可以是预先定义的点,位置点可以由开发人员根据自身的开发经验设置,也可以根据行业约定的规则设置,骨骼的位置点的具体设置方法不应该理解为是对本技术的限制。
62.权重值是用于计算轮廓顶点与骨骼的距离的加权值的权重,每个骨骼各自对应的权重值可以是预先设置的,权重值同样可以由开发人员根据自身的开发经验设置,也可以根据行业约定的规则设置,权重值的具体设置方法同样不应该理解为是对本技术的限制。
63.为了便于描述,不妨设虚拟模型有m个轮廓顶点,n个骨骼,其中m、n均为正整数,m与n可以相等,也可以不相等,m、n的具体数值不应该理解为是对本技术的限制。
64.在步骤110中,对m个轮廓顶点中的每个轮廓顶点,均会与n个骨骼计算距离值,即共需要进行m*n次距离值的计算。
65.步骤120,根据所述轮廓顶点与所述每个骨骼之间的距离值、所述每个骨骼各自对应的权重值,计算轮廓顶点与所述每个骨骼的距离加权值。
66.接上文列举的虚拟模型有m个轮廓顶点,n个骨骼继续进行说明。
67.对于m个轮廓顶点中的每个轮廓顶点,均与n个骨骼计算出了n个距离值。其中,n个距离值与n个骨骼一一对应,因此,n个距离值中的每个距离值与对应的骨骼的权重值相乘,便可以得到每个轮廓顶点与n个骨骼的距离加权值。
68.在一种具体实施方式中,步骤110至步骤120可以通过如下公式实现:
69.distance(vertex)=distance(vertex.position,bonesposition)*boneweight
70.其中,distance(vertex)为m个轮廓顶点中某一轮廓顶点(不妨记为轮廓顶点m
i
)与n个骨骼中某一骨骼(不妨记为骨骼n
j
)的距离加权值;distance(vertex.position,bonesposition)为轮廓顶点m
i
与骨骼n
j
的距离值;vertex.position为轮廓顶点m
i
在虚拟模型中的位置;bonesposition为骨骼n
j
在虚拟模型中对应的位置点;boneweight为骨骼n
j

应的权重值,i、j均为正整数。
71.在计算轮廓顶点m
i
与骨骼n
j
的距离加权值distance(vertex)时,可以先计算出轮廓顶点m
i
与骨骼n
j
的距离值distance(vertex.position,bonesposition),然后再将该距离值distance(vertex.position,bonesposition)与骨骼n
j
的权重值boneweight相乘,从而完成计算。
72.在一些实施例中,轮廓顶点m
i
在虚拟模型中的位置可以用轮廓顶点m
i
在虚拟模型边缘的坐标值表示,也可以用轮廓顶点m
i
在虚拟模型所对应的像素点表示,轮廓顶点m
i
在虚拟模型中的位置的具体表现形式不应该理解为是对本技术的限制。骨骼n
j
在虚拟模型中对应的位置点可以用骨骼n
j
的位置点在虚拟模型边缘的坐标值表示,也可以用位置点在虚拟模型所对应的像素点表示,骨骼n
j
的位置点在虚拟模型中的位置的具体表现形式同样不应该理解为是对本技术的限制。
73.在一些实施例中,在步骤120之前,本技术实施例提供的方法还可以包括:获取所述每个骨骼各自对应的权重值。
74.n个骨骼中的每个骨骼以及每个骨骼的权重值存在着一一对应的映射关系,该骨骼与权重值之间的映射关系可以存储在计算机设备的存储器中,在执行步骤120之前,可以根据骨骼与权重值之间的映射关系获取每个骨骼各自对应的权重值。
75.步骤130,根据所述距离加权值,确定所述每个轮廓顶点对应的描边宽度值。
76.可选地,步骤130具体包括如下步骤131至步骤132:
77.步骤131,从所述每个轮廓顶点对应的多个所述距离加权值中获取最小的距离加权值。
78.从所述每个轮廓顶点对应的多个所述距离加权值中获取最小的距离加权值。
79.接上文列举的虚拟模型有m个轮廓顶点,n个骨骼继续进行说明。
80.对m个轮廓顶点中的每个轮廓顶点,均计算出n个距离加权值,因此,可以从n个距离加权值中确定出最小值,作为轮廓顶点的最小的距离加权值。
81.在一种具体实施方式中,确定m个轮廓顶点中的一个轮廓顶点的距离加权值的最小值的方式可以通过如下步骤进行:
82.在依次计算n个距离加权值时,可以每计算出一个距离加权值,便将该计算出的距离加权值与当前的最小的距离加权值进行比较。若计算出的距离加权值小于当前的最小的距离加权值,则可以删除当前的最小的距离加权值,并将计算出的距离加权值作为新的最小的距离加权值;若计算出的距离加权值大于或等于当前的最小的距离加权值,则可以保留当前的最小的距离加权值。依此类推,在计算出全部n个距离加权值后,便可以得到n个距离加权值中的最小的距离加权值。
83.在另一种具体实施方式中,确定m个轮廓顶点中的一个轮廓顶点的距离加权值的最小值的方式还可以通过如下步骤进行:
84.在计算出全部n个距离加权值后,对n个距离加权值进行排序,并从排序后的n个距离加权值中获取最小的距离加权值。其中,排序可以按照数值从小到大的顺序排序,也可以按照数值从大到小的顺序排序,排序的具体方式不应该理解为是对本技术的限制。确定每个轮廓顶点的距离加权值的最小值的方法同样不应该理解为是对本技术的限制。
85.可选地,可以从每个轮廓顶点对应的多个距离加权值中获取最小的距离加权值,
也可以获取距离值为倒数第二小的距离加权值,并以距离值为倒数第二小的距离加权值计算描边宽度值。
86.步骤132,根据所述每个轮廓顶点的最小的距离加权值,获取所述每个轮廓顶点对应的描边宽度值。
87.描边宽度值是用于表征描边宽度的宽窄程度的数值,描边宽度值可以由轮廓顶点的最小的距离加权值计算获得。
88.可选地,计算描边宽度值的方法可以包括:对所述每个轮廓顶点的最小的距离加权值进行归一化处理,得到每个轮廓顶点对应的归一化处理结果,其中,所述归一化处理结果为所述描边宽度值。
89.在上述的实施方式中,在获取到m个轮廓顶点的每个轮廓顶点对应的最小的距离加权值后,可以对上述的m个最小的距离加权值进行归一化处理,归一化处理可以在保持m个最小的距离加权值之间的比例关系的同时,限缩每个最小的距离加权值所在的数值区间。限缩过数值区间的最小的距离加权值(即描边宽度值)为后续步骤的处理带来了便捷。
90.在一种具体实施方式中,步骤“对所述每个轮廓顶点的最小的距离加权值进行归一化处理,得到每个轮廓顶点对应的归一化处理结果”,可以包括:
91.从多个轮廓顶点各自对应的最小的距离加权值中获取数值最大的距离加权值,记为第一归一化除数;令多个轮廓顶点各自对应的最小的距离加权值均除以所述第一归一化除数,得到每个轮廓顶点对应的归一化处理结果。
92.在上述的实施方式中,可以从m个最小的距离加权值中获得数值最大的距离加权值。为便于描述,可以将上述的数据最大的距离加权值记为第一归一化除数。令m个最小的距离加权值均除以该第一归一化除数,得到m个归一化处理结果。m个归一化处理结果保留了m个最小的距离加权值之间的比例关系,还被限制在了数值区间(0,1]中。在数值区间(0,1]中的m个归一化处理结果中的每个归一化处理结果可以作为对应轮廓顶点的颜色属性的具体数值被存储在虚拟模型中,以方便后续步骤的处理。
93.可选地,从m个最小的距离加权值中获得数值最大的距离加权值,可以通过如下步骤实现:可以对m个最小的距离加权值按照数值大小的关系进行排序,并从排序后得到的数列中获取数值最大的距离加权值;也可以对m个最小的距离加权值进行两两比较,不断更新比较结果中的最大值,从而在完成全部m个最小的距离加权值的比较后,得到数值最大的距离加权值。获得数值最大的距离加权值的具体方式不应该理解为是对本技术的限制。
94.在另一种具体实施方式中,步骤“对所述每个轮廓顶点的最小的距离加权值进行归一化处理,得到每个轮廓顶点对应的归一化处理结果”,可以包括:
95.从所述每个轮廓顶点与所述每个骨骼的距离值中获取数值最大的距离值,记为第二归一化除数;令多个轮廓顶点各自对应的最小的距离加权值均除以所述第二归一化除数,得到每个轮廓顶点对应的归一化处理结果。
96.在上述的实施方式中,可以从m个轮廓顶点中的每个轮廓顶点与n个骨骼中的每个骨骼的距离值中获取数值最大的距离值,并将该最大的距离值作为第二归一化除数,令m个最小的距离加权值均除以该第二归一化除数,得到m个归一化处理结果。将最大的距离值作为归一化除数,可以避免从m个最小的距离加权值中计算数值最大的距离加权值,从而可以减少计算步骤,提高运算效率。
97.可选地,计算描边宽度值的方法还可以包括:获取最小的距离加权值与描边宽度值之间的映射关系。根据所述每个轮廓顶点的最小的距离加权值、最小的距离加权值与描边宽度值之间的映射关系,获取所述每个轮廓顶点对应的所述描边宽度值。
98.在上述的实施方式中,可以根据最小的距离加权值与描边宽度值之间的映射关系,确定出与m个最小的距离加权值一一对应的描边宽度值,该实施方式直接根据最小的距离加权值与描边宽度值之间的映射关系确定出描边宽度值,可以较好地节约运算资源,提高效率。
99.步骤140,根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述虚拟模型的描边。
100.描边指的是对虚拟模型所进行的按轮廓描绘边框的动作,在描边完成后,虚拟模型的周围能够出现一层勾边,令虚拟模型更加生动逼真。勾边指的是描边处理完成后,在虚拟模型周围呈现出的边框。
101.在确定出描边宽度值之后,可以根据描边宽度值确定出虚拟模型中对应的轮廓顶点的描边的长短程度。由于在确定描边宽度值时,会依据轮廓顶点与最接近的骨骼的距离进行计算,因此,在根据描边宽度值进行对应轮廓顶点的描边时,可以在骨骼连接的关节处的多个轮廓顶点实现描边的长度变化,详情请参见图2c,从而可以生动地反应出关节位置可活动的性质,提升了虚拟模型的生动立体的程度,与图1a示出的现有技术绘制出的勾边相比,改善了现有技术效果单一的问题。
102.请参见图1c,图1c示出了步骤140的具体步骤的流程示意图,步骤140具体包括如下步骤141至步骤143:
103.步骤141,对于所述虚拟模型的每个轮廓顶点,根据所述描边宽度值确定对应的轮廓顶点在所述虚拟模型的轮廓图层中的偏移量。
104.在进行描边处理的过程中,虚拟模型会生成主图层和轮廓图层,其中,主图层为用于直观展示虚拟模型的形象的图层,轮廓图层为用于展示虚拟模型的勾边的图层,利用主图层覆盖轮廓图层,便可以得到有勾边的虚拟模型的形象。偏移量为轮廓顶点在轮廓图层中待偏移的长度距离,即同一个轮廓顶点在发生偏移前后的距离为上述的偏移量。
105.可选地,在一种具体实施方案中,步骤141包括:获取所述描边宽度值与所述偏移量之间的映射关系;根据所述描边宽度值、以及所述描边宽度值与所述偏移量之间的映射关系,确定对应的轮廓顶点在所述虚拟模型的轮廓图层中的偏移量。
106.根据描边宽度值与偏移量之间的映射关系,便可以得到轮廓图层中每个轮廓顶点的偏移距离。其中,描边宽度值与偏移量之间的映射关系可以预先存储在计算机设备的存储器中。
107.步骤142,根据所述每个轮廓顶点的所述偏移量,对所述轮廓图层中的每个轮廓顶点进行偏移处理,得到经过偏移处理的轮廓图层结果。
108.可选地,在一种具体实施方案中,步骤142包括:对于所述每个轮廓顶点,以轮廓顶点的法线方向为方向、以轮廓顶点的偏移量为距离,进行轮廓顶点的偏移。
109.对于m个轮廓顶点中的每个轮廓顶点,可以以轮廓顶点的法线方向为方向,以步骤141计算出的偏移量为距离,进行轮廓顶点的偏移,在对每个轮廓顶点均进行过上述处理后,便可以得到经过偏移处理的轮廓图层结果。
110.步骤143,令所述虚拟模型的主图层覆盖所述轮廓图层结果,得到带有勾边的所述虚拟模型。
111.主图层覆盖轮廓图层结果,由于轮廓图层结果中每个轮廓顶点均发生过偏移,因此轮廓图层结果便可以作为主图层的勾边,与主图层一同显示在显示界面中。勾边由轮廓顶点在轮廓图层发生偏移得到。
112.通过本技术实施例提供的方法可以获取虚拟模型中每个轮廓顶点与每个骨骼的距离加权值,从而获得每个轮廓顶点对应的最小的距离加权值;进一步地,再根据最小的距离加权值得到每个轮廓顶点对应的描边宽度值,并根据描边宽度值对每个轮廓顶点进行描边处理。比如,本技术实施例可以通过对所述每个轮廓顶点的最小的距离加权值进行归一化处理的方式得到描边宽度值,也可以根据每个轮廓顶点的最小的距离加权值、最小的距离加权值与描边宽度值之间的映射关系,获取所述每个轮廓顶点对应的所述描边宽度值。
113.本技术实施例可以应用于建筑设计场景、电子游戏场景,用于实现建筑模型、游戏角色模型的描边。
114.由上可知,本技术实施例可以快速实现描边,提升描边的效率。并且由于在确定描边宽度值时,会依据轮廓顶点与最接近的骨骼的距离进行计算,因此,在根据描边宽度值进行对应轮廓顶点的描边时,可以在骨骼连接的关节处的多个轮廓顶点实现描边的长度变化,通过关节处的描边的长度变化可以生动地反应出关节位置可活动的性质,从而可以提升虚拟模型的生动立体的程度。
115.根据上述实施例所描述的方法,以下将作进一步详细说明。
116.在一些实施例中,本技术可应用于电子游戏场景下,比如本方案可以是一种游戏角色模型的轮廓处理方法,以下将以图2a示出的游戏角色模型为例,对本技术实施例的方法进行详细说明。
117.请参见图2b,一种虚拟模型的轮廓处理方法具体流程包括如下步骤210至步骤240:
118.步骤210,对于游戏角色模型的每个轮廓顶点,根据轮廓顶点与每个骨骼的距离、每个骨骼各自的权重值,计算轮廓顶点与骨骼的距离加权值。
119.对于每个轮廓顶点,可以根据公式distance(vertex)=distance(vertex.position,bonesposition)*boneweight计算轮廓顶点与骨骼的距离加权值distance(vertex)。
120.其中,distance(vertex)为多个轮廓顶点中某一轮廓顶点与多个骨骼中某一骨骼的距离加权值;distance(vertex.position,bonesposition)为上述轮廓顶点与上述骨骼的距离值;vertex.position为上述轮廓顶点在游戏角色模型中的位置;bonesposition为上述骨骼在游戏角色模型中对应的位置点;boneweight为上述骨骼对应的权重值。
121.其中,各个骨骼以及各个骨骼对应的权重值可以事先指定。例如,可以通过如下公式进行骨骼与权重值的对应关系的确定:
122.bones=#(bone1,bone2,bone3,

,bone m)
123.weight=#(weight1,weight2,weight3,

,weight m)
124.其中,bone1,bone2,bone3,

,bone m为游戏角色模型的各个不同的骨骼,weight1,weight2,weight3,

,weight m为各个骨骼分别对应的权重值。骨骼与权重值存
在一一对应的对应关系,如骨骼bone1对应权重值weight1,bone2对应权重值weight2,bone3对应权重值weight3,
……
骨骼bone m对应权重值weight m。
125.步骤220,计算每个轮廓顶点的最小的距离加权值。
126.在一些实施例中,可以通过如下方式计算每个轮廓顶点的最小的距离加权值:对于每个轮廓顶点,每计算出一个距离加权值,便将计算出的距离加权值与该轮廓顶点当前的最小的距离加权值进行比较,若计算出的距离加权值小于当前的最小的距离加权值,将计算出的距离加权值作为新的最小的距离加权值;若计算出的距离加权值大于或等于当前的最小的距离加权值,保留该轮廓顶点当前的最小的距离加权值,从而获得每个轮廓顶点对应的最小的距离加权值。
127.对于每个轮廓顶点,可以根据公式mindistance=min(mindistance,distance)计算轮廓顶点的最小的距离加权值mindistance。其中,distance为当前计算出的距离加权值,min(mindistance,distance)中的mindistance是在与distance比较前的最小的距离加权值。
128.步骤230,将每个轮廓顶点对应的最小的距离加权值均与系数h相乘,得到经过系数变换的最小的距离加权值,所述经过系数变换的最小的距离加权值记为描边宽度值。
129.可选地,在一种具体实施方式中,系数h可以通过如下方式获得:从多个轮廓顶点分别对应的多个最小的距离加权值中,获得数值最大的距离加权值,不妨将该数值最大的距离加权值记为h,令h=1/h。
130.可选地,在另一种具体实施方式中,系数h可以通过如下方式获得:可以由开发人员根据游戏角色模型对应的游戏角色的身高数据和身高单位,依开发经验推算系数h。
131.步骤240,根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述游戏角色模型的描边。
132.步骤240与步骤140对应相同,在此便不做赘述。
133.由上可知,本技术实施例在确定描边宽度值时,会依据轮廓顶点与最接近的骨骼的距离进行计算,因此,在根据描边宽度值进行对应轮廓顶点的描边时,可以在骨骼连接的关节处的多个轮廓顶点实现描边的长度变化,从而可以生动地反应出关节位置可活动的性质,提升了游戏角色模型的生动立体的程度。
134.为了更好地实施以上方法,本技术实施例还提供一种虚拟模型的轮廓处理装置,该轮廓处理装置具体可以集成在计算机设备中,该计算机设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
135.例如,如图3所示,该轮廓处理装置可以包括:
136.距离计算单元301,用于对于所述虚拟模型的每个轮廓顶点,计算所述轮廓顶点与每个骨骼之间的距离值,所述虚拟模型包括位于所述虚拟模型边缘的轮廓顶点和位于所述虚拟模型内的骨骼,所述每个骨骼均具有各自对应的权重值。
137.加权值计算单元302,用于根据所述轮廓顶点与所述每个骨骼之间的距离值、所述每个骨骼各自对应的权重值,计算轮廓顶点与所述每个骨骼的距离加权值。
138.描边宽度值计算单元303,用于根据所述距离加权值,确定所述每个轮廓顶点对应的描边宽度值。
139.描边处理单元304,用于根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述虚拟模型的描边。
140.可选地,描边宽度值计算单元303包括:
141.最小值获取子单元,用于从所述每个轮廓顶点对应的多个所述距离加权值中获取最小的距离加权值;
142.描边宽度值子单元,用于根据所述每个轮廓顶点的最小的距离加权值,获取所述每个轮廓顶点对应的描边宽度值。
143.可选地,描边宽度值计算单元303,具体用于对所述每个轮廓顶点的最小的距离加权值进行归一化处理,得到每个轮廓顶点对应的归一化处理结果,其中,所述归一化处理结果为所述描边宽度值。
144.可选地,在一种具体实施方式中,描边宽度值计算单元303,包括:
145.第一除数计算单元,用于从多个轮廓顶点各自对应的最小的距离加权值中获取数值最大的距离加权值,记为第一归一化除数;
146.归一化计算单元,用于令多个轮廓顶点各自对应的最小的距离加权值均除以所述第一归一化除数,得到每个轮廓顶点对应的归一化处理结果。
147.可选地,在另一种具体实施方式中,描边宽度值计算单元303,包括:
148.第二除数计算单元,用于从所述每个轮廓顶点与所述每个骨骼的距离值中获取数值最大的距离值,记为第二归一化除数;
149.归一化计算单元,用于令多个轮廓顶点各自对应的最小的距离加权值均除以所述第二归一化除数,得到每个轮廓顶点对应的归一化处理结果。
150.可选地,虚拟模型的轮廓处理装置还包括:
151.骨骼权重获取单元,用于获取所述每个骨骼各自对应的权重值。
152.可选地,描边宽度值计算单元303,具体用于根据所述每个轮廓顶点的最小的距离加权值、最小的距离加权值与描边宽度值之间的映射关系,获取所述每个轮廓顶点对应的所述描边宽度值。
153.可选地,虚拟模型的轮廓处理装置还包括:
154.映射关系获取单元,用于获取最小的距离加权值与描边宽度值之间的映射关系。
155.可选地,描边处理单元304包括:
156.偏移量确定子单元,用于对于所述虚拟模型的每个轮廓顶点,根据所述描边宽度值确定对应的轮廓顶点在所述虚拟模型的轮廓图层中的偏移量;
157.轮廓图层结果确定子单元,用于根据所述每个轮廓顶点的所述偏移量,对所述轮廓图层中的每个轮廓顶点进行偏移处理,得到经过偏移处理的轮廓图层结果;
158.勾边模型确定子单元,用于令所述虚拟模型的主图层覆盖所述轮廓图层结果,得到带有勾边的所述虚拟模型。
159.可选地,偏移量确定子单元包括:
160.偏移量映射次子单元,用于获取所述描边宽度值与所述偏移量之间的映射关系;
161.偏移量确定次子单元,用于根据所述描边宽度值、以及所述描边宽度值与所述偏移量之间的映射关系,确定对应的轮廓顶点在所述虚拟模型的轮廓图层中的偏移量。
162.可选地,轮廓图层结果确定子单元,具体用于对于所述每个轮廓顶点,以轮廓顶点
的法线方向为方向、以轮廓顶点的偏移量为距离,进行轮廓顶点的偏移。
163.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
164.由上可知,本实施例提供的轮廓处理装置在确定描边宽度值时,会依据轮廓顶点与最接近的骨骼的距离进行计算,因此,在根据描边宽度值进行对应轮廓顶点的描边时,可以在骨骼连接的关节处的多个轮廓顶点实现描边的长度变化,从而可以生动地反应出关节位置可活动的性质,提升了虚拟模型的生动立体的程度。
165.相应的,本技术实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(personal digital assistant,pda)等终端设备。
166.如图4所示,图4为本技术实施例提供的计算机设备的结构示意图,该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
167.处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。
168.在本技术实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
169.对于所述虚拟模型的每个轮廓顶点,计算所述轮廓顶点与每个骨骼之间的距离值,所述虚拟模型包括位于所述虚拟模型边缘的轮廓顶点和位于所述虚拟模型内的骨骼,所述每个骨骼均具有各自对应的权重值。
170.根据所述轮廓顶点与所述每个骨骼之间的距离值、所述每个骨骼各自对应的权重值,计算轮廓顶点与所述每个骨骼的距离加权值。
171.根据所述距离加权值,确定所述每个轮廓顶点对应的描边宽度值。
172.根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述虚拟模型的描边。
173.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
174.可选的,如图4所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
175.触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生
的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light

emitting diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本技术实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
176.射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
177.音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
178.输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
179.电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
180.尽管图4中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
181.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
182.由上可知,本实施例提供的计算机设备可以计算轮廓顶点与多个骨骼每个骨骼的距离加权值,并从中获得每个轮廓顶点的最小的距离加权值;对每个轮廓顶点的最小的距离加权值进行处理,得到对应的每个轮廓顶点的描边宽度值;再依据描边宽度值,确定虚拟模型上对应轮廓顶点的位置所需要描边的具体粗细值,从而可以快速且生动的对虚拟模型进行描边,改善了现有的描边方法效率低下的问题。
183.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
184.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种虚拟模型的轮廓处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
185.对于所述虚拟模型的每个轮廓顶点,计算所述轮廓顶点与每个骨骼之间的距离值,所述虚拟模型包括位于所述虚拟模型边缘的轮廓顶点和位于所述虚拟模型内的骨骼,所述每个骨骼均具有各自对应的权重值。
186.根据所述轮廓顶点与所述每个骨骼之间的距离值、所述每个骨骼各自对应的权重值,计算轮廓顶点与所述每个骨骼的距离加权值。
187.根据所述距离加权值,确定所述每个轮廓顶点对应的描边宽度值。
188.根据所述每个轮廓顶点对应的描边宽度值,对所述每个轮廓顶点进行描边处理,从而实现对所述虚拟模型的描边。
189.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
190.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
191.由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种虚拟模型的轮廓处理方法中的步骤,因此,可以实现本技术实施例所提供的任一种虚拟模型的轮廓处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
192.以上对本技术实施例所提供的一种虚拟模型的轮廓处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜