特效实现方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28378873 阅读:11 留言:0更新日期:2021-05-08 00:06
本公开示出了一种特效实现方法、装置、电子设备及存储介质,其中特效实现方法包括:首先获取当前帧毛发模型的第一运动状态信息以及前一帧毛发模型的第二运动状态信息,然后根据两帧的运动状态信息,对第一变换矩阵进行调整,得到第一摆动矩阵,再根据第一摆动矩阵以及当前帧毛发模型中顶点的位置坐标,获得当前帧毛发模型中顶点的目标位置坐标,进而根据目标位置坐标对当前帧毛发模型进行渲染。本公开中,根据前一帧以及当前帧毛发模型的运动状态信息,对第一变换矩阵施加模拟阻尼运动的数值扰动,来动态改变顶点的实际空间位置,在目标对象运动的过程中,附着于其表面的毛发能够实时响应其运动状态,呈现出较为真实的毛发摆动的图像特效。

【技术实现步骤摘要】
特效实现方法、装置、电子设备及存储介质
本公开涉及计算机
,尤其涉及一种特效实现方法、装置、电子设备及存储介质。
技术介绍
随着计算机图形学技术的飞速发展,目标对象越来越多地被应用到电影、游戏和动画的制作当中。为了实现目标对象的真实感,需要一些关键技术,如骨骼动画、表情神态以及头发模拟等。由于毛发形态结构及光照质感的复杂性,头发模拟一直是图形学领域非常具有挑战性的问题。毛发渲染是指为目标对象绘制毛发,实现毛发的仿真模拟,对于提升目标对象的真实感具有重要作用。在现有毛发技术实现方案中,基于层挤出的毛发渲染方式能在保证良好性能的前提下表现出较好的中短型毛发质感,因此其应用频率较高。然而,此种毛发渲染方式的物理模拟方案,在目标对象运动或旋转时,无法表现出其各个部位的毛发受到不同方向的阻力及自身回弹力时的甩动状态,无法实现毛发动态且真实的物理摆动效果。
技术实现思路
本公开提供一种特效实现方法、装置、电子设备及存储介质,以至少解决相关技术中无法实现毛发动态且真实的物理摆动效果的问题。本公开的技术方案如下:根据本公开的第一方面,提供一种特效实现方法,所述方法包括:获取当前帧毛发模型的第一运动状态信息以及前一帧毛发模型的第二运动状态信息,所述第一运动状态信息包含第一变换矩阵,所述第一变换矩阵用于将所述当前帧毛发模型中的顶点由本地空间位置变换到世界空间位置;根据所述第一运动状态信息以及所述第二运动状态信息,对所述第一变换矩阵进行调整,得到所述当前帧毛发模型的第一摆动矩阵,所述第一摆动矩阵包含所述当前帧毛发模型所表示的毛发的阻尼运动信息,所述阻尼运动信息用于表示所述毛发沿其零势能形态来回摆动直至静止的运动信息;根据所述第一摆动矩阵以及所述当前帧毛发模型中顶点的位置坐标,获得所述当前帧毛发模型中顶点的目标位置坐标;根据所述目标位置坐标对所述当前帧毛发模型进行渲染。在一种可选的实现方式中,所述根据所述第一摆动矩阵以及所述当前帧毛发模型中顶点的位置坐标,获得所述当前帧毛发模型中顶点的目标位置坐标的步骤,包括:采用所述第一摆动矩阵,对所述顶点的本地空间位置坐标进行变换,得到所述顶点的初始位置坐标,所述顶点的位置坐标为所述顶点的本地空间位置坐标;采用所述第一变换矩阵,对所述顶点的本地空间位置坐标进行变换,得到所述顶点的世界空间位置坐标;根据所述初始位置坐标与所述世界空间位置坐标之间的差值,获得所述顶点的作用力向量;根据所述作用力向量与所述顶点的法向量之间的关系,对所述作用力向量进行修正,得到所述顶点的受力向量;根据所述受力向量以及所述法向量,获得所述顶点的目标位置坐标。在一种可选的实现方式中,根据所述初始位置坐标与所述世界空间位置坐标之间的差值,获得所述顶点的作用力向量的步骤,包括:将所述差值与预先设置的第一调节系数相乘,得到所述顶点的作用力向量,所述第一调节系数用于调节所述作用力向量的强度大小;所述根据所述作用力向量与所述顶点的法向量之间的关系,对所述作用力向量进行修正,得到所述顶点的受力向量的步骤,包括:当所述作用力向量与所述法向量之间的点积结果大于或等于零时,所述受力向量的方向为第一方向,所述第一方向与所述法向量垂直且位于所述作用力向量与所述法向量所形成的平面内,所述受力向量的模长为所述作用力向量在所述第一方向上的投影长度;当所述作用力向量与所述法向量之间的点积结果小于零时,所述受力向量为所述作用力向量。在一种可选的实现方式中,所述根据所述受力向量以及所述法向量,获得所述顶点的目标位置坐标的步骤,包括:对所述受力向量与所述法向量的和值进行归一化,根据归一化结果确定所述顶点的膨胀向量;将所述世界空间位置坐标与所述膨胀向量相加,得到所述顶点的目标位置坐标。在一种可选的实现方式中,所述毛发模型包括多个毛发横截面,所述根据归一化结果确定所述顶点的膨胀向量的步骤,包括:将所述归一化结果与预设挤出系数以及预设常量相乘,得到所述顶点的膨胀向量,其中,所述预设挤出系数用于表征所述顶点所对应的毛发横截面的膨胀量,所述预设常量用于控制所述毛发的长度。在一种可选的实现方式中,获取前一帧毛发模型的第二运动状态信息的步骤,包括:获取前一帧毛发模型的第二摆动矩阵和第一速度矩阵,所述第一速度矩阵中的第一元素用于表征第二元素的数值以第三元素的数值为平衡点进行阻尼运动的过程中在所述前一帧的瞬时速度值,所述第一元素为所述第一速度矩阵中的任一元素,所述第二元素为所述第二摆动矩阵中与所述第一元素的行列位置对应的元素,所述第三元素为所述前一帧毛发模型的第二变换矩阵中与所述第一元素的行列位置对应的元素,所述第二变换矩阵用于将所述前一帧毛发模型中的顶点由本地空间位置变换到世界空间位置;所述根据所述第一运动状态信息以及所述第二运动状态信息,对所述第一变换矩阵进行调整,得到所述当前帧毛发模型的第一摆动矩阵的步骤,包括:根据所述第一速度矩阵、所述第一变换矩阵以及所述第二摆动矩阵,确定所述当前帧毛发模型的第二速度矩阵;将所述第二速度矩阵与所述第二摆动矩阵相加,得到所述第一摆动矩阵。在一种可选的实现方式中,所述根据所述第一速度矩阵、所述第一变换矩阵以及所述第二摆动矩阵,确定所述当前帧毛发模型的第二速度矩阵的步骤,包括:按照以下公式计算所述第二速度矩阵中的第i个元素:speed_matrix[i]=speed_matrix’[i]*fade+(target_transform[i]-swing_transform’[i])*k,其中,所述speed_matrix[i]表示所述第二速度矩阵中的第i个元素;所述speed_matrix’[i]表示所述第一速度矩阵中与所述第i个元素的行列位置对应的元素;所述target_transform[i]表示所述第一变换矩阵中与所述第i个元素的行列位置对应的元素;所述swing_transform’[i]表示所述第二摆动矩阵中与所述第i个元素的行列位置对应的元素;所述fade表示预先设置的损耗系数,所述损耗系数用于表征所述毛发在阻尼运动过程中的能量损耗比例;所述k表示预先设置的劲度系数,所述劲度系数用于表征所述毛发在阻尼运动过程中的回弹力大小。在一种可选的实现方式中,获取前一帧毛发模型的第二运动状态信息的步骤,还包括:获取所述第二变换矩阵;所述根据所述第一速度矩阵、所述第一变换矩阵以及所述第二摆动矩阵,确定所述当前帧毛发模型的第二速度矩阵的步骤,包括:根据所述第二变换矩阵、所述第一速度矩阵、所述第一变换矩阵以及所述第二摆动矩阵,确定所述第二速度矩阵。在一种可选的实现方式中,所述根据所述第二变换矩阵、所述第一速度矩阵、所述第一变换矩阵以及所述第二摆动矩阵,确定所述第二速度矩阵的步骤,包括:按照以下公式计算所述第二速度矩阵中的第i个元素:speed_matrix[i]=speed_mat本文档来自技高网...

【技术保护点】
1.一种特效实现方法,其特征在于,所述方法包括:/n获取当前帧毛发模型的第一运动状态信息以及前一帧毛发模型的第二运动状态信息,所述第一运动状态信息包含第一变换矩阵,所述第一变换矩阵用于将所述当前帧毛发模型中的顶点由本地空间位置变换到世界空间位置;/n根据所述第一运动状态信息以及所述第二运动状态信息,对所述第一变换矩阵进行调整,得到所述当前帧毛发模型的第一摆动矩阵,所述第一摆动矩阵包含所述当前帧毛发模型所表示的毛发的阻尼运动信息,所述阻尼运动信息用于表示所述毛发沿其零势能形态来回摆动直至静止的运动信息;/n根据所述第一摆动矩阵以及所述当前帧毛发模型中顶点的位置坐标,获得所述当前帧毛发模型中顶点的目标位置坐标;/n根据所述目标位置坐标对所述当前帧毛发模型进行渲染。/n

【技术特征摘要】
1.一种特效实现方法,其特征在于,所述方法包括:
获取当前帧毛发模型的第一运动状态信息以及前一帧毛发模型的第二运动状态信息,所述第一运动状态信息包含第一变换矩阵,所述第一变换矩阵用于将所述当前帧毛发模型中的顶点由本地空间位置变换到世界空间位置;
根据所述第一运动状态信息以及所述第二运动状态信息,对所述第一变换矩阵进行调整,得到所述当前帧毛发模型的第一摆动矩阵,所述第一摆动矩阵包含所述当前帧毛发模型所表示的毛发的阻尼运动信息,所述阻尼运动信息用于表示所述毛发沿其零势能形态来回摆动直至静止的运动信息;
根据所述第一摆动矩阵以及所述当前帧毛发模型中顶点的位置坐标,获得所述当前帧毛发模型中顶点的目标位置坐标;
根据所述目标位置坐标对所述当前帧毛发模型进行渲染。


2.根据权利要求1所述的特效实现方法,其特征在于,所述根据所述第一摆动矩阵以及所述当前帧毛发模型中顶点的位置坐标,获得所述当前帧毛发模型中顶点的目标位置坐标的步骤,包括:
采用所述第一摆动矩阵,对所述顶点的本地空间位置坐标进行变换,得到所述顶点的初始位置坐标,所述顶点的位置坐标为所述顶点的本地空间位置坐标;
采用所述第一变换矩阵,对所述顶点的本地空间位置坐标进行变换,得到所述顶点的世界空间位置坐标;
根据所述初始位置坐标与所述世界空间位置坐标之间的差值,获得所述顶点的作用力向量;
根据所述作用力向量与所述顶点的法向量之间的关系,对所述作用力向量进行修正,得到所述顶点的受力向量;
根据所述受力向量以及所述法向量,获得所述顶点的目标位置坐标。


3.根据权利要求2所述的特效实现方法,其特征在于,根据所述初始位置坐标与所述世界空间位置坐标之间的差值,获得所述顶点的作用力向量的步骤,包括:
将所述差值与预先设置的第一调节系数相乘,得到所述顶点的作用力向量,所述第一调节系数用于调节所述作用力向量的强度大小;
所述根据所述作用力向量与所述顶点的法向量之间的关系,对所述作用力向量进行修正,得到所述顶点的受力向量的步骤,包括:
当所述作用力向量与所述法向量之间的点积结果大于或等于零时,所述受力向量的方向为第一方向,所述第一方向与所述法向量垂直且位于所述作用力向量与所述法向量所形成的平面内,所述受力向量的模长为所述作用力向量在所述第一方向上的投影长度;
当所述作用力向量与所述法向量之间的点积结果小于零时,所述受力向量为所述作用力向量。


4.根据权利要求2所述的特效实现方法,其特征在于,所述根据所述受力向量以及所述法向量,获得所述顶点的目标位置坐标的步骤,包括:
对所述受力向量与所述法向量的和值进行归一化,根据归一化结果确定所述顶点的膨胀向量;
将所述世界空间位置坐标与所述膨胀向量相加,得到所述顶点的目标位置坐标。


5.根据权利要求4所述的特效实现方法,其特征在于,所述...

【专利技术属性】
技术研发人员:王东烁
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1