CN114170354B - 虚拟角色服饰制作方法、装置、设备、程序和可读介质 - Google Patents
虚拟角色服饰制作方法、装置、设备、程序和可读介质 Download PDFInfo
- Publication number
- CN114170354B CN114170354B CN202111296229.0A CN202111296229A CN114170354B CN 114170354 B CN114170354 B CN 114170354B CN 202111296229 A CN202111296229 A CN 202111296229A CN 114170354 B CN114170354 B CN 114170354B
- Authority
- CN
- China
- Prior art keywords
- model
- cloth
- data
- carrier
- virtual character
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供一种虚拟角色服饰制作方法、装置、设备、程序和可读介质,该方法包括:创建第一虚拟角色模型,第一虚拟角色模型的服饰由多层不同材质的布料构成;绘制第一虚拟角色模型的布料数据,其中,第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据;获取第一虚拟角色模型的骨骼数据;基于绘制后的布料数据以及骨骼数据,模拟第一虚拟角色模型在运动过程中服饰的动态效果。采用本发明,在创建的第一虚拟角色模型中可以添加不同材质的多层布料效果,且多层布料使用同一布料数据。多层布料之间不会穿帮,提高了游戏的真实体验。
Description
技术领域
本发明涉及游戏开发技术领域,尤其涉及一种虚拟角色服饰制作方法、装置、设备、程序和可读介质。
背景技术
为了提高游戏玩家在游戏过程中的体验,需要创作各种各样的比较复杂精美的虚拟角色的服饰。有些服饰是由不同材质的多层布料构成的,比如一些虚拟角色的包裙,可以由半透明与非透明的不同材料的两层布料构成。为了得到这样的布料效果,一般来说会将两层布料分为两个着色器(也可称为shader),单独为每个shader建立布料数据。同一shader内部的不同组布料数据存在碰撞效果,而不同shader内部的布料数据之间不存在碰撞关系,进而最终渲染出的不同层布料相互会穿帮,使得布料效果大大折扣,影响游戏的真实效果。另外,多个shader的布料数据会使得虚拟角色在布料渲染过程中的运算量大大增加。
发明内容
本发明实施例提供一种虚拟角色服饰制作方法、装置、设备、程序和可读介质,用以实现避免不同层布料相互穿帮,提高游戏的真实体验,降低虚拟角色在布料渲染过程中的运算量。
第一方面,本发明实施例提供一种虚拟角色服饰制作方法,该方法包括:
创建第一虚拟角色模型,所述第一虚拟角色模型的服饰由多层不同材质的布料构成;
绘制所述第一虚拟角色模型的布料数据,其中,所述第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据;
获取所述第一虚拟角色模型的骨骼数据;
基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,所述动态效果为所述服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。
可选地,所述绘制所述第一虚拟角色模型的布料数据,包括:
获取所述第一虚拟角色模型的服饰包括的多层载体模型,每层载体模型与一层布料对应;
在所述多层载体模型中,确定满足预设条件的目标层载体模型;
确定所述目标层载体模型对应的第一布料数据;
基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据;
将所述第一布料数据应用到所述服饰的所述目标层载体模型上,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
可选地,所述在所述多层载体模型中,确定满足预设条件的目标层载体模型,包括:
在所述多层载体模型中,确定载体模型面积能够覆盖其他载体模型面积的目标层载体模型。
可选地,所述基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据,包括:
创建第二虚拟角色模型;
复制所述第一布料数据,得到第二布料数据;
对应于所述第二虚拟角色模型,保存所述第二布料数据;
所述将所述第二布料数据应用到所述服饰的所述其他层载体模型上,包括:
对应于所述第一虚拟角色模型,从所述第二虚拟角色模型下调出保存的所述第二布料数据,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
可选地,所述方法还包括:
如果所述多层载体模型中不存在满足所述预设条件的目标层载体模型,则创建替代片,以所述替代片作为所述目标层载体模型,所述替代片为一个能够覆盖所述多层载体模型中所有载体模型面积的载体模型。
可选地,所述第一虚拟角色模型的布料数据是基于物理模拟网格生成的,所述基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,包括:
基于预设的物理模拟网格和图形网格之间的映射关系,对所述第一虚拟角色模型的布料数据进行转换,得到以图形网格为基础绘制的布料数据。
第二方面,本发明实施例提供一种虚拟角色服饰制作装置,包括:
创建模块,用于创建第一虚拟角色模型,所述第一虚拟角色模型的服饰由多层不同材质的布料构成;
绘制模块,用于绘制所述第一虚拟角色模型的布料数据,其中,所述第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据;
获取模块,用于获取所述第一虚拟角色模型的骨骼数据;
模拟模块,用于基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,所述动态效果为所述服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。
可选地,所述绘制模块,用于:
获取所述第一虚拟角色模型的服饰包括的多层载体模型,每层载体模型与一层布料对应;
在所述多层载体模型中,确定满足预设条件的目标层载体模型;
确定所述目标层载体模型对应的第一布料数据;
基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据;
将所述第一布料数据应用到所述服饰的所述目标层载体模型上,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
可选地,所述绘制模块,用于:
在所述多层载体模型中,确定载体模型面积能够覆盖其他载体模型面积的目标层载体模型。
可选地,所述绘制模块,用于:
创建第二虚拟角色模型;
复制所述第一布料数据,得到第二布料数据;
对应于所述第二虚拟角色模型,保存所述第二布料数据;
所述将所述第二布料数据应用到所述服饰的所述其他层载体模型上,包括:
对应于所述第一虚拟角色模型,从所述第二虚拟角色模型下调出保存的所述第二布料数据,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
可选地,所述创建模块,还用于:
如果所述多层载体模型中不存在满足所述预设条件的目标层载体模型,则创建替代片,以所述替代片作为所述目标层载体模型,所述替代片为一个能够覆盖所述多层载体模型中所有载体模型面积的载体模型。
可选地,所述第一虚拟角色模型的布料数据是基于物理模拟网格生成的,所述模拟模块,用于:
基于预设的物理模拟网格和图形网格之间的映射关系,对所述第一虚拟角色模型的布料数据进行转换,得到以图形网格为基础绘制的布料数据。
第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序/指令,所述处理器执行所述计算机程序/指令时实现上述第一方面所述方法的步骤。
第四方面,提供了一种计算机可读介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一方面所述方法的步骤。
第五方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一方面所述方法的步骤。
针对不同材质的多层布料构成的服饰,相比于相关技术中会为不同层布料单独建立布料数据的方案,采用本发明,在创建的第一虚拟角色模型中可以添加不同材质的多层布料效果,且多层布料使用同一布料数据。然后结合虚拟角色模型的骨骼数据,使得最终多层布料能够在实时运算出的布料数据和骨骼动画的驱动下呈现动态效果。由于本发明中多层布料使用同一布料数据,因此不会像相关技术中多层布料使用多个布料数据那样导致多层布料之间穿帮,提高了游戏的真实体验。另外,由于多层布料使用同一布料数据,因此可以降低虚拟角色在布料渲染过程中的运算量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟角色服饰制作方法的流程示意图;
图2、图6-图7为本发明实施例提供的一种布料效果的示意图;
图3为本发明实施例提供的一种对图2所示的第二层丝绸材质的布料进行绘制所得的绘制结果的示意图;
图4为本发明实施例提供的一种虚拟角色服饰制作方法的流程示意图;
图5为本发明实施例提供的一种虚拟角色服饰制作方法的流程示意图;
图8为本发明实施例提供的一种布料效果原理示意图;
图9为本发明实施例提供的一种焊接过程的示意图;
图10为本发明实施例提供的一种虚拟角色服饰制作装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图;
图12为本发明实施例提供的一种计算机程序产品的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种虚拟角色服饰制作方法的流程图,该方法可以应用于电子设备,如PC机等。如图1所示,该方法包括如下步骤:
101、创建第一虚拟角色模型,第一虚拟角色模型的服饰由多层不同材质的布料构成。
102、绘制第一虚拟角色模型的布料数据,其中,第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据。
103、获取第一虚拟角色模型的骨骼数据。
104、基于绘制后的布料数据以及骨骼数据,模拟第一虚拟角色模型在运动过程中服饰的动态效果,动态效果为服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。
实际应用中,可以创建第一虚拟角色模型,该第一虚拟角色模型的服饰可以由多层不同材质的布料构成。为了便于理解,在本发明中,以两层不同材质的布料为例对虚拟角色服饰制作方法进行说明,其他层数的不同材质的布料的服饰制作方法可以参照两层不同材质的布料的服饰制作方法实现。
如图2所示,假设第一虚拟角色模型的下半身裙子是由两层布料构成,第一层是半透纱材质的布料,第二层是丝绸材质的布料。
针对不同层不同材质的布料,可以设置不同的载体模型。基于载体模型,绘制第一虚拟角色模型的布料数据。其中,载体模型是指构成服饰的网格数据,可以在网格上刷布料,以获得具有布料效果的布料数据。可以理解的是,立体的模型可以由大量的网格拼接构成,网格可以视为是一个面,比如说三角面。
基于此,绘制第一虚拟角色模型的布料数据的过程可以实现为:获取第一虚拟角色模型的服饰包括的多层载体模型,每层载体模型与一层布料对应;在多层载体模型中,确定满足预设条件的目标层载体模型;确定目标层载体模型对应的第一布料数据;基于第一布料数据,确定多层载体模型中除目标层载体模型外的其他层载体模型对应的第二布料数据;将第一布料数据应用到服饰的目标层载体模型上,将第二布料数据应用到服饰的其他层载体模型上。
以图2所示的示例为例,针对第一层半透纱材质的布料可以建立第一载体模型,假设命名为M_A1,针对第二层丝绸材质的布料可以建立第二载体模型,假设命名为M_A2。
在建立多层载体模型之后,可以在多层载体模型中,确定满足预设条件的目标层载体模型。在某些实施例中,可以通过电子设备自动识别的方式来确定满足预设条件的目标层载体模型,也可以通过人工选择的方式让技术人员挑选满足预设条件的目标层载体模型。
对于自动识别的方式,可以根据构成每个载体模型的所有三角面的覆盖面积确定满足预设条件的目标层载体模型。对于人工选择的方式,技术人员可以点击满足预设条件的目标层载体模型,电子设备响应于对目标层载体模型的选择操作,可以确定满足预设条件的目标层载体模型。
可选地,确定满足预设条件的目标层载体模型的过程可以实现为:在多层载体模型中,确定载体模型面积能够覆盖其他载体模型面积的目标层载体模型。
实际应用中,可以从多层载体模型中确定出完整的、无太多缺损的、布线规则的目标层载体模型,该目标层载体模型的面积能够覆盖其他载体模型面积。如图2所示的示例中,第一层半透纱材质的布料缺损较多,因此无法覆盖第二层丝绸材质的布料,而第二层丝绸材质的布料无太多缺损,可以覆盖第一层半透纱材质的布料,进而可以选择丝绸材质对应的第二层载体模型作为目标层载体模型。
实际应用中,为了取得更好的布料效果,在设计服饰时,可以参照以下要求设计服饰:尽量不要给长裙做出布折结构,如果能设计出平整的大块面构成的服饰更容易渲染出布料效果。不要设计彼此穿插的布料结构,因为布料会黏连在一起。裙子的开口不易设计的过高,可以将开口设计到飘带骨骼的第一节处,且开口处不能有结构覆盖或者遮挡。裙子后方双侧开口的位置不易超过膝盖。开口宽度尽量设计的一点,最宽处可设置为一个单位网格的距离。如虚拟角色穿有长裤,则长裤外层的裙子的开口位置可以适当的设置的高一些。对于单层裙子和短裙的设计没有过多要求。
在确定目标层载体模型之后,可以确定目标层载体模型对应的第一布料数据。确定目标层载体模型对应的第一布料数据的过程可以认为是绘制布料的过程。对图2所示的第二层丝绸材质的布料进行绘制所得的绘制结果的一种示例,可以参见图3,可以为该第一布料数据命名为M_A1_Clothing。
上述确定目标层载体模型对应的第一布料数据的过程可以实现为:设置目标层载体模型对应的布料参数,布料参数包括运动阻尼、布料刚性、布料弹性、重力、风向中的任一项或者多项;基于目标层载体模型对应的布料参数,计算目标层载体模型对应的第一布料数据。
由于布料参数中的运动阻尼、布料刚性、布料弹性、重力、风向等一些参数都会对服饰最终的动态效果产生影响,因此可以获取设置的运动阻尼、布料刚性、布料弹性、重力、风向等布料参数。可以基于这些布料参数,实时计算服饰的动态效果。
除了上述布料参数以外,还可以设置布料的权重。由于服饰的动态效果是基于布料参数的计算结果和虚拟角色模型的骨骼动画两种效果叠加得到的,因此可以分配哪种因素对服饰的动态效果的影响程度。例如,如果设置布料的权重为50%,则服饰的动态效果一半是基于布料参数的计算结果得出的,另一半是基于虚拟角色模型的骨骼动画模拟得出的,两种效果根据布料的权重相作用在一起,最终得到服饰的动态效果。
在一种可能的实现方式中,可以限制布料的权重最大不超过70。考虑到虚拟角色可能会在跑步过程中发力,可以将裙子后半部分的布料的权重设置的略大于裙子前半部分的布料的权重。如果对同一裙子设置了不同布料的权重,可以对不同布料的权重进行平滑过渡处理。解算器的频率在某些实施例中例如可以设置为240。
在获取设置的目标层载体模型对应的布料参数之后,可以基于目标层载体模型对应的布料参数,确定目标层载体模型对应的第一布料数据。接着,可以将第一布料数据应用到服饰的目标层载体模型上。例如,将M_A1_Clothing应用到M_A1。
需要说明的是,由于布料工具中没有设置直接复制布料数据的功能,因此在创建第二布料数据时,可以先从骨架网格体内将第一布料数据复制到第二虚拟角色模型下,然后修改第二虚拟角色模型下布料数据的命名,再从第二虚拟角色模型下将布料数据调回,就可以间接实现布料数据的复制过程。
基于此,基于第一布料数据,确定多层载体模型中除目标层载体模型外的其他层载体模型对应的第二布料数据的过程可以实现为:创建第二虚拟角色模型;复制第一布料数据,得到第二布料数据;对应于第二虚拟角色模型,保存第二布料数据。相应地,将第二布料数据应用到服饰的其他层载体模型上的过程可以实现为:对应于第一虚拟角色模型,从第二虚拟角色模型下调出保存的第二布料数据,将第二布料数据应用到服饰的其他层载体模型上。
例如,如图4所示,虚拟角色A的两层裙子分别采用不同材质,为每层裙子创建载体模型,得到M_A1、M_A2。接着,确定第一布料数据,命名为M_A1_Clothing。随后,给M_A1_Clothing刷布料,调整布料参数,修改碰撞效果。其中,刷布料是指实时计算布料效果的过程。然后,将M_A1_Clothing应用给M_A1。
在给M_A1_Clothing刷布料,调整布料参数,修改碰撞效果之后,还可以将M_A1_Clothing保存到虚拟角色B的第二布料数据内,将M_A1_Clothing的命名修改为M_B1_Clothing。接着,可以返回虚拟角色A,将M_B1_Clothing重新保存到虚拟角色A的布料数据内,将M_B1_Clothing的命名修改为M_A2_Clothing。最后,可以将M_A2_Clothing应用给M_A2,即可完成两层裙子的整个制作过程。
需要说明的是,由于第一布料数据和第二布料数据是完全一致的,因此可以保证两层群子之间不会出现穿插的现象,且得到的布料效果相同且完整。采用上述方法制作两层群子的条件是其中一层群子的载体模型面积能够覆盖另一层群子的载体模型面积,且两层群子之间是彼此贴近的。
此外,在将M_A1_Clothing应用给M_A1,将M_A2_Clothing应用给M_A2之后,M_A1_Clothing和M_A2_Clothing无法再被应用到其他场景。如果需要调整M_A1_Clothing,则M_A2_Clothing无法被同时调整,为了保证M_A1_Clothing和M_A2_Clothing的一致性,可以重新执行图4所示的过程,以达到同时修改M_A1_Clothing和M_A2_Clothing的目的。
如果多层载体模型中任一载体模型的面积都不能覆盖其他载体模型的面积,则可以将面积较大的载体模型的网格补齐,这样就能达到让补齐后的载体模型的面积覆盖住其他载体模型的面积的目的。最后还需要通过透贴的方式隐藏掉补充的那部分网格,也可以实现上述方案。
如果多层载体模型中任一载体模型的面积都不能覆盖其他载体模型的面积,同时也难以采用补齐的方式补齐网格,则可以创建替代片,以替代片作为目标层载体模型。可选地,本发明实施例提供的方法还可以包括:如果多层载体模型中不存在满足预设条件的目标层载体模型,则创建替代片,以替代片作为目标层载体模型,替代片为一个能够覆盖多层载体模型中所有载体模型面积的载体模型。
实际应用中,可以使用替代片模拟数据,让替代片做动态模拟,通过替代片可以驱动多层载体模型运动。通过这种方式获得的布料数据也可以保持一致。替代片需要跟需要模拟的模型类似,但不需要跟需要模拟的模型完全一致,只要可以覆盖多层载体模型中所有载体模型面积即可。
需要说明的是,需要将替代片和多层载体模型一起进行蒙皮处理,权重布线需和裙子本身需尽量一致。一同导入到引擎中刷布料,在替代片上创建布料数据之后,可以将布料数据应用到多层载体模型中的每层载体模型中,最后再进行物理调参。
举例来说,如图5所示,虚拟角色A的两层裙子分别采用不同材质,为每层裙子创建载体模型,得到M_A1、M_A2,同时,还可以创建替代片,得到M_T。接着,确定替代片对应的布料数据,命名为M_T_Clothing。随后,给M_T_Clothing刷布料,调整布料参数,修改碰撞效果。然后,将M_T_Clothing应用给M_A1。
在给M_T_Clothing刷布料,调整布料参数,修改碰撞效果之后,还可以将M_T_Clothing保存到虚拟角色B的布料数据内,将M_T_Clothing的命名修改为M_B1_Clothing。接着,可以返回虚拟角色A,将M_B1_Clothing重新保存到虚拟角色A的布料数据内,将M_B1_Clothing的命名修改为M_A2_Clothing。最后,可以将M_A2_Clothing应用给M_A2,即可完成两层裙子的整个制作过程。
最终的服饰渲染效果可参见图2、图6-7所示。
在绘制出第一虚拟角色模型的布料数据之后,可以获取第一虚拟角色的骨骼数据,然后基于绘制后的布料数据以及骨骼数据,模拟第一虚拟角色模型在运动过程中服饰的动态效果。
其中,动态效果为服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。可以理解的是,当第一虚拟角色模型在游戏中处于奔跑、战斗等状态时,第一虚拟角色模型的服饰也会随之产生飘动的动态效果。或者当给游戏环境设置风吹因素时,第一虚拟角色模型的服饰也会随之产生飘动的动态效果且不同层布料在飘动的过程中相互之间不会产生穿帮。
可选地,第一虚拟角色模型的服饰的布料数据是基于物理模拟网格生成的,基于物理模拟网格和图形网格的映射关系,可以对第一虚拟角色模型的服饰的布料数据进行转换。
如图8所示,图8左图图形表示虚拟角色的骨架。图形上的点表示被骨骼动画驱动的模型上的点,完成布料数据运算之后得到的。比如,皮肤附近有一块布料,需要让布料运动起来,布料的运动与前文提到过的布料的权重有关。布料的权重越大,布料被动画驱动的效果越不明显,布料的权重越小,布料被动画驱动的效果越明显。中间图形上的点较少,而右边图形上的点较多,是因为用点较少的模型去模拟布料关系,应用到实体服饰的布料上。可以采用插值的方式计算出点较少的模型中两个点之间***的新的点的数据。
理论上,每一个Physical mesh(物理模拟网格)(相当于图8中间图形所表示的模型,点的数量较少)都可以应用到任何的Graphics mesh(图形网格)(相当于图8右边图形所表示的模型,点的数量较多)。服饰基于Physical mesh生成,可以在Physical mesh构成的服饰上刷布料。刷好布料之后,Physical mesh中的各点会经过运算,例如受到重力等物理因素影响之后点会如何变化的运算。布料效果是附着在Physical mesh上的。
在制作时模型是四边面构成的,而当将模型导入引擎时,会转换成三角面。一个四边面可以分成两个三角面。在转换过程中,Graphics mesh的点会找到Physical mesh离的最近的三角形,用点到三角形的距离,和点在三角形投影的重心坐标系下的坐标,建立了点到三角形三个点的映射关系,也就是插值和点的映射关系。
另外,值得注意的是,Graphics mesh通常具有用于纹理渲染的复制顶点。这不适合Physical mesh,其中网状拓扑是必不可少的。在焊接过程中,位于相同位置的所有图形顶点需要合并为一个单一的模拟顶点。
在制作模型的过程中,可以先制作高模,再经过拓扑转换为低模。在制作模型的过程中,需要将两个离的很近的点焊接上,如果遗漏掉未将两个离的很近的点焊接上,则无法实现布料效果。如图9所示,需要将左图中圆内圈住的点焊接到一起,得到图9右图所示的结果。如果发生遗漏,那么某块布料在整个服饰上没有附着的点,在模拟布料的动态效果时,没有附着点的布料会发生脱落。
针对不同材质的多层布料构成的服饰,相比于相关技术中会为不同层布料单独建立布料数据的方案,采用本发明,在创建的第一虚拟角色模型中可以添加不同材质的多层布料效果,且多层布料使用同一布料数据。然后结合虚拟角色模型的骨骼数据,使得最终多层布料能够在实时运算出的布料数据和骨骼动画的驱动下呈现动态效果。由于本发明中多层布料使用同一布料数据,因此不会像相关技术中多层布料使用多个布料数据那样导致多层布料之间穿帮,提高了游戏的真实体验。另外,由于多层布料使用同一布料数据,因此可以降低虚拟角色在布料渲染过程中的运算量。
以下将详细描述本发明的一个或多个实施例的虚拟角色服饰制作装置。本领域技术人员可以理解,这些虚拟角色服饰制作装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图10为本发明实施例提供的一种虚拟角色服饰制作装置的结构示意图,如图10所示,该装置包括:
创建模块101,用于创建第一虚拟角色模型,所述第一虚拟角色模型的服饰由多层不同材质的布料构成;
绘制模块102,用于绘制所述第一虚拟角色模型的布料数据,其中,所述第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据;
获取模块103,用于获取所述第一虚拟角色模型的骨骼数据;
模拟模块104,用于基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,所述动态效果为所述服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。
可选地,所述绘制模块102,用于:
获取所述第一虚拟角色模型的服饰包括的多层载体模型,每层载体模型与一层布料对应;
在所述多层载体模型中,确定满足预设条件的目标层载体模型;
确定所述目标层载体模型对应的第一布料数据;
基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据;
将所述第一布料数据应用到所述服饰的所述目标层载体模型上,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
可选地,所述绘制模块102,用于:
在所述多层载体模型中,确定载体模型面积能够覆盖其他载体模型面积的目标层载体模型。
可选地,所述绘制模块102,用于:
创建第二虚拟角色模型;
复制所述第一布料数据,得到第二布料数据;
对应于所述第二虚拟角色模型,保存所述第二布料数据;
所述将所述第二布料数据应用到所述服饰的所述其他层载体模型上,包括:
对应于所述第一虚拟角色模型,从所述第二虚拟角色模型下调出保存的所述第二布料数据,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
可选地,所述创建模块101,还用于:
如果所述多层载体模型中不存在满足所述预设条件的目标层载体模型,则创建替代片,以所述替代片作为所述目标层载体模型,所述替代片为一个能够覆盖所述多层载体模型中所有载体模型面积的载体模型。
可选地,所述第一虚拟角色模型的布料数据是基于物理模拟网格生成的,所述模拟模块104,用于:
基于预设的物理模拟网格和图形网格之间的映射关系,对所述第一虚拟角色模型的布料数据进行转换,得到以图形网格为基础绘制的布料数据。
图10所示装置可以执行前述图1至图9所示实施例中提供的虚拟角色服饰制作方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的体积云渲染装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置的程序/指令(例如,计算机程序/指令和计算机程序产品)。这样的实现本发明的程序/指令可以存储在计算机可读介质上,或者可以一个或者多个信号的形式存在,这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
图11示意性地示出了可以实现根据本发明的电子设备,该电子设备包括处理器410和以存储器420形式的计算机可读介质。存储器420是计算机可读介质的一个示例,其具有用于存储计算机程序/指令431的存储空间430。当所述计算机程序/指令431由处理器410执行时,可实现上文所描述的虚拟角色服饰制作方法中的各个步骤。
图12示意性地示出了实现根据本发明的方法的计算机程序产品的框图。所述计算机程序产品包括计算机程序/指令510,当所述计算机程序/指令510被诸如图11所示的处理器410之类的处理器执行时,可实现上文所描述的虚拟角色服饰制作方法中的各个步骤。
上文对本说明书特定实施例进行了描述,其与其它实施例一并涵盖于所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定遵循示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可行的或者有利的。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
应可理解,以上所述实施例仅为举例说明本发明之目的而并非对本发明进行限制。在不脱离本发明基本精神及特性的前提下,本领域技术人员还可以通过其他方式来实施本发明。本发明的范围当以后附的权利要求为准,凡在本说明书一个或多个实施例的精神和原则之内所做的任何修改、等同替换、改进等,皆应涵盖其中。
Claims (8)
1.一种虚拟角色服饰制作方法,其特征在于,包括:
创建第一虚拟角色模型,所述第一虚拟角色模型的服饰由多层不同材质的布料构成;
获取所述第一虚拟角色模型的服饰包括的多层载体模型,每层载体模型与一层布料对应,其中,所述第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据;
在所述多层载体模型中,确定满足预设条件的目标层载体模型;
确定所述目标层载体模型对应的第一布料数据;
基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据;
将所述第一布料数据应用到所述服饰的所述目标层载体模型上,将所述第二布料数据应用到所述服饰的所述其他层载体模型上;
获取所述第一虚拟角色模型的骨骼数据;
基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,所述动态效果为所述服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。
2.根据权利要求1所述的方法,其特征在于,所述在所述多层载体模型中,确定满足预设条件的目标层载体模型,包括:
在所述多层载体模型中,确定载体模型面积能够覆盖其他载体模型面积的目标层载体模型。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据,包括:
创建第二虚拟角色模型;
复制所述第一布料数据,得到第二布料数据;
对应于所述第二虚拟角色模型,保存所述第二布料数据;
所述将所述第二布料数据应用到所述服饰的所述其他层载体模型上,包括:
对应于所述第一虚拟角色模型,从所述第二虚拟角色模型下调出保存的所述第二布料数据,将所述第二布料数据应用到所述服饰的所述其他层载体模型上。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述多层载体模型中不存在满足所述预设条件的目标层载体模型,则创建替代片,以所述替代片作为所述目标层载体模型,所述替代片为一个能够覆盖所述多层载体模型中所有载体模型面积的载体模型。
5.根据权利要求1所述的方法,其特征在于,所述第一虚拟角色模型的布料数据是基于物理模拟网格生成的,所述基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,包括:
基于预设的物理模拟网格和图形网格之间的映射关系,对所述第一虚拟角色模型的布料数据进行转换,得到以图形网格为基础绘制的布料数据。
6.一种虚拟角色服饰制作装置,其特征在于,包括:
创建模块,用于创建第一虚拟角色模型,所述第一虚拟角色模型的服饰由多层不同材质的布料构成;
绘制模块,用于获取所述第一虚拟角色模型的服饰包括的多层载体模型,每层载体模型与一层布料对应,其中,所述第一虚拟角色模型的服饰中每层不同材质的布料使用同一布料数据;在所述多层载体模型中,确定满足预设条件的目标层载体模型;确定所述目标层载体模型对应的第一布料数据;基于所述第一布料数据,确定所述多层载体模型中除所述目标层载体模型外的其他层载体模型对应的第二布料数据;将所述第一布料数据应用到所述服饰的所述目标层载体模型上,将所述第二布料数据应用到所述服饰的所述其他层载体模型上;
获取模块,用于获取所述第一虚拟角色模型的骨骼数据;
模拟模块,用于基于绘制后的布料数据以及所述骨骼数据,模拟所述第一虚拟角色模型在运动过程中所述服饰的动态效果,所述动态效果为所述服饰呈现的不同层布料在运动过程中相互之间不会产生交叠的效果。
7.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序/指令,所述处理器执行所述计算机程序/指令时实现根据权利要求1-5中任一项所述的虚拟角色服饰制作方法的步骤。
8.一种计算机可读介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现根据权利要求1-5中任一项所述的虚拟角色服饰制作方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111296229.0A CN114170354B (zh) | 2021-11-03 | 2021-11-03 | 虚拟角色服饰制作方法、装置、设备、程序和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111296229.0A CN114170354B (zh) | 2021-11-03 | 2021-11-03 | 虚拟角色服饰制作方法、装置、设备、程序和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114170354A CN114170354A (zh) | 2022-03-11 |
CN114170354B true CN114170354B (zh) | 2022-08-26 |
Family
ID=80477923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111296229.0A Active CN114170354B (zh) | 2021-11-03 | 2021-11-03 | 虚拟角色服饰制作方法、装置、设备、程序和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114170354B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555899A (zh) * | 2019-08-20 | 2019-12-10 | 中北大学 | 基于cnn布料褶皱识别的多精度网格精化方法 |
CN110782511A (zh) * | 2019-09-09 | 2020-02-11 | 天脉聚源(杭州)传媒科技有限公司 | 动态改变虚拟主播形象的方法、***、装置和存储介质 |
CN111028320A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 布料动画的生成方法、装置、计算机可读存储介质 |
CN111784809A (zh) * | 2020-07-09 | 2020-10-16 | 网易(杭州)网络有限公司 | 虚拟角色骨骼动画控制方法及装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201102794D0 (en) * | 2011-02-17 | 2011-03-30 | Metail Ltd | Online retail system |
US11145138B2 (en) * | 2017-04-28 | 2021-10-12 | Linden Research, Inc. | Virtual reality presentation of layers of clothing on avatars |
EP3877954A4 (en) * | 2018-12-19 | 2022-03-02 | Seddi, Inc. | LEARNING-BASED ANIMATION OF CLOTHES FOR VIRTUAL TRYING ON |
-
2021
- 2021-11-03 CN CN202111296229.0A patent/CN114170354B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555899A (zh) * | 2019-08-20 | 2019-12-10 | 中北大学 | 基于cnn布料褶皱识别的多精度网格精化方法 |
CN110782511A (zh) * | 2019-09-09 | 2020-02-11 | 天脉聚源(杭州)传媒科技有限公司 | 动态改变虚拟主播形象的方法、***、装置和存储介质 |
CN111028320A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 布料动画的生成方法、装置、计算机可读存储介质 |
CN111784809A (zh) * | 2020-07-09 | 2020-10-16 | 网易(杭州)网络有限公司 | 虚拟角色骨骼动画控制方法及装置、存储介质及电子设备 |
Non-Patent Citations (4)
Title |
---|
不同材质的多形态布料的实时渲染仿真;严凯丽;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20180415(第04期);第I138-3016页 * |
基于角色几何碰撞体估计的实时服装仿真;孙守迁 等;《软件学报》;20071115;第18卷(第11期);第2921-2931页 * |
布料***原理浅析和在Unity手游中的应用;admin;《https://blog.uwa4d.com/archives/2008.html》;20170829;第1-16页 * |
虚幻学习5--创建主材质&材质实例的使用;packdge_black;《https://blog.csdn.net/packdge_black/article/details/119297757》;20210803;第1-15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114170354A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104036532B (zh) | 基于三维到二维服装图案无缝映射的服装制作方法 | |
CN104933216A (zh) | 基于球b样条的纬编针织物造型的仿真方法 | |
KR101763361B1 (ko) | 3d 의상 착장 시뮬레이션 방법 및 장치 | |
US20210056754A1 (en) | Generating clothing patterns of garment using bounding volumes of body parts | |
Wang et al. | From designing products to fabricating them from planar materials | |
CN114170354B (zh) | 虚拟角色服饰制作方法、装置、设备、程序和可读介质 | |
Zhang et al. | IDSS: a novel representation for woven fabrics | |
Hu et al. | An efficient multi-layer garment virtual fitting algorithm based on the geometric method | |
JP5161213B2 (ja) | ニットウェアのシミュレーション方法とその装置及び記憶媒体 | |
Dong et al. | A web-based 3D virtual display framework for warp-knitted seamless garment design | |
CN106803278B (zh) | 一种虚拟人物半透明分层排序方法及*** | |
Durupynar et al. | A virtual garment design and simulation system | |
WO2023091086A2 (en) | Apparatus and method for simulating a three-dimensional object | |
Weier et al. | Generating and rendering large scale tiled plant populations | |
CN105046738A (zh) | 服装动态三维的制作方法及制作装置 | |
CN104809287B (zh) | 穿着物分层方法及其***、分层穿着物模拟方法及其*** | |
JP7058625B2 (ja) | 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法 | |
CN116510295B (zh) | 数据处理方法、装置、设备及存储介质 | |
Lee et al. | Real‐time fur simulation and rendering | |
JPWO2009084427A1 (ja) | ニットシミュレーション装置とニットシミュレーションでの糸の捻れ修正方法 | |
Sha et al. | Fast penetration resolving for weft knitted fabric based on collision detection | |
Xie | The research on mobile game engine | |
CN116543093B (zh) | 柔体对象渲染方法、装置、计算机设备和存储介质 | |
Lazunin et al. | Interactive visualization of multi-layered clothing | |
JPWO2003024261A1 (ja) | 仮想型紙表示装置、仮想型紙表示方法、仮想型紙表示プログラム及び同プログラムを記録したコンピュータ読み取り可能な記録媒体 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |