CN114299200A - 布料动画处理方法及装置、电子设备、存储介质 - Google Patents
布料动画处理方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN114299200A CN114299200A CN202111668736.2A CN202111668736A CN114299200A CN 114299200 A CN114299200 A CN 114299200A CN 202111668736 A CN202111668736 A CN 202111668736A CN 114299200 A CN114299200 A CN 114299200A
- Authority
- CN
- China
- Prior art keywords
- animation
- dynamic
- cloth
- skeleton
- mesh model
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种布料动画处理方法及装置、电子设备、存储介质,其中,方法包括:获取布料网格模型和骨骼链,骨骼链包含配置动态骨骼算法的动态骨骼,骨骼链中层级大于预设层级的骨骼配置骨骼动画;根据骨骼动画和动态骨骼的动画确定布料网格模型的第一级动画;获取布料网格模型中与动态骨骼对应的动态顶点和布料约束;根据布料约束对动态顶点进行物理模拟计算,得到布料网格模型的第二级动画;融合第一级动画和第二级动画,得到布料网格模型的布料动画;本申请第二级动画采用的是与动态骨骼对应的动态顶点,比布料网格模型的顶点少,因此,模拟运算量小,消耗的性能少,且易于控制物理模拟计算的造型动态,并且只需对部分骨骼制作骨骼动画。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及布料动画处理方法及装置、电子设备、存储介质。
背景技术
随着计算机技术的发展,布料动画模拟技术被广泛应用于动画电影、游戏等领域中,通过布料动画模拟技术得到虚拟角色身上的衣物的形变和飘动等效果,以表现丰富的运动细节,增加动画的真实感。
相关技术中,布料模拟是基于网格模型的顶点来对其进行的物理模拟,通过在顶点之间构建多种弹簧和阻尼约束网络来模拟布料柔软的动态,该布料模拟基于离散点的模拟运算量较大,难以实现大规模使用;同时完全基于约束关系的布料模拟因参与模拟的点及参数非常之多,动画制作者很难将布料调整到自己需要的造型动态,只能任由模拟结果控制,给动画表现带来了很大的困难。
发明内容
鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的布料动画处理方法及装置、电子设备、存储介质,包括:
一种布料动画处理方法,包括:
获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼;
根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画;
获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束;
根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画;
融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
可选地,所述获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束,包括:
获取当前运行设备的性能参数;
当所述性能参数在大于第一性能指标时,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
可选地,所述获取当前运行设备的性能参数,包括:
获取所述当前运行设备的设备型号;
从第一配置表中确定所述设备型号对应的性能参数,作为所述当前运行设备的性能参数;所述第一配置表中记录有多个设备型号和各个设备型号对应的性能参数。
可选地,所述获取当前运行设备的性能参数,包括:
获取当前运行设备对应的已使用资源信息;
根据所述已使用资源信息确定所述当前运行设备对应的剩余资源信息;
根据所述剩余资源信息确定所述当前运行设备的性能参数。
可选地,所述获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束,包括:
响应于针对所述布料模型从远景到近景的第一切换操作,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
可选地,所述融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画,包括:
获取各个动态顶点对应的第二级动画的融合权重参数;
根据所述融合权重系数,将所述第二级动画与所述第一级动画进行融合处理,得到所述布料网格模型的布料动画。
可选地,所述根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画,包括:
根据所述骨骼动画确定所述动态骨骼的动画参数;
获取所述动态骨骼的动态配置参数;所述动态配置参数包括阻尼、弹性系数、重力和角度约束;
根据所述阻尼、弹性系数、重力和角度约束处理所述动态骨骼的动画参数,生成所述动态骨骼的动画,以确定所述布料网格模型的第一级动画。
可选地,所述根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画,还包括:
当所述动态骨骼位于对应的碰撞体内部时,将所述动态骨骼调整到所述碰撞体外;
根据调整后的所述动态骨骼的动画确定所述布料网格模型的第一级动画。
可选地,所述对所述根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,包括:
获取所述布料网格模型与所述动态骨骼的最大偏移距离;
根据所述最大偏移距离和所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,使得所述布料网格模型在第三动画中与所述动态骨骼的偏移距离小于所述最大偏移距离。
一种布料动画处理装置,包括:
第一获取模块,用于获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼;
第一动画确定模块,用于根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画;
第二获取模块,用于获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束;
第二动画确定模块,用于根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画;
布料动画生成模块,用于融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
可选地,所述第二获取模块,包括:
性能参数获取模块,用于获取当前运行设备的性能参数;
第二动画参数获取模块,用于当所述性能参数在大于第一性能指标时,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
可选地,所述性能参数获取模块,包括:
设备型号获取模块,用于获取所述当前运行设备的设备型号;
基于设备型号获取性能参数模块,用于从第一配置表中确定所述设备型号对应的性能参数,作为所述当前运行设备的性能参数;所述第一配置表中记录有多个设备型号和各个设备型号对应的性能参数。
可选地,所述性能参数获取模块,包括:
已使用资源信息获取模块,用于获取当前运行设备对应的已使用资源信息;
剩余资源信息确定模块,用于根据所述已使用资源信息确定所述当前运行设备对应的剩余资源信息;
基于剩余资源信息确定性能参数模块,用于根据所述剩余资源信息确定所述当前运行设备的性能参数。
可选地,所述第二获取模块,包括:
基于切换操作获取模块,用于响应于针对所述布料模型从远景到近景的第一切换操作,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
可选地,所述布料动画生成模块,包括:
融合权重参数获取模块,用于获取各个动态顶点对应的第二级动画的融合权重参数;
基于融合权重参数生成动画模块,用于根据所述融合权重系数,将所述第二级动画与所述第一级动画进行融合处理,得到所述布料网格模型的布料动画。
可选地,所述第一动画确定模块,包括:
动画参数确定模块,用于根据所述骨骼动画确定所述动态骨骼的动画参数;
动态配置参数确定模块,用于获取所述动态骨骼的动态配置参数;所述动态配置参数包括阻尼、弹性系数、重力和角度约束;
第一动画生成模块,用于根据所述阻尼、弹性系数、重力和角度约束处理所述动态骨骼的动画参数,生成所述动态骨骼的动画,以确定所述布料网格模型的第一级动画。
可选地,所述第一动画确定模块,包括:
碰撞检测模块,用于当所述动态骨骼位于对应的碰撞体内部时,将所述动态骨骼调整到所述碰撞体外;
基于碰撞检测生成第一动画模块,用于根据调整后的所述动态骨骼的动画确定所述布料网格模型的第一级动画。
可选地,所述第二动画确定模块,包括:
最大偏移距离确定模块,用于获取所述布料网格模型与所述动态骨骼的最大偏移距离;
基于最大偏移距离生成第二动画模块,用于根据所述最大偏移距离和所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,使得所述布料网格模型在第三动画中与所述动态骨骼的偏移距离小于所述最大偏移距离。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的布料动画处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的布料动画处理方法的步骤。
本申请具有以下优点:
在本申请的实施例中,通过获取布料网格模型和与布料网格模型的顶点关联的骨骼链,其中,骨骼链由多个骨骼连接形成,多个骨骼的层级按照从骨骼链的链首至链尾的方向依次递减;骨骼链包含配置动态骨骼算法的动态骨骼,骨骼链中层级大于预设层级的骨骼配置骨骼动画;动态骨骼包含层级小于预设层级的骨骼中的至少部分骨骼;根据骨骼动画和动态骨骼的动画确定布料网格模型的第一级动画;然后,获取布料网格模型中与动态骨骼对应的动态顶点和布料约束;根据布料约束对动态顶点进行物理模拟计算,得到布料网格模型的第二级动画;最后,融合第一级动画和第二级动画,得到布料网格模型的布料动画;本申请实施例在进行顶点物理模拟计算得到第二级动画的过程中,采用的是与动态骨骼对应的动态顶点,比布料网格模型的顶点少,因此,模拟运算量小,消耗的性能少,并且,由于进行物理模拟计算的模拟顶点是动态骨骼对应的顶点,且布料动画融合了第一级动画和第二级动画,使得更易于控制物理模拟计算的造型动态;此外,在生成第一级动画时只需要对骨骼链中大于预设层级的骨骼制作骨骼动画,还可以减少动画制作的工作量,提高动画制作的效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种布料动画处理方法的步骤流程图;
图2为本申请实施例的一个虚拟对象的示意图;
图3为本申请实施例的一个虚拟对象的初始动画展示的示意图;
图4为本申请实施例的一个虚拟对象的第一级动画展示的示意图;
图5为本申请实施例的一个虚拟对象的布料动画展示的示意图;
图6为本申请实施例的最大偏移距离的示意图;
图7为本申请实施例的一种布料动画处理装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的一种布料动画处理方法可以运行于本地终端设备或者是服务器。当布料动画处理方法运行于服务器时,该布料动画处理方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,布料动画处理法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,第一终端设备、电视机、计算机、掌上电脑等;但是进行布料动画处理方法的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
参照图1,示出了本申请一实施例提供的一种布料动画处理方法的步骤流程图,在本申请实施例中,布料动画可以指动画电影或电子游戏场景中的柔性物体的动画表现,包括但不限于人物角色类的虚拟对象的服饰衣物、头发、或动物角色类的虚拟对象的毛发等;该方法可以包括如下步骤:
步骤101,获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼;
步骤102,根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画;
步骤103,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束;
步骤104,根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画;
步骤105,融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
本申请实施例通过获取布料网格模型和与布料网格模型的顶点关联的骨骼链,其中,骨骼链由多个骨骼连接形成,多个骨骼的层级按照从骨骼链的链首至链尾的方向依次递减;骨骼链包含配置动态骨骼算法的动态骨骼,骨骼链中层级大于预设层级的骨骼配置骨骼动画;动态骨骼包含层级小于预设层级的骨骼中的至少部分骨骼;根据骨骼动画和动态骨骼的动画确定布料网格模型的第一级动画;然后,获取布料网格模型中与动态骨骼对应的动态顶点和布料约束;根据布料约束对动态顶点进行物理模拟计算,得到布料网格模型的第二级动画;最后,融合第一级动画和第二级动画,得到布料网格模型的布料动画;本申请实施例在进行顶点物理模拟计算得到第二级动画的过程中,采用的是与动态骨骼对应的动态顶点,比布料网格模型的顶点少,因此,模拟运算量小,消耗的性能少,并且,由于进行物理模拟计算的模拟顶点是动态骨骼对应的顶点,且布料动画融合了第一级动画和第二级动画,使得更易于控制物理模拟计算的造型动态;此外,在生成第一级动画时只需要对骨骼链中大于预设层级的骨骼制作骨骼动画,还可以减少动画制作的工作量,提高动画制作的效率。
下面,将对本示例性实施例中布料动画处理方法作进一步地说明。
在步骤101中,获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼。
动画电影或游戏场景中的布料模型包括布料网格模型和骨骼链;布料网格模型是由三角面片网格组成的,三角面片网格包括顶点和三角面片,表征了物体模型的外观信息,负责虚拟角色对应模型的渲染。其中,布料模型可以指柔性体对应的模型,包括但不限于头发、衣服等对应的模型。骨骼链由多个骨骼连接形成,包含了布料模型的结构信息,负责模型变形的控制。骨骼链中每个骨骼与布料网格模型的顶点关联,可以理解,根据骨骼链对布料网格模型进行了蒙皮操作。组成骨骼链的多个骨骼的层级按照从骨骼链的链首至链尾的方向依次递减,即越靠近链首的骨骼的层级越高,链首的骨骼可以理解为根骨骼。如图2所示为本申请实施例中一个虚拟对象的示意图;该虚拟对象是一个身着长裙服装的虚拟人物,长裙服装又可以分为上衣和裙摆,以裙摆为例,裙摆对应的的模型即为布料模型。结合图2可知,布料模型包含的骨骼链可以有多条,骨骼的层级从上往下依次递减,即越靠近虚拟人物的腰部,裙摆的骨骼的层级越高。
上述预设层级可以根据实际需求进行设置,本实施例中的大于预设层级包含预设层级本身,示例性地,预设层级可以是骨骼链中的最高层级,此时大于预设层级的骨骼即为骨骼链中最高层级的骨骼;预设层级也可以根据骨骼链包含的骨骼数量来确定,还可以根据骨骼链的长度来确定。
示例性地,当根据骨骼链包含的骨骼数量来确定大于预设层级的骨骼时,大于预设层级的骨骼可以是从链首开始,按照骨骼包含的骨骼数量预设百分比确定预设层级的骨骼,该预设百分比可以是20%、30%、40%等,根据实际需求进行设置。例如,当骨骼链由4根骨骼连接形成时,按照从链首至链尾的方向依次为各骨骼设定层级,假设层级从高到底分别为第一层级、第二层级、第三层级、第四层级,若以骨骼链包含的骨骼数量的30%确定大于预设层级的骨骼,由于计算得到骨骼数量的30%为1.2,向上取整即为2,因此,大于预设层级的骨骼是从链首开始向链尾方向选择两根骨骼作为大于预设层级的骨骼,即预设层级是第二层级,大于预设层级的骨骼即为第一层级的骨骼和第二层级的骨骼。
示例性地,当根据骨骼链的长度来确定大于预设层级的骨骼时,大于预设层级的骨骼可以是从链首开始,按照骨骼链的长度预设百分比确定预设层级的骨骼,该预设百分比可以是20%、30%、40%等,根据实际需求进行设置。例如,当骨骼链的长度是20(单位不限,与单根骨骼的长度单位保持一致即可),由长度分别是4、6、5、5的4根骨骼依次连接形成,链首是长度为4的骨骼,按照从链首至链尾的方向依次为各骨骼设定层级,假设层级从高到底分别为第一层级、第二层级、第三层级、第四层级,若以骨骼链长度的30%确定大于预设层级的骨骼,由于计算得到骨骼链长度的30%为6,而第一层级的骨骼长度为4,第二层级的骨骼长度为6,可以确定骨骼链长度的30%位置对应在第二层级的骨骼上,因此大于预设层级的骨骼是从链首开始向链尾方向选择两根骨骼作为大于预设层级的骨骼,即预设层级是第二层级,大于预设层级的骨骼即为第一层级的骨骼和第二层级的骨骼。
本实施例骨骼链中包含配置动态骨骼算法的动态骨骼,即,将骨骼链中受动态骨骼算法驱动的骨骼命名为动态骨骼,其中,动态骨骼算法是一个简单的基于模拟弹簧振子的算法实现树状柔体的物理模拟。一般地,可以将骨骼链中所有的骨骼都作为动态骨骼,即骨骼链中的所有骨骼都受动态骨骼算法驱动;也可以将骨骼链中没有配置骨骼动画的骨骼作为动态骨骼,即骨骼链中层级小于预设层级的骨骼配置动态骨骼算法;还可以将骨骼链中没有配置骨骼动画的部分骨骼作为动态骨骼,即骨骼链中层级小于预设层级的部分骨骼配置动态骨骼算法。
在步骤102中,根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画。
本实施例可以根据骨骼动画和动态骨骼的动画确定布料网格模型的第一级动画,由于该第一级动画中采用了动态骨骼的动画,因此,布料网格模型的第一级动画可以展示出柔体的动画效果。
示例性地,上述根据骨骼动画和动态骨骼的动画确定布料网格模型的第一级动画的过程可以包括:
根据骨骼动画确定布料网格模型的初始动画;
根据动态骨骼的动画确定布料网格模型的动态动画;
融合初始动画和动态动画以得到布料网格模型的第一级动画。
在确定配置骨骼动画的骨骼后,通过对这部分骨骼进行动画烘焙,可以得到布料模型的初始动画,也即布料网格模型的初始动画。如图3所示,为初始动画展示的示意图;结合图2可知,图3中大于预设层级的骨骼是骨骼链中的部分骨骼,因此,动画制作人员只需要为大于预设层级的骨骼制定骨骼动画,而不需要为骨骼链中的所有骨骼制定骨骼动画,可以减轻动画制作人员的工作量,提高动画制作的效率。
通过动态骨骼算法驱动动态骨骼得到的动画即为动态骨骼的动画,根据动态骨骼的动画可以确定布料网格模型中与动态骨骼对应区域的动画,即为布料网格模型的动态动画。
示例性地,上述根据所述动态骨骼的动画确定所述布料网格模型的动态动画,包括:
根据所述大于预设层级的骨骼的骨骼动画确定所述动态骨骼的动画参数;
获取所述动态骨骼的动态配置参数;所述动态配置参数包括阻尼、弹性系数、重力和角度约束;
根据所述阻尼、弹性系数、重力和角度约束处理所述动态骨骼的动画参数,生成所述动态骨骼的动画,以确定所述布料网格模型的第二级动画。
在本示例中,动态骨骼算法驱动动态骨骼的过程中需要确定动态骨骼的动画参数、阻尼、弹性系数、重力和角度约束等动态配置参数;其中,动态骨骼的动画参数可以包括动态骨骼的运动速度和运动加速度,而动态骨骼的运动速度和运动加速度可以从骨骼动画中获取,即根据大于预设层级的骨骼的骨骼动画确定动态骨骼的动画参数。示例性地,当动态骨骼同时配置有骨骼动画时,则以其配置的骨骼动画对应的运动速度和运动加速度作为动态骨骼的运动参数;当动态骨骼没有配置骨骼动画时,由于动态骨骼和配置骨骼动画的骨骼是处于同一个骨骼链中,因此,在确定骨骼链中部分骨骼的骨骼动画的基础上,可以确定动态骨骼在骨骼动画影响下产生的运动速度和运动加速度,示例性地,可以通过正向动力学算法计算出动态骨骼的动画参数。
动态骨骼的动态配置参数可以由设计人员根据实际需求进行设置。需要说明的是,在本实施例中,动态骨骼的角度约束不仅仅是对模拟时骨骼主轴外的两轴旋转角度的限制,能够形成一个圆锥型的活动范围,还可以包括单轴旋转约束和单轴单朝向旋转约束,在一些情况下,通过单轴旋转约束和单轴单朝向旋转约束可以避免出现穿插现象。比如,当布料模型为裙摆时,可以将裙摆根部的旋转设置为单轴单朝向向外,就能完全避免骨骼链传入碰撞体的情况。
进一步地,在本申请一可选实施例中,上述动态骨骼的角度约束还可以根据布料模型所在的环境风场进行自适应调整;具体地,可以获取环境风场参数,当环境风场参数大于预设风场阈值时,则增大角度约束。其中,预设风场阈值和角度约束增加的量可以根据实际需求进行设置。可以理解,当环境风场参数大于预设风场阈值时,布料模型的动画更明显,使得布料模型的动画效果更加真实。
进一步地,在本申请一可选实施例中,上述根据动态骨骼的动画确定布料网格模型的动态动画,还包括:
当所述动态骨骼位于对应的碰撞体内部时,将所述动态骨骼调整到所述碰撞体外;
根据调整后的所述动态骨骼的动画确定所述布料网格模型的动态动画。
本实施例在生成动态骨骼的动画的过程中,需要对动态骨骼进行碰撞检测,即当动态骨骼位于对应的碰撞体内部时,将动态骨骼的位置调整到碰撞体外,然后再基于调整后的动态骨骼的动画确定布料网格模型的动态动画,从而可以避免发生穿插现象。
具体地,碰撞体可以是球型、胶囊型、立方体、平面等多种类型;优选地,可以采用平面碰撞体,使得在不破坏造型的情况下尽可能地增加碰撞检测面积,提高布料动画的真实性。
示例性地,当布料模型为裙摆时,动态骨骼对应的碰撞体可以是虚拟人物的腿设置的碰撞体,当碰撞体是球型碰撞体时,若球型碰撞体较大,则会使得裙摆受到碰撞被撑起,破坏造型;若球型碰撞体较小,则会导致碰撞很难发生,从而造成穿插现象。而使用平面碰撞体,通过检测动态骨骼在动画过程中是否从平面碰撞体的一侧(或称第一侧)穿过进入到平面碰撞体的另一侧(或称第二侧),若是,则将位于平面碰撞体的第二侧的动态骨骼调整到平面碰撞体第一侧的相对位置,使得动态骨骼的动画过程中,不会穿插平面碰撞体,对应地,根据动态骨骼的动画得到的布料网格模型的动态动画也不会发生穿插现象。
可选地,在进行碰撞检测的过程中,还可以指定不同动态骨骼之间的碰撞关系,得到多个碰撞组,不在同一碰撞组内的动态骨骼不参与碰撞计算,从而减少碰撞检测的性能消耗。
可选地,在生成动态骨骼的动画的过程中,还可以在单帧逻辑时间内计算多个动态骨骼模拟子帧,以解决单帧骨骼动画快速切换引起的骨骼模拟抖动问题。单帧逻辑时间又称帧率,动态骨骼模拟子帧是指形成动态骨骼动画的单帧画面,也就是说,本实施例中,还可以根据计算出的动态骨骼的动画,自适应地根据帧率确定动态骨骼动画的单帧画面,以使得动态骨骼动画更加平滑,可以解决单帧快速切换引起的抖动问题。
当确定布料网格模型的初始动画和动态动画之后,可以融合初始动画和动态动画以得到布料网格模型的第一级动画。
示例性地,可以在初始动画的基础上叠加动态动画,生成布料网格模型的第一级动画。
具体地,对于同时配置了骨骼动画和动态骨骼算法的第一类骨骼,该第一类骨骼对应的布料网格模型区域的第一级动画的生成过程,是通过该第一类骨骼的骨骼动画确定关键帧,通过动态骨骼算法确定关键帧之间的过渡帧得到。对于只配置了骨骼动画的第二类骨骼,则其对应的布料模型区域的第一级动画的生成过程,是通过该第二类骨骼的骨骼动画确定关键帧,通过在关键帧之间插入平滑过渡的过渡帧得到。对于只受动态骨骼算法驱动的第三类骨骼,该第三类骨骼对应的布料网格模型区域的第一级动画的生成过程,是通过动态骨骼算法得到。对于既没有配置骨骼动画,又没有配置动态骨骼算法的第四类骨骼,则可以基于第四类骨骼与配置了骨骼动画的骨骼之间的父子关系,通过正向动力学算法得到该第四类骨骼对应的骨骼动画,进而得到该第四类骨骼对应的布料网格模型区域的第一级动画。
如图4所示,裙摆的上半部分采用骨骼动画生成布料网格模型的初始动画,裙摆的下半部分采用动态骨骼生成布料网格模型的动态动画,初始动画和动态动画叠加得到的即为布料网格模型的第一级动画。
在步骤103中,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
其中,布料网格模型中与动态骨骼对应的动态顶点是指布料网格模型中与动态骨骼关联的顶点。布料约束是指布料网格模型中各个顶点之间的约束关系,具体地,布料约束可以包括顶点在垂直、水平、交错方向的距离约束、拉伸约束、运动约束等。可以理解,本实施例中的布料约束即为动态顶点之间的约束关系,布料约束的具体数值由相关人员根据实际需求进行设置。
在步骤104中,根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画。
在确定用于物理模拟计算的动态顶点后,根据动态顶点间的约束关系进行物理模拟计算,可以得到布料网格模型的第二级动画,可以模拟出真实布料纤维之间拉扯的效果,使得布料模型的细节表现更加丰富。由于本实施例中的第二级动画是通过对动态顶点进行物理模拟计算得到的,因此,与相关技术中,对布料网格模型中的所有网格顶点进行物理模拟计算相比,本实施例中,得到布料网格模型的第二级动画的计算量更小,消耗的性能更少。
在步骤105中,融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
本实施例在通过骨骼动画和动态骨骼得到布料模型的第一级动画后,还可以将第一级动画与第二级动画融合,得到布料网格模型的布料动画,使得布料动画在第一级动画基础上可以呈现更加真实的细节模拟效果。如图5所示,裙摆的动画是通过融合第一级动画和第二级动画得到的,相比于图4所示仅包含第一级动画的效果而言,图5所示的裙摆动画效果更贴近实际布料效果。
示例性地,上述融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画,包括:
获取各个动态顶点对应的第二级动画的融合权重参数;
根据所述融合权重系数,将所述第二级动画与所述第一级动画进行融合处理,得到所述布料网格模型的布料动画。
本实施例中,在进行第一级动画和第二级动画融合的过程中,可以设置布第二级动画的融合权重参数,根据融合权重参数来进行动画融合。其中,融合权重参数用于确定,通过融合第一级动画和第二级动画得到的布料动画,所使用到的第一级动画和第二级动画的使用比例。
示例性地,当第二级动画的融合权重参数为0.5时,则表示第二级动画和第一级动画对布料动画的影响各占一半。当第二级动画的融合权重参数为0.3时,则表示第二级动画对布料动画的影响占0.3,而第一级动画对布料动画的影响占0.7。
需要说明的是,不同动态顶点对应的融合权重参数可以不同,也就是说,可以根据实际需求设置各个动态顶点对应的融合权重系数。示例性地,动态顶点的融合权重参数可以根据与骨骼链链首距离的增大而增大。如图5所示的裙摆示意图中的融合权重参数可以按照从上到下方向依次渐变递增。
进一步地,在本申请一可选实施例中,上述根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,可以包括:
获取所述布料网格模型与所述动态骨骼的最大偏移距离;
根据所述最大偏移距离和所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,使得所述布料网格模型在第二动画中与所述动态骨骼的偏移距离小于所述最大偏移距离。
其中,最大偏移距离会影响布料网格模型的拉伸变形以及运动幅度,如图6所示,布料网格模型对应的动画与动态骨骼之间的距离在最大偏移距离内。在本实施例中,根据最大偏移距离和布料约束对动态顶点进行物理模拟计算,可以使得布料网格模型仅在设定的最大偏移距离范围内产生动画,方便控制动画效果。其中最大偏移距离可以根据实际需求进行设置。当最大偏移距离为0时,表示基于动态顶点的物理模拟将不起作用,因此,一般情况下,最大偏移距离不为0。
进一步地,考虑到第一级动画可以提现布料的柔性效果,并且,第一级动画是基于骨骼动画和动态骨骼算法实现的,具有运算量小的特点,适于在大部分设备上运行。而基于动态顶点进行物理模拟计算得到的第二级动画虽然可以更好地体现布料细节特点,包括牵拉等效果,但是相比于生成第一级动画的过程需要占用更多的设备性能,因此,在本申请一可选实施例中,上述获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束可以包括:
获取当前运行设备的性能参数;
当所述性能参数在大于第一性能指标时,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
其中,当前运行设备是指用于运行游戏程序的设备,当当前运行设备为本地终端设备时,当前运行设备对应的显示屏可以为本地终端设备的显示屏;当当前运行设备为服务器设备时,当前运行设备对应的显示屏可以为客户端设备的显示屏。设备的性能参数用于表示设备处理信息的能力。可以理解,性能参数越大,设备处理信息的能力越强。
可以理解,在本申请实施例中,只有当当前运行设备的性能满足第一性能指标要求时(即性能参数大于第一性能指标时),才会在当前运行设备上执行生成第二级动画的相关步骤,以便在对应的显示屏中显示融合第一级动画和第二级动画的布料动画。当当前运行设备的性能不满足第一性能指标要求时(即性能参数小于第一性能指标时),则只执行生成第一级动画的相关步骤,以便在对应的显示屏中显示第一级动画。其中,当大于第一性能指标包含第一性能指标本身时,则小于第一性能指标不包含第一性能指标本身;相应地,当大于第一性能指标不包含第一性能指标本身时,则小于第一性能指标包含第一性能指标本身。
在一示例中,上述获取当前运行设备的性能参数,可以通过获取当前运行设备的设备型号,根据预先设置的第一配置表来确定当前运行设备的性能参数,其中,第一配置表中记录有多个设备型号与其对应的性能参数,在确定设备型号后,可以查询配置表,以获取对应的性能参数。
在另一示例中,上述获取当前运行设备的性能参数,可以通过实时获取当前运行设备的已使用资源信息,然后根据已使用资源信息确定当前运行设备对应的剩余资源信息,根据资源剩余信息来确定当前运行设备的性能参数,其中,资源信息可以包括CPU占用率、内存占用率等。
在获取到性能参数后,可以将性能参数与第一性能指标进行比较,以确定性能参数与第一性能指标的大小关系,即确定性能参数所属的性能指标范围。
可选地,在其他示例中,还可以通过获取当前运行设备的设备型号,根据第二配置表来确定当前运行设备的性能参数对应的性能指标范围,即确定性能参数是处于大于第一性能指标范围,还是处于小于第一性能指标范围。其中,第二配置表中记录多个设备型号和各个设备型号对应的性能指标范围,即在确定设备型号后,可以查询第二配置表,直接确定对应的性能参数所属的性能指标范围。
在确定性能参数所属的性能指标范围后,根据对应的性能指标范围确定布料动画处理方式,即当性能参数小于第一性能指标时,只需要执行生成第一级动画的过程,以在对应的显示屏中展示第一级动画,保证布料模型可以展示基础的动画形态。当性能参数大于第一性能指标时,执行生成第一级动画、第二级动画、融合第一级动画和第二级动画得到布料动画的过程,以在对应的显示屏中展示融合第一级动画和第二级动画得到的布料动画,以提升布料模型的动画细节表现效果。
在本实施例中,可以根据当前运行设备的性能自适应选择对应的布料动画处理方式来生成布料模型的动画,确保游戏程序运行流畅,在设备所能承受的性能范围内提高动画表现效果。
进一步地,考虑到在布料模型的动画展示场景中,一般只需要在近景的情况下才需要展示更加细节的表现效果,为了减少运行设备的性能消耗,在本申请一可选实施例中,上述获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束可以包括:
响应于针对所述布料模型从远景到近景的第一切换操作,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
在本实施例中,当布料模型所处的虚拟场景从远近切换到近景时,才会在当前运行设备上执行生成第二级动画的相关步骤,以便在对应的显示屏中显示融合第一级动画和第二级动画的布料动画。当布料模型所处的虚拟场景从近景切换到远近时,则只执行生成第一级动画的相关步骤,以便在对应的显示屏中显示第一级动画。
其中,远景和近景可以通过比较布料模型在虚拟场景中,与对应的虚拟摄像机的距离和设定的距离阈值的大小来确定。示例性地,当布料模型与虚拟摄像机的距离小于距离阈值时,说明此时布料模型处于近景;当布料模型与虚拟摄像机的距离大于或等于距离阈值时,说明此时布料模型处于远景。
本实施例中,当布料模型处于远景时,只执行生成第一级动画的相关步骤,以减少计算量,减少性能消耗;当布料模型处于近景时,执行生成第二级动画的相关步骤,以展示更真实的模拟效果。
本申请实施例通过获取布料网格模型和与布料网格模型的顶点关联的骨骼链,其中,骨骼链由多个骨骼连接形成,多个骨骼的层级按照从骨骼链的链首至链尾的方向依次递减;骨骼链包含配置动态骨骼算法的动态骨骼,骨骼链中层级大于预设层级的骨骼配置骨骼动画;动态骨骼包含层级小于预设层级的骨骼中的至少部分骨骼;根据骨骼动画和动态骨骼的动画确定布料网格模型的第一级动画;然后,获取布料网格模型中与动态骨骼对应的动态顶点和布料约束;根据布料约束对动态顶点进行物理模拟计算,得到布料网格模型的第二级动画;最后,融合第一级动画和第二级动画,得到布料网格模型的布料动画;本申请实施例在进行顶点物理模拟计算得到第二级动画的过程中,采用的是与动态骨骼对应的动态顶点,比布料网格模型的顶点少,因此,模拟运算量小,消耗的性能少,并且,由于进行物理模拟计算的模拟顶点是动态骨骼对应的顶点,且布料动画融合了第一级动画和第二级动画,使得更易于控制物理模拟计算的造型动态;此外,在生成第一级动画时只需要对骨骼链中大于预设层级的骨骼制作骨骼动画,还可以减少动画制作的工作量,提高动画制作的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请的一种布料动画处理装置实施例的结构框图,与方法实施例相对应,本申请实施例中,该布料动画处理装置可以包括如下模块:
第一获取模块701,用于获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼;
第一动画确定模块702,用于根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画;
第二获取模块703,用于获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束;
第二动画确定模块704,用于根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画;
布料动画生成模块705,用于融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
可选地,所述第二获取模块703,包括:
性能参数获取模块,用于获取当前运行设备的性能参数;
第二动画参数获取模块,用于当所述性能参数在大于第一性能指标时,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
可选地,所述性能参数获取模块,包括:
设备型号获取模块,用于获取所述当前运行设备的设备型号;
基于设备型号获取性能参数模块,用于从第一配置表中确定所述设备型号对应的性能参数,作为所述当前运行设备的性能参数;所述第一配置表中记录有多个设备型号和各个设备型号对应的性能参数。
可选地,所述性能参数获取模块,包括:
已使用资源信息获取模块,用于获取当前运行设备对应的已使用资源信息;
剩余资源信息确定模块,用于根据所述已使用资源信息确定所述当前运行设备对应的剩余资源信息;
基于剩余资源信息确定性能参数模块,用于根据所述剩余资源信息确定所述当前运行设备的性能参数。
可选地,所述第二获取模块703,包括:
基于切换操作获取模块,用于响应于针对所述布料模型从远景到近景的第一切换操作,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
可选地,所述布料动画生成模块705,包括:
融合权重参数获取模块,用于获取各个动态顶点对应的第二级动画的融合权重参数;
基于融合权重参数生成动画模块,用于根据所述融合权重系数,将所述第二级动画与所述第一级动画进行融合处理,得到所述布料网格模型的布料动画。
可选地,所述第一动画确定模块702,包括:
动画参数确定模块,用于根据所述骨骼动画确定所述动态骨骼的动画参数;
动态配置参数确定模块,用于获取所述动态骨骼的动态配置参数;所述动态配置参数包括阻尼、弹性系数、重力和角度约束;
第一动画生成模块,用于根据所述阻尼、弹性系数、重力和角度约束处理所述动态骨骼的动画参数,生成所述动态骨骼的动画,以确定所述布料网格模型的第一级动画。
可选地,所述第一动画确定模块702,包括:
碰撞检测模块,用于当所述动态骨骼位于对应的碰撞体内部时,将所述动态骨骼调整到所述碰撞体外;
基于碰撞检测生成第一动画模块,用于根据调整后的所述动态骨骼的动画确定所述布料网格模型的第一级动画。
可选地,所述第二动画确定模块704,包括:
最大偏移距离确定模块,用于获取所述布料网格模型与所述动态骨骼的最大偏移距离;
基于最大偏移距离生成第二动画模块,用于根据所述最大偏移距离和所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,使得所述布料网格模型在第三动画中与所述动态骨骼的偏移距离小于所述最大偏移距离。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的布料动画处理方法的步骤。
本申请实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的布料动画处理方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种布料动画处理方法及装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种布料动画处理方法,其特征在于,所述方法包括:
获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼;
根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画;
获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束;
根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画;
融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
2.根据权利要求1所述的方法,其特征在于,所述获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束,包括:
获取当前运行设备的性能参数;
当所述性能参数在大于第一性能指标时,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
3.根据权利要求2所述的方法,其特征在于,所述获取当前运行设备的性能参数,包括:
获取所述当前运行设备的设备型号;
从第一配置表中确定所述设备型号对应的性能参数,作为所述当前运行设备的性能参数;所述第一配置表中记录有多个设备型号和各个设备型号对应的性能参数。
4.根据权利要求2所述的方法,其特征在于,所述获取当前运行设备的性能参数,包括:
获取当前运行设备对应的已使用资源信息;
根据所述已使用资源信息确定所述当前运行设备对应的剩余资源信息;
根据所述剩余资源信息确定所述当前运行设备的性能参数。
5.根据权利要求1所述的方法,其特征在于,所述获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束,包括:
响应于针对所述布料模型从远景到近景的第一切换操作,获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束。
6.根据权利要求1所述的方法,其特征在于,所述融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画,包括:
获取各个动态顶点对应的第二级动画的融合权重参数;
根据所述融合权重系数,将所述第二级动画与所述第一级动画进行融合处理,得到所述布料网格模型的布料动画。
7.根据权利要求1所述的方法,其特征在于,所述根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画,包括:
根据所述骨骼动画确定所述动态骨骼的动画参数;
获取所述动态骨骼的动态配置参数;所述动态配置参数包括阻尼、弹性系数、重力和角度约束;
根据所述阻尼、弹性系数、重力和角度约束处理所述动态骨骼的动画参数,生成所述动态骨骼的动画,以确定所述布料网格模型的第一级动画。
8.根据权利要求7所述的方法,其特征在于,所述根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画,还包括:
当所述动态骨骼位于对应的碰撞体内部时,将所述动态骨骼调整到所述碰撞体外;
根据调整后的所述动态骨骼的动画确定所述布料网格模型的第一级动画。
9.根据权利要求1所述的方法,所述对所述根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,包括:
获取所述布料网格模型与所述动态骨骼的最大偏移距离;
根据所述最大偏移距离和所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画,使得所述布料网格模型在第二动画中与所述动态骨骼的偏移距离小于所述最大偏移距离。
10.一种布料动画处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取布料网格模型和骨骼链,所述骨骼链与所述布料网格模型的顶点关联,所述骨骼链由多个骨骼连接形成,多个所述骨骼的层级按照从所述骨骼链的链首至链尾的方向依次递减;所述骨骼链包含配置动态骨骼算法的动态骨骼,所述骨骼链中层级大于预设层级的骨骼配置骨骼动画;所述动态骨骼包含层级小于所述预设层级的骨骼中的至少部分骨骼;
第一动画确定模块,用于根据所述骨骼动画和所述动态骨骼的动画确定所述布料网格模型的第一级动画;
第二获取模块,用于获取所述布料网格模型中与所述动态骨骼对应的动态顶点和布料约束;
第二动画确定模块,用于根据所述布料约束对所述动态顶点进行物理模拟计算,得到所述布料网格模型的第二级动画;
布料动画生成模块,用于融合所述第一级动画和所述第二级动画,得到所述布料网格模型的布料动画。
11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的布料动画处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的布料动画处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111668736.2A CN114299200A (zh) | 2021-12-31 | 2021-12-31 | 布料动画处理方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111668736.2A CN114299200A (zh) | 2021-12-31 | 2021-12-31 | 布料动画处理方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114299200A true CN114299200A (zh) | 2022-04-08 |
Family
ID=80973723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111668736.2A Pending CN114299200A (zh) | 2021-12-31 | 2021-12-31 | 布料动画处理方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114299200A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925552A (zh) * | 2022-07-19 | 2022-08-19 | 武汉亘星智能技术有限公司 | 基于hpbd的布料仿真方法及系统 |
WO2024007496A1 (zh) * | 2022-07-06 | 2024-01-11 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111668736.2A patent/CN114299200A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024007496A1 (zh) * | 2022-07-06 | 2024-01-11 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN114925552A (zh) * | 2022-07-19 | 2022-08-19 | 武汉亘星智能技术有限公司 | 基于hpbd的布料仿真方法及系统 |
CN114925552B (zh) * | 2022-07-19 | 2022-10-18 | 武汉亘星智能技术有限公司 | 基于hpbd的布料仿真方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114299200A (zh) | 布料动画处理方法及装置、电子设备、存储介质 | |
CN111714880B (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
CN107670279A (zh) | 基于WebGL的3D网页游戏的开发方法及系统 | |
Bijl et al. | Advanced 3D visualization for simulation using game technology | |
JP7561770B2 (ja) | アニメキャラクタの変更 | |
CN112843704B (zh) | 动画模型处理方法、装置、设备及存储介质 | |
US11645805B2 (en) | Animated faces using texture manipulation | |
CN114797108A (zh) | 游戏角色模型渲染方法、装置、电子设备和存储介质 | |
CN115115752A (zh) | 虚拟服装的形变预测方法和装置、存储介质及电子设备 | |
CN111951360B (zh) | 动画模型处理方法、装置、电子设备及可读存储介质 | |
Fu et al. | Real-time multimodal human–avatar interaction | |
CN111739134A (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
WO2023151211A1 (zh) | 模型防穿插方法及装置、电子设备、存储介质 | |
CN116863043A (zh) | 面部动态捕捉驱动方法、装置、电子设备及可读存储介质 | |
JP2024537259A (ja) | 実用的3dアセットのための推論されたスケルトン構造 | |
US9111391B2 (en) | Image generating device, image generating method, and non-transitory information storage medium | |
CN116385605A (zh) | 目标对象的飞行动画生成方法、装置及电子设备 | |
Turpeinen | A Performance Comparison for 3D Crowd Rendering using an Object-Oriented system and Unity DOTS with GPU Instancing on Mobile Devices. | |
CN116510295B (zh) | 数据处理方法、装置、设备及存储介质 | |
TWI814318B (zh) | 用於使用模擬角色訓練模型以用於將遊戲角色之臉部表情製成動畫之方法以及用於使用三維(3d)影像擷取來產生遊戲角色之臉部表情之標籤值之方法 | |
El Rhalibi et al. | Highly realistic mpeg-4 compliant facial animation with charisma | |
US20220176245A1 (en) | Predicting the Appearance of Deformable Objects in Video Games | |
CN118734578A (zh) | 动态骨骼模拟方法及装置、计算机程序产品和电子设备 | |
Strand et al. | Particle-Oriented Bounding Box Skeletal Animation in real-time applications | |
CN117732055A (zh) | 游戏中虚拟角色的运动控制方法、装置、设备和存储介质 |
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 |