一种摆动效果模拟系统、方法、计算设备及存储介质与流程

文档序号:18002099发布日期:2019-06-25 22:57阅读:181来源:国知局
一种摆动效果模拟系统、方法、计算设备及存储介质与流程

本申请涉及计算机技术领域,特别涉及一种摆动效果模拟系统、方法、计算设备及存储介质。



背景技术:

自然现象的模拟是计算机领域的一个重要研究课题,在自然界中随风摆动是一种很自然的现象,要想精确的模拟这种摇曳的效果,具有相当的复杂性,大多数树木由无数个树枝和树叶组成,而摇曳具有层次性,每个树枝不仅自身运动,还要随着枝干的运动而运动,这样的运动模式很难用几何变形来表达。为了实现这种现象的模拟,就需要计算机图形处理相当复杂的运算。

同样的,在3d游戏开发过程中,需要有植被系统,大部分游戏的植被系统里面的植物都不摆动,或者只有叶子轻微晃动,效果不是很理想。



技术实现要素:

有鉴于此,本说明书实施例提供了一种摆动效果模拟系统、方法、计算设备及存储介质,以解决现有技术中存在的技术缺陷。

一方面,本说明书实施例公开了一种摆动效果模拟系统,包括:第一编辑器、着色器以及第二编辑器;

所述第一编辑器被配置为导入目标虚拟场景中的待模拟模型,设置所述待模拟模型的支点;

所述着色器被配置为获取所述支点的支点坐标,根据所述支点坐标确定所述支点与所述待模拟模型上对应像素点的交互角度,根据所述交互角度生成所述待模拟模型的顶点动画;

所述第一编辑器还被配置为设置所述待模拟模型摆动参数,将所述摆动参数发送至着色器;

所述着色器还被配置为获取所述摆动参数并根据所述摆动参数对所述顶点动画的摆动效果进行渲染,得到渲染后的待模拟模型的支点位置变化参数、旋转角度变化参数及摆动幅度变化参数,并将所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数发送至第二编辑器;

所述第二编辑器,被配置为根据所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数将所述待模拟模型渲染出摆动效果。

可选地,待模拟模型的摆动参数包括模拟风力参数或者交互参数。

可选地,模拟风力参数包括:

全局风力系数、自身扰动系数、自身刚性系数、响应全局风力的扰动系数、响应全局风力扰动的刚性系数、响应全局风力的旋转系数、响应全局旋转的摆动幅度系数及旋转角度限制系数;

所述全局风力系数包括:风力、风向、风频。

可选地,交互参数包括:所述待模拟模型被触碰时受力的大小和方向。

可选地,第一编辑器还被配置为:

响应于用户对所述待模拟模型所执行的模型导入操作;解析所述待模拟模型并将所述待模拟模型划分为至少两个分区,获取所述待模拟模型每个分区的材质;根据所述待模拟模型每个分区的材质,从预先建立的材质库中选择对应的材质;将所述对应的材质加载到待模拟模型每个分区中,生成所述待模拟模型。

可选地,第一编辑器还被配置为:分别为待模拟模型中的每个分区设置支点。

另一方面,本说明书实施例公开了一种摆动效果模拟方法,包括:

在第一编辑器中导入目标虚拟场景中的待模拟模型,设置所述待模拟模型的支点;

通过着色器获取所述支点的支点坐标,根据所述支点坐标确定所述支点与所述待模拟模型上对应像素点的交互角度,根据所述交互角度生成所述待模拟模型的顶点动画;

通过第一编辑器设置所述待模拟模型的摆动参数,将所述摆动参数发送至着色器;

通过所述着色器获取所述摆动参数并根据所述摆动参数对所述顶点动画的摆动效果进行渲染,得到渲染后的待模拟模型的支点位置变化参数、旋转角度变化参数及摆动幅度变化参数,并将所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数发送至第二编辑器;

所述第二编辑器根据所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数将所述待模拟模型渲染出摆动效果。

可选地,待模拟模型的摆动参数包括模拟风力参数或者交互参数。

可选地,模拟风力参数包括:

全局风力系数、自身扰动系数、自身刚性系数、响应全局风力的扰动系数、响应全局风力扰动的刚性系数、响应全局风力的旋转系数、响应全局旋转的摆动幅度系数及旋转角度限制系数;

所述全局风力系数包括:风力、风向、风频。

可选地,交互参数包括:所述待模拟模型被触碰时受力的大小和方向。

可选地,在第一编辑器中导入目标虚拟场景中的待模拟模型,设置所述待模拟模型的支点包括:

响应于用户对所述待模拟模型所执行的模型导入操作;

解析所述待模拟模型并将所述待模拟模型划分为至少两个分区,获取所述待模拟模型每个分区的材质;

根据所述待模拟模型每个分区的材质,从预先建立的材质库中选择对应的材质;

将所述对应的材质加载到待模拟模型每个分区中,生成所述待模拟模型。

可选地,生成所述待模拟模型之后,还包括:分别为待模拟模型中的每个分区设置支点。

另一方面,本说明书实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现摆动效果模拟方法的步骤。

另一方面,本说明书实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行摆动效果模拟方法的步骤。

本说明书提供的一种摆动效果模拟系统、方法、计算设备及存储介质,通过着色器和编辑器对待模拟物体的受风摆动效果和交互效果进行模拟,使得虚拟场景中物体的随风运动效果和交互运动效果更加逼真,更加自然,可以有效地提高玩家的游戏体验。

附图说明

图1是本说明书一实施例提供的一种摆动效果模拟系统结构示意图;

图2是本说明书一实施例提供的一种交互角度示意图;

图3是本说明书一实施例提供的一种计算设备的结构框图;

图4是本说明书一实施例提供的一种摆动效果模拟方法流程图;

图5是本说明书一实施例提供的一种摆动效果模拟方法流程图;

图6是本说明书一实施例提供的一种交互效果模拟交互图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在本说明书中,提供了一种摆动效果模拟系统、方法、一种计算设备及存储介质,在下面的实施例中逐一进行详细说明。

图1示出了根据本说明书一实施例提供的一种摆动效果模拟系统结构示意图,包括:第一编辑器102、着色器104以及第二编辑器106。

第一编辑器102,被配置为导入目标虚拟场景中的待模拟模型,设置所述待模拟模型的支点。

本发明提供的一个或多个实施例中,待模拟模型包括树木模型、花模型和草模型等。

以树模型为例,第一编辑器被配置为当用户发送导入树模型的请求时,响应用户的模型导入操作,解析所述树模型,将其分为树枝、树干和树叶三个分区,然后获取三个分区的材质,从预先建立的材质库中选择对应的材质,并将材质加载到每个对应的分区,生成所述树模型,为树模型的每个分区设置支点,并将支点坐标填入对应的模型中。

着色器104,被配置为获取所述支点的支点坐标,根据所述支点坐标确定所述支点与所述待模拟模型上对应像素点的交互角度,根据所述交互角度生成所述待模拟模型的顶点动画。

本发明提供的一个或多个实施例中,仍以树模型为例,着色器被配置为获取树模型中各支点的支点坐标,像素点到支点之间的线段1和树模型根节点到支点之间的线段2形成的夹角即为像素点的交互角度,交互角度示意图如图2所示,着色器根据该交互角度可渲染得到树模型的顶点动画。

所述第一编辑器102,还被配置为设置所述待模拟模型摆动参数,将所述摆动参数发送至着色器。

本发明提供的一个或多个实施例中,模型摆动效果的影响因素有模拟风力参数和交互参数,模拟风力参数包括:全局风力系数、自身扰动系数、自身刚性系数、响应全局风力的扰动系数、响应全局风力扰动的刚性系数、响应全局风力的旋转系数、响应全局旋转的摆动幅度系数和/或旋转角度限制系数;其中全局风力系数包括:风力、风向和/或风频。交互参数包括:所述待模拟模型被触碰时受力的大小和方向。

本发明提供的一个或多个实施例中,风力的取值范围为[0,100],风频的取值范围为[0,10],当风力取值为[0,25]、风频取值为[0,3]时为微风状态;当风力取值为[26,60]、风频取值为[4,6]时为大风状态;当风力取值为[61,85]、风频取值为[7,9]时为狂风状态。

所述着色器104,还被配置为获取所述摆动参数并根据所述摆动参数对所述顶点动画的摆动效果进行渲染,得到渲染后的待模拟模型的支点位置变化参数、旋转角度变化参数及摆动幅度变化参数,并将所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数发送至第二编辑器。

本发明提供的一个或多个实施例中,着色器被配置为根据摆动参数对待模拟模型的摆动效果进行渲染,摆动参数为模拟风力参数或交互参数。

第二编辑器106,被配置为根据所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数将所述待模拟模型渲染出摆动效果。

实际应用中,第二编辑器可以为材质编辑器。

本发明提供的一个或多个实施例中,通过着色器和材质编辑器对待模拟物体的摆动效果进行模拟渲染,使得游戏场景中物体的摆动效果更加真实和自然,可以有效提高玩家的游戏体验。

图3是示出了根据本说明书一实施例的计算设备300的结构框图。该计算设备300的部件包括但不限于存储器310和处理器320。处理器320与存储器310通过总线330相连接。

计算设备300还包括接入设备340,接入设备340可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

在本说明书的一个实施例中,计算设备300的上述部件以及图3中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图3所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备300可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备300还可以是移动式或静止式的服务器。

其中,处理器320可以执行图4所示方法中的步骤。图4示出了根据本说明书一实施例提供的一种摆动效果模拟方法流程图,包括步骤402至步骤410。

步骤402、在第一编辑器中导入目标虚拟场景中的待模拟模型,设置所述待模拟模型的支点。

本发明提供的一个实施例中,步骤402可以通过如图5所述的步骤实现,包括步骤502至步骤506。

步骤502、响应于用户对所述待模拟模型所执行的模型导入操作。

步骤504、解析所述待模拟模型并将所述待模拟模型划分为至少两个分区,获取所述待模拟模型每个分区的材质。

本发明的一个或多个实施例中,待模拟模型为树木模型、花草模型或者旗帜模型,以旗帜模型为例,待模拟的旗帜模型可以分为旗杆和旗面两个分区,确定好分区后,获取两个分区的材质。

步骤506、根据所述待模拟模型每个分区的材质,从预先建立的材质库中选择对应的材质。

步骤508、将所述对应的材质加载到待模拟模型每个分区中,生成所述待模拟模型。

本说明书一个或多个实施例中,游戏场景中运动状态会摆动影响的物体有树木、花草和/或旗帜等物体,因此在摆动效果的模拟过程中需要首先生成树木、花草和/或旗帜等物体,这些物体是通过首先创建线条化的表示物体形状的模型,然后在模型上贴上表示物体颜色、自发光、不透明等表示真实物体表面特性的材质形成的。

因此,要在第一编辑器中创建物体,首先需要生成表示物体形状的模型和表示真实物体表面特性的材质。通过选择系统中预设的材质库中的材质,确定待模拟模型的材质,以生成待模拟模型。

步骤404、通过着色器获取所述支点的支点坐标,根据所述支点坐标确定所述支点与所述待模拟模型上对应像素点的交互角度,根据所述交互角度生成所述待模拟模型的顶点动画。

本发明的一个或多个实施例中,支点由用户进行设置,设置支点后将支点坐标填入对应的模型中,仍以旗帜模型为例进行说明,着色器在获取旗帜模型的一个支点坐标(x,y)后,将该支点坐标到旗帜底部节点的线段和支点到像素点之间的线段形成的角作为交互角度,并根据交互角度对像素点绕该支点旋转的顶点动画进行渲染,其中像素点绕支点(x,y)旋转的顶点动画可以通过以下代码来实现:

v.vertex.x=povitws.x*cos(angle)-povitws.y*sin(angle)+povit.x;

v.vertex.y=povitws.x*sin(angle)+povitws.y*cos(angle)+povit.y;

float2povitws=float2(v.vertex.x-povit.x,v.vertex.y-povit.y);

其中,v.vertex.x表示模型中像素点在x轴的坐标,v.vertex.y表示模型中像素点在y轴的坐标,povitws表示模型中像素点到相应支点的向量,angle表示旋转角度,povit.x表示模型中支点在x轴的坐标,povit.y表示模型中支点在y轴的坐标。

步骤406、通过第一编辑器设置所述待模拟模型的摆动参数,将所述摆动参数发送至着色器。

本发明提供的一个或多个实施例中,摆动参数包括模拟风力参数和/或交互参数,模拟风力参数包括全局风力系数、自身扰动系数、自身刚性系数、响应全局风力的扰动系数、响应全局风力扰动的刚性系数、响应全局风力的旋转系数、响应全局旋转的摆动幅度系数和/或旋转角度限制系数,其中全局风力系数包括:风力、风向和/或风频;交互参数包括:待模拟模型被触碰时受力的大小和方向。

本发明提供的一个或多个实施例中,风力的取值范围为[0,100],风频的取值范围为[0,10],当风力取值为[0,25]、风频取值为[0,3]时为微风状态;当风力取值为[26,60]、风频取值为[4,6]时为大风状态;当风力取值为[61,85]、风频取值为[7,9]时为狂风状态。

不同参数以及参数的大小均会对待模拟物体的摆动效果产生不同的影响,实际应用中,可根据不同场景选择不同的参数或对参数的值设置不同的大小。

步骤408、通过所述着色器获取所述摆动参数并根据所述摆动参数对所述顶点动画的摆动效果进行渲染,得到渲染后的待模拟模型的支点位置变化参数、旋转角度变化参数及摆动幅度变化参数,并将所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数发送至第二编辑器。

本说明书一个或多个实施例中,着色器被配置为根据摆动参数对已生成的顶点动画进行渲染得到顶点动画受风力影响和/或受交互影响的摆动效果,应用过程中,摆动参数的类型及个数可根据实际情况来确定,例如,本说明书一实施例中,旋转角度可以通过以下代码来实现:

angle=_selfdistortion*animation*noise+globalwindflex+globalwindrotation;

其中,angle表示旋转角度,selfdistortion表示自身扰动系数,animation表示顶点动画,noise表示噪音,globalwindflex表示响应全局风力扰动的刚性系数,globalwindrotation表示响应全局风力的旋转系数。

以上代码中仅用到待模拟模型的自身扰动系数、响应全局风力扰动的刚性系数以及响应全局风力的旋转系数,代码中出现的噪音为柏林噪音,增加随机采样噪音,可以使物体的摆动效果更加真实。

步骤410、所述第二编辑器根据所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数将所述待模拟模型渲染出摆动效果。

本说明书一个或多个实施例中,受风效果和交互效果可以独立存在,也可同时存在,根据实际情况而定。

本发明提供的一个或多个实施例中,通过着色器和材质编辑器对待模拟物体的摆动效果进行模拟渲染,使得游戏场景中物体的摆动效果更加真实和自然,可以有效提高玩家的游戏体验,使用柏林噪音对待模拟模型的运动增加随机不连续的随机值影响,以使摆动的效果不会过于线性重复。

图6示出了根据本说明书一实施例提供的一种交互效果模拟方法的交互图,包括步骤602至步骤616。

步骤602、在第一编辑器中导入目标虚拟场景中的待模拟模型,设置所述待模拟模型的支点。

步骤604、着色器获取待模拟模型的支点坐标。

步骤606、着色器根据所述支点坐标确定所述支点与所述待模拟模型上对应像素点的交互角度,根据所述交互角度生成所述待模拟模型的顶点动画。

步骤608、通过第一编辑器设置所述待模拟模型的交互参数,将所述交互参数发送至着色器。

本发明的一个或多个实施例中,交互参数包括待模拟物体被触碰时受力的大小和方向,而受力大小由碰撞时的速度决定,本实施例中碰撞速度的范围为[0.08,0.15]。

步骤610、通过着色器获取待模拟模型的交互参数。

步骤612、着色器根据所述交互参数对所述顶点动画的摆动效果进行渲染,得到渲染后的待模拟模型的支点位置变化参数、旋转角度变化参数及摆动幅度变化参数,并将所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数发送至第二编辑器。

本发明的一个或多个实施例中,以游戏场景中人物角色与草模型交互为例,第一编辑器设置人物角色碰撞草模型时的速度为0.1,方向为水平方向,根据人物角色碰撞草模型时的速度大小和方向对顶点动画的摆动效果进行渲染,得到渲染后待模拟模型的支点位置变化参数、旋转角度变化参数及摆动幅度变化参数,并将所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数发送至第二编辑器。

步骤614、第二编辑器获取所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数。

步骤616、第二编辑器根据所述支点位置变化参数、旋转角度变化参数及摆动幅度变化参数将所述待模拟模型渲染出交互效果。

本发明的一个或多个实施例中,通过对虚拟场景中物体的摆动效果进行模拟,增加了真实性,使得物体的摆动效果更加逼真。

本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如前所述摆动效果模拟方法的步骤。本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述摆动效果模拟方法的步骤。

说明书上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的摆动效果模拟方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述摆动效果模拟方法的技术方案的描述。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本说明书仅受权利要求书及其全部范围和等效物的限制。

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