一种基于网格顶点的手游布料模拟方法及系统、设备、存储介质技术方案

技术编号:21915417 阅读:28 留言:0更新日期:2019-08-21 12:52
本发明专利技术公开了一种基于网格顶点的手游布料模拟方法,包括以下步骤:S1:美术建模面片,和程序约定几个的关键采样定点;S2:程序根据面片的运动分别记录几帧的运动参数进行惯性计算;S3:传入修正后的面片顶点偏移,模拟简单的布料物理模拟。本发明专利技术不需要花费大量的时间就可以实现游戏的布料物理效果,特别适用于手游这种不需要太精致的布料效果并且追求性能和表现平衡的过程。本发明专利技术基于网格顶点的手游布料模拟方法能快速整合,不需要对美术做大量的培训,只需要几个简单的参数就可以实现布料的简单模拟。

A Method of Hand-Traveling Cloth Simulation Based on Grid Vertex and Its System, Equipment and Storage Media

【技术实现步骤摘要】
一种基于网格顶点的手游布料模拟方法及系统、设备、存储介质
本专利技术属于手游模拟
,尤其涉及是一种基于网格顶点的手游布料模拟方法及系统、设备、存储介质。
技术介绍
在图形学领域开始布料模拟的研究可以最早追溯到上世纪八十年代,最早的时候学术界对于布料系统的研究肯定不是用于布料的实时计算,而是离线渲染,甚至只是为了生成一副静态的图。Terzopoulos在1987年的论文提出一种方法,将布料当作矩形的网格,然后使用半隐式集成的方式来更新它的位置,使用弹性理论来模拟动画效果。Breen在1994年提出了一个新的视角,即基于粒子(Particle-based)的方案,使用用于模拟纤维织物的Kawabatameasuringsystem来模拟布料的运行效果。Baraff和Witkin在1998年发表的论文中提出了一种在保证布料模拟效果稳定的前提下允许更大时间步长的方案,这一方案也被逐渐地改进为更快的方法。在这之后,基于AABB树等数据结构的算法优化,与刚体的碰撞,布料自身的碰撞计算等问题逐渐被研究和提出相应的解决方案,布料模拟也逐渐从一个学术界的研究方向发展成为可以应用于影视制作的工业技术,进而应用于需要实时计算的游戏领域。对于布料系统,甚至物理系统来说,很多引擎都不会自己去实现,而是集成已经提供了相应功能的中间件。世界三大物理引擎有AMD公司的Bullet、Nvidia公司的PhysX,还有现在被Microsoft公司从Intel公司手中收购了的Havok,他们都提供了整套的布料模拟解决方案供其他引擎集成和使用,这种存在使用复杂,对于美术需要进行大量时间的培训,每一款引擎有对应的使用方式,无法做到通用。
技术实现思路
为了解决上述现有技术中的不足,本专利技术的目的在于提供一种基于网格顶点的手游布料模拟方法及系统、设备、存储介质。本专利技术基于网格顶点的手游布料模拟方法能快速整合,不需要对美术做大量的培训,只需要几个简单的参数就可以实现布料的简单模拟。为了解决上述技术问题,本专利技术采用如下技术方案:本专利技术一方面提供了一种基于网格顶点的手游布料模拟方法,包括以下步骤:S1:美术建模面片,和程序约定几个的关键采样定点;S2:程序根据面片的运动分别记录几帧的运动参数进行惯性计算;S3:传入修正后的面片顶点偏移,模拟简单的布料物理模拟。第一方面,作为优选,S1步骤包括:美术建模面片,必须事先约定好面片的原点;因为面片的物理模拟都是根据近似简略的物理公式计算,如果面片的原点位置不对,会导致面片定点模拟显示不正确。所以美术建模面片的时候需要严格和美术进行协商,但是这个一般都是通用的,比如飘带,披风都是最上方是原点。第一方面,作为优选,S2步骤包括:S21:通过当前帧和之前的帧计算延迟,从而获得延迟的距离,方向,角度以及时间,最终获得方向速度,方向加速度,角速度,角度加速度;S22:方向速度和方向加速度用来模拟面片上所有顶点三个轴方向上位移的延迟,角速度和角度加速度用来模拟面片上所有顶点三个轴方向上角度的延迟。第一方面,作为优选,S22步骤包括:S221:三个轴方向上的位移延迟通过z轴方向的位移加速度和位移速度来确定,通过速度和时间,获得z轴延迟的距离,近似的可以认为z轴延迟的距离就是按照原点为圆心,y轴为半径旋转后的上面的圆弧长度,定义圆弧的长度为|d|,通过公式|d|/2×Pi即可以得到旋转的角度,定义为rotation,通过旋转的角度,通过三角函数就可以分别得到模型空间内z轴和y轴上的偏移,已知当前顶点y轴坐标为|y-x|,从而算出z轴偏移为|y-x|×sin(rotation),y轴偏移为|y-x|-cos(rotation)×|y-x|,最后根据当前的顶点坐标算上z轴和y轴上的偏移,从而得到x轴的位移所导致的布料的惯性;y轴的位移和z轴的位移同理,并且三个轴的旋转可以推导出近似的公式;S222:三个轴上的旋转延迟通过y轴方向的角度加速度和角度速度来确定,通过速度和时间,确定y轴方向的角度延迟,角度换算成弧度定义为|r|,通过同时|r|/2×Pi就可以得到旋转的角度,定义为rotatation,通过旋转的角度,得到3个轴上的偏移,这个不同于单个轴位移的运动模拟,单个轴位置只会导致2个轴的物理模拟,但是单个轴的旋转需要3个轴的物理模拟,根据当前点和原点的距离|dis|算出z轴上的偏移为|dis|×sin(rotatation)算出x轴上得到偏移为|x-x|-cos(rotation)×|x-x|,算出z轴上的偏移为|z-z|-cos(rotataion)×|z-z|;第一方面,作为优选,S3步骤包括:S31:所有的运动就是三个轴的位移和三个轴的旋转,只需要近似模拟器这些运动所附带的物理表现,然后进行组合,就可以实现网格的布料模拟系统;S32:美术根据程序提供的公式结合具体参数根据实际进行调整,比如飘带披风他们的建模面片原点不一样,他们对于物理的表现力表现形式也不一样;S32:调好参数后,放在游戏里面,进行最终审核。第二方面,本专利技术提供一种基于网格顶点的手游布料模拟系统,所述系统包括:美术建模面片模块:用于美术建模面片,和程序约定几个的关键采样定点;惯性计算模块:用于程序根据面片的运动分别记录几帧的运动参数进行惯性计算;物理模拟模块:用于传入修正后的面片顶点偏移,模拟简单的布料物理模拟。第二方面,作为优选,所述惯性计算模块包括位移延迟计算模块和旋转延迟计算模块。第二方面,作为优选,所述位移延迟计算模块用于三个轴方向上的位移延迟通过z轴方向的位移加速度和位移速度来确定;所述旋转延迟计算模块用于三个轴上的旋转延迟通过y轴方向的角度加速度和角度速度来确定。第三方面,本专利技术提供一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的基于网格顶点的手游布料模拟方法。第四方面,本专利技术提供一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现上述的基于网格顶点的手游布料模拟方法。与现有技术相比,本专利技术的有益效果为:1、本专利技术不需要花费大量的时间就可以实现游戏的布料物理效果,特别适用于手游这种不需要太精致的布料效果并且追求性能和表现平衡的过程。2、本专利技术基于网格顶点的手游布料模拟方法能快速整合,不需要对美术做大量的培训,只需要几个简单的参数就可以实现布料的简单模拟。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1和2为三个轴方向上的位移延迟示例图;图3和4为三个轴上的旋转延迟示例图;图5为本申请实施例提供的基于网格顶点的手游布料模拟系统示意图;图6为本申请实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。实施例1,本实施例提供了一种基于网格顶点的手游布料本文档来自技高网
...

【技术保护点】
1.一种基于网格顶点的手游布料模拟方法,其特征是:包括以下步骤:S1:美术建模面片,和程序约定几个的关键采样定点;S2:程序根据面片的运动分别记录几帧的运动参数进行惯性计算;S3:传入修正后的面片顶点偏移,模拟简单的布料物理模拟。

【技术特征摘要】
1.一种基于网格顶点的手游布料模拟方法,其特征是:包括以下步骤:S1:美术建模面片,和程序约定几个的关键采样定点;S2:程序根据面片的运动分别记录几帧的运动参数进行惯性计算;S3:传入修正后的面片顶点偏移,模拟简单的布料物理模拟。2.根据权利要求1所述的一种基于网格顶点的手游布料模拟方法,其特征是:S1步骤包括:美术建模面片,必须事先约定好面片的原点;因为面片的物理模拟都是根据近似简略的物理公式计算,如果面片的原点位置不对,会导致面片定点模拟显示不正确。3.根据权利要求1所述的一种基于网格顶点的手游布料模拟方法,其特征是:S2步骤包括:S21:通过当前帧和之前的帧计算延迟,从而获得延迟的距离,方向,角度以及时间,最终获得方向速度,方向加速度,角速度,角度加速度;S22:方向速度和方向加速度用来模拟面片上所有顶点三个轴方向上位移的延迟,角速度和角度加速度用来模拟面片上所有顶点三个轴方向上角度的延迟。4.根据权利要求3所述的一种基于网格顶点的手游布料模拟方法,其特征是:S22步骤包括:S221:三个轴方向上的位移延迟通过z轴方向的位移加速度和位移速度来确定,通过速度和时间,获得z轴延迟的距离,近似的可以认为z轴延迟的距离就是按照原点为圆心,y轴为半径旋转后的上面的圆弧长度,定义圆弧的长度为|d|,通过公式|d|/2×Pi即可以得到旋转的的角度,定义为rotation,通过旋转的角度,通过三角函数就可以分别得到模型空间内z轴和y轴上的偏移,已知当前顶点y轴坐标为|y-x|,从而算出z轴偏移为|y-x|×sin(rotation),y轴偏移为|y-x|-cos(rotation)×|y-x|,最后根据当前的顶点坐标算上z轴和y轴上的偏移,从而得到x轴的位移所导致的布料的惯性;y轴的位移和z轴的位移同理,并且三个轴的旋转可以推导出近似的公式;S222:三个轴上的旋转延迟通过y轴方向的角度加速度和角度速度来确定,通过速度和时间,确定y轴方向的角度延迟,角度换算成弧度定义为|r|,通过同时|r|/2×Pi就可以得到旋转的角度,定义为rotatation,通过旋转...

【专利技术属性】
技术研发人员:张洁勇
申请(专利权)人:山东六叶网络科技有限公司
类型:发明
国别省市:山东,37

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

1