一种虚拟毛发生成方法、装置、设备及存储介质与流程

文档序号:39380040发布日期:2024-09-13 11:36阅读:15来源:国知局
一种虚拟毛发生成方法、装置、设备及存储介质与流程

本发明申请涉及三维虚拟动画,具体涉及一种虚拟毛发生成方法、装置、设备及存储介质。


背景技术:

1、毛发是虚拟角色中重要的一个组成部分,毛发的动态效果模拟的逼真和实时性,将直接影响到动画、动漫或游戏的品质。而为了达到更好的真实毛发模拟效果,制作者需要花费很多的精力来进行虚拟毛发的处理。其处理过程一般分为三个阶段:建模——模拟约束——渲染,即先在角色毛发生成区域进行毛发的绘制建模,手动将毛发绘制完成后;再对毛发进行模拟约束设置,包括全局形状约束和局部形状约束等;最后对毛发进行分批渲染。但是,由于效率和技术的限制,采用现有的这种毛发处理方法不仅周期过于冗长、效率低,而且制作的虚拟毛发与现实中的毛发还是存在很大的差别,特别是对长发或卷发的模拟效果,因此也大大的降低了用户体验以及画面美感。

2、为了缩短虚拟毛发的制作周期,如公开号为cn116503544a的发明专利申请采用的方法是,通过获取预设的毛发引导参数,调用设置有预设的毛发生成参数的毛发生成节点,根据毛发引导参数和毛发生成参数生成初始虚拟毛发;调用设置有预设的毛发造型参数的毛发造型节点,根据毛发造型参数调整初始虚拟毛发的造型,得到预设虚拟毛发,从而可以根据毛发引导参数、预设的毛发生成参数和预设的毛发造型参数自动生成预设虚拟毛发;接着,可以根据参数调整指令调整毛发生成参数或者毛发造型参数,根据调整后的毛发生成参数或者毛发造型参数更新预设虚拟毛发,得到目标虚拟毛发,由于预设虚拟毛发可以自动生成,后续只需要根据实际需求调整毛发生成参数或者毛发造型参数即可得到目标虚拟毛发,无须从零开始制作虚拟毛发,从而缩短虚拟毛发的制作周期,提升虚拟毛发的制作效率。但该处理方法存在如下问题:①得到的虚拟头发会呈现一缕一缕的样子,与真实毛发效果存在差异较大;②无法实现模拟约束,模拟约束方面需要另一工程步骤进行处理,故该方法仅是节省了人工绘制虚拟毛发的工程。

3、再如公开号为cn107221024b的发明专利,其公开的虚拟对象毛发处理方法如下:建立虚拟对象的毛发模型,所述毛发模型包含多个主副发结构;以及为所述主副发结构中的主发配置预设参数,和主发与副发的相对位置;其中,每个所述主副发结构包含一根主发和与所述主发关联的多根副发;各所述主副发结构包括长发和/或卷发;根据预设参数对所述主发的位置进行模拟,并根据所述毛发模型确定每个所述主副发结构中副发与主发的相对位置;其中,所述预设参数是通过各所述主发的长短和/或各所述主发的形状来进行配置的;根据每个所述主副发结构中主发的位置以及每个所述主副发结构中副发与主发的相对位置确定所述副发的位置,以保证主副发的局部位置保持不变,使得主副发的形状保持一致;当所述主发以及所述副发的位置确定后,将所述虚拟对象的毛发分为多个区域并利用多种颜色分别对各所述区域的毛发进行渲染。通过该方法实现了虚拟对象毛发的成束模拟和运动约束,在模拟约束方面大大提升虚拟对象毛发的真实性,可避免出现由于运动幅度过大而出现的毛发拉长的情况,对长发或卷发的模拟效果更好。但该处理方法存在如下问题:①初始工程仍然是需要建立起毛发模型,也就是需要先对整体毛发进行建模绘制后,才能进行该处理方法;②该发明专利的毛发渲染处理也是独立的一道工序,故工程周期仍然较长。

4、又如公开号为cn116152405b的发明专利,其公开的虚拟对象毛发处理方法如下:获取角色的发根点云,包括角色的多根虚拟毛发对应的发根点;获取发根点云的采样过程中采样点距离的采样控制信息;根据采样控制信息和发根点云的位置范围信息,生成体素网格集合;在每个体素网格中对属于所述体素网格的发根点进行采样,得到体素网格的采样点;将所述采样点对应的虚拟毛发确定为模拟虚拟毛发,将发根点云中除所述采样点外的其他点对应的虚拟毛发确定为插值虚拟毛发;其中,所述模拟虚拟毛发在所述业务的执行过程中采用物理仿真策略进行动态效果模拟,所述模拟虚拟毛发用于在所述业务的执行过程中控制所述插值虚拟毛发跟随所述模拟虚拟毛发运动。通过该方法也是起到了提高虚拟对象毛发的运动仿真性,同时又降低硬件运行开销,提高效率。但该处理方法同样存在如下问题:①基于先完成整体毛发绘制后才能处理的,即仍然需要先建模这个步骤先做完后才能使用该方法;②后面还然需要另一工程步骤进行渲染处理,因此工程周期仍然较长,效率较低。

5、最后如公开号为cn116109721a的发明专利申请,其公开的虚拟对象毛发处理方法如下:基于引导发丝确定目标发丝,其中,所述引导发丝位于头皮模型上;根据所述目标发丝的发根位置确定插值位置;基于所述目标发丝上的引导发丝粒子和所述插值位置,生成插值发丝。该方法是先在头皮模型上预先构建部分发丝(引导发丝),不用整个头发进行全部绘制,然后根据这些构建的部分发丝(目标发丝)来生成其余的发丝(插值发丝),该插值发丝是有多条目标发丝来共同决定的,因此能够使得生成的头发不会呈现一缕一缕的问题,提高虚拟毛发的整体效果。但该方法仍然存在如下问题:①需要人工绘制引导发丝,无法自动生成;②该方法处理后的发丝仅是完成了建模的部分,提高了建模的速度,但后期还需要再进行约束模拟和渲染两个工程的处理,故处理周期较长。


技术实现思路

1、本发明的目的在于针对上述存在问题和不足,提供一种虚拟毛发生成方法、装置、设备及存储介质,以解决现有虚拟毛发生成方法周期冗长、无法节约工序、模拟效果差的技术问题。

2、本发明的技术方案是这样实现的:

3、本发明的一方面,提供了一种虚拟毛发生成方法,其特征在于,包括:基于角色毛发生成表面进行区域划分创建,得到多个植发区域;基于创建的所述植发区域,自动在每个所述植发区域生成一根主发;基于所述主发的长度进行分段生成多个节点,并为每个节点自动添加预设的属性参数和运动参数;基于属性参数和运动参数确定所述主发的造型、模拟约束及其渲染;基于所述主发在所述主发所在的植发区域内生成副发,对所述副发进行加权继承所述主发的属性参数和运动参数,得到所述副发的造型、跟随约束及其渲染。

4、在有些实施例中,所述基于角色毛发生成表面进行区域划分创建,包括以下步骤:基于角色的预设毛发走向差异进行所述植发区域的划分。

5、在有些实施例中,所述自动在每个所述植发区域生成一根主发,包括以下步骤:在所述植发区域的表面上生成所述主发的发根点;基于所述发根点的位置以及所述角色毛发生成表面的中心线位置,确定所述植发区域的引导曲线;基于所述引导曲线的若干点进行偏离约束处理后生成相应的偏离点,将所述发根点与所有所述偏离点顺序连接以形成所述主发。

6、进一步地,所述在所述植发区域的表面上生成所述主发的发根点,包括以下步骤:获取所述角色毛发生成表面的中心线与所述角色毛发生成表面的相交点,并以该点作为局部坐标系的原点;基于所述局部坐标系获取所述植发区域的各顶点局部坐标关系;获取距离所述原点的相对位置最近的两个顶点,进而得到所述两个顶点的连线的中点;将所述中点与所述原点相连并朝向所述角色毛发生成表面的方向延伸后与所述角色毛发生成表面相交的点作为所述主发的所述发根点。

7、在有些实施例中,所述基于所述引导曲线的若干点进行偏离约束处理后生成相应的偏离点,将所述发根点与所有所述偏离点顺序连接以形成所述主发,包括以下步骤:利用偏离约束公式求约束值,所述偏离约束公式为:

8、

9、其中,k为约束值,k(dn)的值范围是[0,1],其值越大表明约束力越强,也即所述主发越贴近所述植发区域;dn为所述引导曲线第n个点与所述发根点在偏离方向上的相对位置距离;w为约束权重值,α为用于控制k随dn变化速度的正数值,w与α的关系式为d为所述引导曲线与所述发根点在偏离方向上的相对位置距离最大的点的距离值,即dn的最大值;dthresh为一个接近但小于d的阈值;δdn为相邻两个点的相对位置距离的差值,即δdn=dn-dn-1;通过上述公式求得约束值k后,再根据偏离距离公式l=(1-k)*p,其中p为偏离权重值,得到所述引导曲线上第n个点在所述偏离方向上偏离l距离后的点的位置信息,最后将所有得到的点按顺序连接并进行曲线平滑处理后的曲线即为所述主发。

10、在有些实施例中,所述基于所述主发在所述主发所在的植发区域内生成副发,对所述副发进行加权继承所述主发的属性参数和运动参数,包括以下步骤:对所述主发上的所有节点进行第一次复制偏离而得到相应的继承点;基于所述继承点与对应的节点的位置信息,利用加权继承函数计算并调整所述继承点的属性参数和运动参数;将调整后的所有所述继承点连接并进行曲线平滑处理后即得到第一根副发;经过m次复制偏离以及计算调整后,每次复制偏离的位置和距离均不相同,最终在所述植发区域生成m根副发。

11、在有些实施例中,所述虚拟毛发生成方法还包括:将所述主发的生成分成至少两次生成,即角色毛发生成表面进行区域划分创建第一植发区域,自动在每个所述第一植发区域生成一根第一主发,所述第一主发位于所述第一植发区域的中间位置;再对所述第一植发区域进行划分成三个第二植发区域,对不含有所述第一主发的第二植发区域中再次生成第二主发;其中,所述第二主发基于相邻较近的两根所述第一主发的节点属性参数和运动参数结合匹配度后自动生成。

12、根据本技术的一个方面,还提供了一种虚拟毛发生成装置,包括:划分模块,用于基于角色毛发生成表面进行区域划分创建,得到多个植发区域;主发生成模块,用于基于创建的所述植发区域,自动在每个所述植发区域生成一根主发;节点生成模块,用于基于所述主发的长度进行分段生成多个节点,并为每个节点自动添加预设的属性参数和运动参数;参数调整模块,用于基于属性参数和运动参数确定所述主发的造型、模拟约束及其渲染;副发生成模块,基于所述主发在所述主发所在的植发区域内生成副发,对所述副发进行加权继承所述主发的属性参数和运动参数,得到所述副发的造型、跟随约束及其渲染。

13、根据本技术的一个方面,还提供了一种虚拟毛发生成计算机设备,包括:存储器和处理器;所述存储器中存储有可执行的计算机指令;所述处理器执行所述存储器中的所述计算机指令时,实现上述的虚拟毛发生成方法。

14、根据本技术的一个方面,还提供了一种虚拟毛发生成存储介质,所述存储介质用于存储计算机指令,所述计算机指令被处理器加载以执行上述的虚拟毛发生成方法。

15、本发明至少包括如下有益效果是:

16、1、本发明通过对角色毛发生成表面进行区域划分后,系统基于所划分的植发区域在每个植发区域自动生成一根主发,故无需人工对毛发进行初步绘制,既降低了对毛发建模师的技术要求,也大大提高了毛发建模的速度。

17、2、主发生成后会自动进行分段生成多个节点并为节点自动添加预设参数,该参数就包含了对该主发的造型属性设置(即建模工序的内容)、运动参数设置(即模拟约束工序的内容)、以及颜色属性设置(即渲染工序的内容),故当主发的参数设置完成后,即完成了该单个主发的三个工序的处理,而通过主发所生成的副发也都继承了这些参数,因此在生成整体毛发后,即可完成了毛发的全部处理过程,故大大缩短了处理周期,提高了制作的效率。

18、3、由于副发是进行加权继承主发的参数的,因此副发与主发、副发与副发之间的参数都是有所差异的,不会呈现一缕一缕同步运动的异样效果;而且同一主发所生成的副发之间又存在相互约束关系,故既有成束(如辫子、卷发)的约束模拟效果,又有运动跟随的动态模拟效果,有效提升虚拟毛发动态模拟效果的真实性。

19、下面结合附图对本发明作进一步的说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1