一种动画效果模拟方法及装置与流程

    专利2022-07-08  101


    本申请涉及计算机技术领域,特别涉及一种动画效果模拟方法及装置、计算设备和计算机可读存储介质。



    背景技术:

    目前很多游戏中很少看到有破坏场景物件或者销毁物件之类的实现,由于性能要求或者硬件不支持等,都无法实现实时破坏的过程,由此场景缺乏多样性,玩家的代入感也不强。

    大部分游戏中有一些破坏场景的做法,这些做法是事先做好的动画来实现的,然后主角在走到物件附近挥刀几下,再播个动画来达到制作目的,给玩家感觉是在破坏场景,但是这种做法比较简单比较粗糙,效果上也很难达到理想中的效果,没有让玩家真正体会破坏的过程,降低了玩家对接下来游戏的期待性。

    因此,亟需提供一种有效的方法以解决此类问题。



    技术实现要素:

    有鉴于此,本申请实施例提供了一种动画效果模拟方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。

    根据本申请实施例的第一方面,提供了一种动画效果模拟方法,包括:

    接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令;

    基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序;

    执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画;

    基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画;

    将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    可选的,所述渲染参数,包括:游戏运行时间参数以及所述目标虚拟对象的原始贴图对应的颜色参数;

    相应的,所述执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画,包括:

    执行所述着色器程序,根据所述目标虚拟对象的原始贴图对应的第一颜色参数确定所述游戏运行时间中不同运行时刻对应的特效贴图的第二颜色参数;

    基于所述第二颜色参数对所述不同运行时刻分别对应的特效贴图进行渲染;

    根据所述游戏运行时间以及渲染生成的至少一个特效贴图,制作生成所述特效动画。

    可选的,所述接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令之前,还包括:

    生成所述三维游戏场景中所述虚拟角色所携带目标虚拟物体的第一包围盒以及所述目标虚拟对象的第二包围盒;

    在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,在根据检测结果确定所述目标虚拟物体与所述目标虚拟对象发生碰撞的情况下,则确定所述虚拟角色针对所述目标虚拟对象提交动画渲染指令。

    可选的,所述在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,包括:

    在所述第一包围盒中设置检测点,并确定所述检测点与所述第二包围盒之间的检测距离;

    若所述检测距离大于等于预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象未发生碰撞;

    若所述检测距离小于所述预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象发生碰撞。

    可选的,所述接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令之前,还包括:

    获取待处理材质的材质参数;

    使用材质编辑器根据所述材质参数对所述待处理材质进行编辑,生成所述目标虚拟对象及对应的纹理贴图;

    将所述目标虚拟对象及所述纹理贴图绑定至相应的材质模型,并将所述材质模型加载至所述三维游戏场景。

    可选的,所述材质动画通过以下方式生成:

    根据游戏运行时间对所述目标虚拟对象的变化参数进行计算,生成与所述游戏运行时间中各运行时刻对应的材质变化参数;

    使用材质编辑器根据所述材质变化参数对所述目标虚拟对象进行编辑,生成所述各运行时刻分别对应的至少一个材质纹理贴图;

    根据所述游戏运行时间以及所述至少一个材质纹理贴图,制作所述材质动画。

    可选的,所述动画效果模拟方法,还包括:

    将所述材质动画绑定到相应的材质模型,并在所述材质模型中增加用于控制所述材质动画开始或停止播放的控制指令;

    相应的,将渲染结果作为所述目标动画效果的模拟结果进行展示,包括:

    执行所述控制指令,开始播放所述目标虚拟对象的材质动画以及所述特效动画。

    根据本申请实施例的第二方面,提供了一种动画效果模拟装置,包括:

    接收模块,被配置为接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令;

    生成模块,被配置为基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序;

    执行模块,被配置为执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画;

    获取模块,被配置为基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画;

    展示模块,被配置为将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述动画效果模拟方法的步骤。

    根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述动画效果模拟方法的步骤。

    本申请实施例中,通过接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令,基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序,执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画,基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画,将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示;

    通过着色器程序实时生成所述特效动画,并将所述特效动画以及所述材质动画进行合并渲染,有利于使得模拟生成的动画效果更加生动和逼真,从而有利于提升用户的游戏体验。

    附图说明

    图1是本申请实施例提供的计算设备的结构框图;

    图2是本申请实施例提供的动画效果模拟方法的流程图;

    图3是本申请实施例提供的动画效果模拟方法的示意图;

    图4是本申请实施例提供的动画效果模拟装置的结构示意图。

    具体实施方式

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

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

    应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。

    在本申请中,提供了一种动画效果模拟方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。

    图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。

    计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

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

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

    其中,处理器120可以执行图2所示动画效果模拟方法中的步骤。图2示出了根据本申请一实施例的动画效果模拟方法的流程图,包括步骤202至步骤210。

    步骤202,接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令。

    具体的,动画渲染指令是一种指示开始进行渲染或指示调用相关渲染组件进行动画渲染的指令,本申请对此不做限制。

    材质是指物体看起来是什么质地,材质可以看成是材料和质感的结合,例如木质、金属质、塑料质等等。

    本申请实施例中,所述动画渲染指令可以是燃烧动画渲染指令,所述目标虚拟对象包括但不限于芦苇草、茅草屋、马车以及船只等可燃烧的对象;所述虚拟角色为三维游戏场景中的虚拟游戏角色。

    实际应用中,虚拟角色可通过将其携带的目标虚拟物体与目标虚拟对象进行接触或碰撞的方式提交动画渲染指令,并且,在所述动画渲染指令为燃烧动画渲染指令的情况下,则所述目标虚拟物体可以是火把或其他燃烧的物体,在此不做限制。

    具体实施时,在所述接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令之前,可先获取待处理材质的材质参数,使用材质编辑器根据所述材质参数对所述待处理材质进行编辑,生成所述目标虚拟对象及对应的纹理贴图,将所述目标虚拟对象及所述纹理贴图绑定至相应的材质模型,并将所述材质模型加载至所述三维游戏场景。

    例如,所述目标虚拟对象为芦苇草,则这个过程主要是给芦苇草模型作编辑,即获取芦苇草的相关材质参数,并使用材质编辑器根据所述材质参数对芦苇草进行材质编辑,再将编辑生成的材质绑定到材质模型,并通过加载模型的方式将芦苇草加载到游戏场景的相应位置(湖边),另外,将将芦苇草加载到游戏场景的相应位置后,可将游戏场景中芦苇草对应的包围盒的大小调整至与模型的大小一致。

    另外,本申请实施例提供的材质动画可提前生成,即根据游戏运行时间对所述目标虚拟对象的变化参数进行计算,生成与所述游戏运行时间中各运行时刻对应的材质变化参数,使用材质编辑器根据所述材质变化参数对所述目标虚拟对象进行编辑,生成所述各运行时刻分别对应的至少一个材质纹理贴图,根据所述游戏运行时间以及所述至少一个材质纹理贴图,制作所述材质动画。

    仍以所述目标虚拟对象为芦苇草为例,由于芦苇草在燃烧过程中,其变化过程为:由黄色变为黑色,并且已燃烧的黑色叶子与未燃烧的完好的叶子之间有个过渡的金黄色,因此,本申请可根据游戏运行时间对所述芦苇草燃烧过程中材质随时间变化的变化参数进行计算,并使用材质编辑器根据计算结果对所述芦苇草进行编辑,生成游戏运行时间中各运行时刻分别对应的材质纹理贴图,以基于游戏运行时间以及材质纹理贴图制作芦苇草的燃烧过程的材质动画。

    除此之外,虚拟角色携带目标虚拟物体进入三维游戏场景后,生成所述三维游戏场景中所述虚拟角色所携带目标虚拟物体的第一包围盒以及所述目标虚拟对象的第二包围盒;在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,在根据检测结果确定所述目标虚拟物体与所述目标虚拟对象发生碰撞的情况下,则确定所述虚拟角色针对所述目标虚拟对象提交动画渲染指令。

    进一步的,在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,即在所述第一包围盒中设置检测点,并确定所述检测点与所述第二包围盒之间的检测距离;若所述检测距离大于等于预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象未发生碰撞;若所述检测距离小于所述预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象发生碰撞。

    具体的,可将所述第一包围盒与所述第二包围盒做相交计算,确定所述第一包围盒与所述第二包围盒之间是否存在重叠或相交的部分,或者,可在所述第一包围盒中设置至少一个检测点,并确定所述检测点是否落入所述第二包围盒的检测范围内,若存在任意一个检测点落入所述第二包围盒的检测范围内,则确定所述目标虚拟物体与所述目标虚拟对象发生碰撞。

    仍以所述目标虚拟对象为芦苇草为例,所述目标虚拟物体为火把,则在确定火把与芦苇草发生碰撞(接触)的情况下,针对所述芦苇草提交燃烧动画的渲染指令以展示芦苇草燃烧的动画效果。

    步骤204,基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序。

    具体的,着色器(shader)是在图形卡的gpu上执行的自定义程序,是一个描述顶点或像素特性的简单程序。

    本申请实施例可采用动态加载方式加载与特定动画渲染效果对应的着色器程序配置文件,该配置文件可存入应用程序工程根目录下的资源目录中,并且所述着色器程序配置文件包括实现特定动画渲染效果所需的各种着色器程序配置参数,基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数即可生成所述着色器程序,所述着色器程序可包括多个顶点着色器和多个片段着色器。

    在实际应用中,可以采用多种具体的实施方式实现步骤204。该实施方式的各种形式的变化,都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。

    步骤206,执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画。

    具体的,生成实现所述特效动画的着色器程序后,可执行着色器程序,以对所述目标虚拟对象进行特效渲染处理。在实际应用中,可根据程序结构及各个着色器程序的执行顺序标识,依次执行各个着色器程序,从而完成对目标虚拟对象的特效动画渲染处理。

    本申请实施例中,所述渲染参数可以包括游戏运行时间参数以及所述目标虚拟对象的原始贴图对应的颜色参数;

    相应的,所述执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画,即执行所述着色器程序,根据所述目标虚拟对象的原始贴图对应的第一颜色参数确定所述游戏运行时间中不同运行时刻对应的特效贴图的第二颜色参数,基于所述第二颜色参数对所述不同运行时刻分别对应的特效贴图进行渲染,根据所述游戏运行时间以及渲染生成的至少一个特效贴图,制作生成所述特效动画。

    具体的,shader中的pixelshader(像素着色)阶段采样原始贴图的rgba值,以及采样控制模型燃烧过程随时间变化的顺序贴图rgba值,再结合游戏运行时间t即可获得目标虚拟物体在不同时刻的燃烧效果对应的颜色值,根据所述颜色值进行图像渲染,并基于渲染结果以及游戏运行时间t即可生成所述燃烧特效动画。

    利用着色器实时生成所述目标虚拟对象的特效动画,有利于使得最终展示的所述目标虚拟对象的动画效果更加逼真,从而有利于提升用户的游戏体验效果。

    步骤208,基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画。

    具体的,在制作生成所述目标虚拟对象的特效动画后,为使得所述目标虚拟对象的动画展示效果更加生动和逼真,可以获取预先生成的所述目标虚拟对象的材质动画,并将所述材质动画和所述特效动画同时播放。

    步骤210,将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    具体的,为保证动画展示效果更加逼真,本申请实施例在获取目标虚拟对象的材质动画以及特效动画后,将所述材质动画以及所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示

    另外,在生成所述目标虚拟对象的材质动画,并将所述材质动画绑定到相应的材质模型后,可在所述材质模型中增加用于控制所述材质动画开始或停止播放的控制指令,在制作生成所述目标虚拟对象的特效动画后,即可执行所述控制指令以开始播放所述材质动画,同时播放所述特效动画。

    仍以所述目标虚拟对象为芦苇草为例,经所述芦苇草加载至三维游戏场景后,可根据芦苇草燃烧过程中,随着时间的变化,其材质的变化效果生成材质动画,并将材质动画绑定到相应的材质模型,另外还可在材质模型中增加用于控制所述材质动画开始或停止播放的控制指令,因此,在制作生成燃烧特效动画后,可同时播放所述材质动画以及燃烧特效动画,以使芦苇草的燃烧效果动画的展示效果更加逼真。

    本申请仅以芦苇草的燃烧场景为例进行示意性说明,所述动画效果模拟方法还可以应用于其他场景,例如:火烧茅草屋、火烧马车、火烧船只等均属于此范围。

    本申请实施例提供的动画效果模拟方法,通过接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令,基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序,执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画,基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画,将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示;

    通过着色器程序实时生成所述特效动画,并将所述特效动画以及所述材质动画进行合并渲染,有利于使得模拟生成的动画效果更加生动和逼真,从而有利于提升用户的游戏体验。

    图3示出了本申请一实施例的动画效果模拟方法的示意图,该动画效果模拟方法以对芦苇草燃烧场景为例进行描述,包括步骤302至步骤326。

    步骤302,获取待处理芦苇草材质的材质参数。

    步骤304,使用材质编辑器根据所述材质参数对所述待处理芦苇草材质进行编辑,生成芦苇草及对应的纹理贴图。

    步骤306,将所述芦苇草及所述纹理贴图绑定至相应的材质模型,并将所述材质模型加载至三维游戏场景。

    步骤308,根据游戏运行时间对芦苇草燃烧过程的变化参数进行计算,生成与所述游戏运行时间中各运行时刻对应的材质变化参数。

    步骤310,使用材质编辑器根据所述材质变化参数对所述芦苇草进行编辑,生成所述各运行时刻分别对应的至少一个材质纹理贴图。

    步骤312,根据所述游戏运行时间以及所述至少一个材质纹理贴图,制作芦苇草的材质动画。

    步骤314,将所述材质动画绑定到相应的材质模型,并在所述材质模型中增加用于控制所述材质动画开始或停止播放的控制指令。

    步骤316,生成三维游戏场景中虚拟角色所携带火把的第一包围盒以及所述芦苇草的第二包围盒。

    步骤318,在所述第一包围盒中设置检测点,并确定所述检测点与所述第二包围盒之间的检测距离。

    若所述检测距离大于等于预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象未发生碰撞;

    若所述检测距离小于所述预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象发生碰撞。

    步骤320,在根据检测结果确定火把与所述芦苇草发生碰撞的情况下,则确定所述虚拟角色针对所述芦苇草提交燃烧动画渲染指令。

    步骤322,基于所述燃烧动画渲染指令调用与燃烧动画效果中燃烧特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述燃烧特效动画所需的渲染参数,生成实现所述燃烧特效动画的着色器程序。

    具体的,所述渲染参数,包括:游戏运行时间参数以及所述芦苇草的原始贴图对应的颜色参数。

    步骤324,执行所述着色器程序,对芦苇草进行燃烧特效渲染处理,生成芦苇草的燃烧特效动画。

    步骤326,执行所述控制指令,开始播放所述芦苇草的材质动画以及所述燃烧特效动画。

    本申请实施例通过着色器程序实时生成芦苇草的燃烧特效动画,并将所述燃烧特效动画以及所述材质动画进行合并渲染,有利于使得模拟生成的燃烧动画效果更加生动和逼真,从而有利于提升用户的游戏体验。

    与上述方法实施例相对应,本申请还提供了动画效果模拟装置实施例,图4示出了本申请一个实施例的动画效果模拟装置的结构示意图。如图4所示,该装置400包括:

    接收模块402,被配置为接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令;

    生成模块404,被配置为基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序;

    执行模块406,被配置为执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画;

    获取模块408,被配置为基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画;

    展示模块410,被配置为将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    可选的,所述渲染参数,包括:游戏运行时间参数以及所述目标虚拟对象的原始贴图对应的颜色参数;

    相应的,所述执行模块406,包括:

    执行子模块,被配置为执行所述着色器程序,根据所述目标虚拟对象的原始贴图对应的第一颜色参数确定所述游戏运行时间中不同运行时刻对应的特效贴图的第二颜色参数;

    渲染子模块,被配置为基于所述第二颜色参数对所述不同运行时刻分别对应的特效贴图进行渲染;

    制作子模块,被配置为根据所述游戏运行时间以及渲染生成的至少一个特效贴图,制作生成所述特效动画。

    可选的,所述动画效果模拟装置,还包括:

    生成子模块,被配置为生成所述三维游戏场景中所述虚拟角色所携带目标虚拟物体的第一包围盒以及所述目标虚拟对象的第二包围盒;

    检测子模块,被配置为在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,在根据检测结果确定所述目标虚拟物体与所述目标虚拟对象发生碰撞的情况下,则确定所述虚拟角色针对所述目标虚拟对象提交动画渲染指令。

    可选的,所述检测子模块,包括:

    距离确定单元,被配置为在所述第一包围盒中设置检测点,并确定所述检测点与所述第二包围盒之间的检测距离;

    第一处理单元,被配置为若所述检测距离大于等于预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象未发生碰撞;

    第二处理单元,被配置为若所述检测距离小于所述预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象发生碰撞。

    可选的,所述动画效果模拟装置,还包括:

    参数获取模块,被配置为获取待处理材质的材质参数;

    编辑模块,被配置为使用材质编辑器根据所述材质参数对所述待处理材质进行编辑,生成所述目标虚拟对象及对应的纹理贴图;

    加载模块,被配置为将所述目标虚拟对象及所述纹理贴图绑定至相应的材质模型,并将所述材质模型加载至所述三维游戏场景。

    可选的,所述材质动画通过以下方式生成:

    根据游戏运行时间对所述目标虚拟对象的变化参数进行计算,生成与所述游戏运行时间中各运行时刻对应的材质变化参数;

    使用材质编辑器根据所述材质变化参数对所述目标虚拟对象进行编辑,生成所述各运行时刻分别对应的至少一个材质纹理贴图;

    根据所述游戏运行时间以及所述至少一个材质纹理贴图,制作所述材质动画。

    可选的,所述动画效果模拟装置,还包括:

    绑定模块,被配置为将所述材质动画绑定到相应的材质模型,并在所述材质模型中增加用于控制所述材质动画开始或停止播放的控制指令;

    相应的,展示模块410,包括:

    控制指令执行子模块,被配置为执行所述控制指令,开始播放所述目标虚拟对象目标虚拟对象的材质动画以及所述特效动画。

    需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。

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

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

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

    上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

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

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

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

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


    技术特征:

    1.一种动画效果模拟方法,其特征在于,包括:

    接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令;

    基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序;

    执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画;

    基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画;

    将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    2.根据权利要求1所述的动画效果模拟方法,其特征在于,所述渲染参数,包括:游戏运行时间参数以及所述目标虚拟对象的原始贴图对应的颜色参数;

    相应的,所述执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画,包括:

    执行所述着色器程序,根据所述目标虚拟对象的原始贴图对应的第一颜色参数确定所述游戏运行时间中不同运行时刻对应的特效贴图的第二颜色参数;

    基于所述第二颜色参数对所述不同运行时刻分别对应的特效贴图进行渲染;

    根据所述游戏运行时间以及渲染生成的至少一个特效贴图,制作生成所述特效动画。

    3.根据权利要求1所述的动画效果模拟方法,其特征在于,所述接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令之前,还包括:

    生成所述三维游戏场景中所述虚拟角色所携带目标虚拟物体的第一包围盒以及所述目标虚拟对象的第二包围盒;

    在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,在根据检测结果确定所述目标虚拟物体与所述目标虚拟对象发生碰撞的情况下,则确定所述虚拟角色针对所述目标虚拟对象提交动画渲染指令。

    4.根据权利要求3所述的动画效果模拟方法,其特征在于,所述在所述第一包围盒以及第二包围盒范围内,对所述虚拟角色所携带的目标虚拟物体以及所述目标虚拟对象进行碰撞检测,包括:

    在所述第一包围盒中设置检测点,并确定所述检测点与所述第二包围盒之间的检测距离;

    若所述检测距离大于等于预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象未发生碰撞;

    若所述检测距离小于所述预设距离阈值,则所述目标虚拟物体与所述目标虚拟对象发生碰撞。

    5.根据权利要求1所述的动画效果模拟方法,其特征在于,所述接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令之前,还包括:

    获取待处理材质的材质参数;

    使用材质编辑器根据所述材质参数对所述待处理材质进行编辑,生成所述目标虚拟对象及对应的纹理贴图;

    将所述目标虚拟对象及所述纹理贴图绑定至相应的材质模型,并将所述材质模型加载至所述三维游戏场景。

    6.根据权利要求1所述的动画效果模拟方法,其特征在于,所述材质动画通过以下方式生成:

    根据游戏运行时间对所述目标虚拟对象的变化参数进行计算,生成与所述游戏运行时间中各运行时刻对应的材质变化参数;

    使用材质编辑器根据所述材质变化参数对所述目标虚拟对象进行编辑,生成所述各运行时刻分别对应的至少一个材质纹理贴图;

    根据所述游戏运行时间以及所述至少一个材质纹理贴图,制作所述材质动画。

    7.根据权利要求6所述的动画效果模拟方法,其特征在于,还包括:

    将所述材质动画绑定到相应的材质模型,并在所述材质模型中增加用于控制所述材质动画开始或停止播放的控制指令;

    相应的,将渲染结果作为所述目标动画效果的模拟结果进行展示,包括:

    执行所述控制指令,开始播放所述目标虚拟对象的材质动画以及所述特效动画。

    8.一种动画效果模拟装置,其特征在于,包括:

    接收模块,被配置为接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令;

    生成模块,被配置为基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序;

    执行模块,被配置为执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画;

    获取模块,被配置为基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画;

    展示模块,被配置为将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    9.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-7任意一项所述方法的步骤。

    10.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-7任意一项所述方法的步骤。

    技术总结
    本申请提供一种动画效果模拟方法及装置,其中所述动画效果模拟方法包括:接收三维游戏场景中虚拟角色针对目标虚拟对象提交的动画渲染指令,基于所述动画渲染指令调用与目标动画效果中特效动画对应的着色器程序配置文件,并基于所述着色器程序配置文件以及实现所述特效动画所需的渲染参数,生成实现所述特效动画的着色器程序,执行所述着色器程序,对所述目标虚拟对象进行特效渲染处理,生成所述特效动画,基于所述动画渲染指令获取所述目标虚拟对象对应的材质动画,将所述材质动画和所述特效动画进行合并,将合并结果渲染至渲染纹理,并将渲染结果作为所述目标动画效果的模拟结果进行展示。

    技术研发人员:万廷高;王庆中
    受保护的技术使用者:珠海金山网络游戏科技有限公司
    技术研发日:2020.12.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16025.html

    最新回复(0)