动作效果生成方法及装置与流程

文档序号:17488137发布日期:2019-04-23 20:09阅读:189来源:国知局
动作效果生成方法及装置与流程

本发明实施例涉及动画效果处理技术领域,具体而言,涉及一种动作效果生成方法及装置。



背景技术:

随着互联网技术发展,现在很多应用程序会有角色的存在,也会对应存在角色的行为,进而就会有对应的动作。但是现有技术难以灵活、准确地生成角色的动作效果。



技术实现要素:

有鉴于此,本发明提供了一种动作效果生成方法及装置。

本发明实施例提供了一种动作效果生成方法,应用于本地电子设备,所述本地电子设备中预存有用于表征角色形体的多个骨骼关节,所述方法包括:

响应用户通过所述本地电子设备输入的触发指令,根据所述触发指令获得触点的位置信息;

获取所述位置信息的索引值,在预设虚拟物品信息库中查找是否存在具有所述索引值的物品信息,若存在,对所述物品信息进行解析,获取所述物品信息对应的物品类别;

基于所述物品类别为预存的每个骨骼关节分配关节活动权重值;

针对预存的每个骨骼关节,基于所述位置信息和该骨骼关节对应的关节活动权重值生成该骨骼关节的旋转度;

针对生成得到的每个旋转度,控制该旋转度对应的骨骼关节进行旋转。

可选地,所述本地电子设备设置有显示区域,以所述显示区域的其中一个顶点为坐标原点,以第一设定方向和第二设定方向为坐标轴生成二维坐标系;响应用户通过所述本地电子设备输入的触发指令,根据所述触发指令获得触点的位置信息的步骤,包括:

响应用户通过所述显示区域输入的触发指令;

根据所述触发指令获得所述触点在所述二维坐标系中的坐标值。

可选地,基于所述物品类别为预存的每个骨骼关节分配关节活动权重值的步骤,包括:

基于所述物品类别识别出角色接触所述物品类别对应的物品时的动作类别;

根据所述动作类别为预存的每个骨骼关节分配关节活动权重值,其中,预存的每个骨骼关节基于所述动作类别所分配的关节活动权重值之和为一。

可选地,基于所述物品类别为预存的每个骨骼关节分配关节活动权重值的步骤之前,所述方法还包括:

为预存的每个骨骼关节设置最大旋转区间。

可选地,针对预存的每个骨骼关节,基于所述位置信息和该骨骼关节对应的关节活动权重值生成该骨骼关节的旋转度的步骤,包括:

针对预存的每个骨骼关节,将该骨骼关节对应的最大旋转区间与该骨骼关节对应的关节活动权重值相乘以得到设定旋转区间;

基于所述位置信息生成该骨骼关节的拟旋转度;

判断所述拟旋转度是否位于所述设定旋转区间内,若所述拟旋转度位于所述设定旋转区间内,将所述拟旋转度作为该骨骼关节的旋转度,若所述拟旋转度位于所述设定旋转区间外,分别计算所述拟旋转度与两个设定旋转度的差值的绝对值,获取计算得到的两个绝对值中的较小值,将所述较小值对应的设定旋转度作为该骨骼关节的旋转度;其中,所述两个设定旋转度为所述设定旋转区间的两个端点值。

本发明实施例还提供了一种动作效果生成装置,应用于本地电子设备,所述本地电子设备中预存有用于表征角色形体的多个骨骼关节,所述装置包括:

位置信息获取模块,用于响应用户通过所述本地电子设备输入的触发指令,根据所述触发指令获得触点的位置信息;

物品类别获取模块,用于获取所述位置信息的索引值,在预设虚拟物品信息库中查找是否存在具有所述索引值的物品信息,若存在,对所述物品信息进行解析,获取所述物品信息对应的物品类别;

关节活动权重值分配模块,用于基于所述物品类别为预存的每个骨骼关节分配关节活动权重值;

关节旋转度生成模块,用于针对预存的每个骨骼关节,基于所述位置信息和该骨骼关节对应的关节活动权重值生成该骨骼关节的旋转度;

旋转模块,用于针对生成得到的每个旋转度,控制该旋转度对应的骨骼关节进行旋转。

可选地,所述本地电子设备设置有显示区域,以所述显示区域的其中一个顶点为坐标原点,以第一设定方向和第二设定方向为坐标轴生成二维坐标系;所述位置信息获取模块通过以下方式响应用户通过所述本地电子设备输入的触发指令,根据所述触发指令获得触点的位置信息:

响应用户通过所述显示区域输入的触发指令;

根据所述触发指令获得所述触点在所述二维坐标系中的坐标值。

可选地,所述关节活动权重值分配模块通过以下方式基于所述物品类别为预存的每个骨骼关节分配关节活动权重值:

基于所述物品类别识别出角色接触所述物品类别对应的物品时的动作类别;

根据所述动作类别为预存的每个骨骼关节分配关节活动权重值,其中,预存的每个骨骼关节基于所述动作类别所分配的关节活动权重值之和为一。

可选地,基于所述物品类别为预存的每个骨骼关节分配关节活动权重值的步骤之前,所述关节活动权重值分配模块还用于:

为预存的每个骨骼关节设置最大旋转区间。

可选地,所述关节旋转度生成模块通过以下方式针对预存的每个骨骼关节,基于所述位置信息和该骨骼关节对应的关节活动权重值生成该骨骼关节的旋转度:

针对预存的每个骨骼关节,将该骨骼关节对应的最大旋转区间与该骨骼关节对应的关节活动权重值相乘以得到设定旋转区间;

基于所述位置信息生成该骨骼关节的拟旋转度;

判断所述拟旋转度是否位于所述设定旋转区间内,若所述拟旋转度位于所述设定旋转区间内,将所述拟旋转度作为该骨骼关节的旋转度,若所述拟旋转度位于所述设定旋转区间外,分别计算所述拟旋转度与两个设定旋转度的差值的绝对值,获取计算得到的两个绝对值中的较小值,将所述较小值对应的设定旋转度作为该骨骼关节的旋转度;其中,所述两个设定旋转度为所述设定旋转区间的两个端点值。

本发明实施例还提供了一种本地电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的动作效果生成方法。

本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在本地电子设备执行上述的动作效果生成方法。

有益效果

本发明实施例提供的动作效果生成方法及装置,能够基于用户输入的触发指令获得触点的位置信息,基于位置信息查找出对应的物品类别,并基于物品类别为预存的每个骨骼关节分配关节活动权重值,然后根据位置信息和关节活动权重值生成每个骨骼关节的旋转度,并根据生成的旋转度控制对应的骨骼关节进行旋转,进而实现角色的动作效果,如此,能够根据不同的触点的位置信息以及不同的物品类别灵活生成每个骨骼关节的旋转度,提高动作效果生成的灵活性和准确性。

进一步地,本发明实施例提供的动作效果生成方法及装置无需预先设置大量的效果贴图,因此也减少了美术人员的工作量,进而降低了制作成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所提供的一种本地电子设备10的方框示意图。

图2为本发明实施例所提供的一种动作效果生成方法的流程图。

图3为本发明实施例所提供的多个骨骼关节的示意图。

图4为一实施方式中图2所示的步骤s25包括的子步骤的示意图。

图5为本发明实施例所提供的一种动作效果生成装置20的模块框图。

图标:

10-本地电子设备;11-存储器;12-处理器;13-网络模块;

20-动作效果生成装置;21-位置信息获取模块;22-物品类别获取模块;23-关节活动权重值分配模块;24-关节旋转度生成模块;25-旋转模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

发明人经调查发现,现有的角色动作效果生成方法大多通过预先设置大量的效果贴图,然后根据用户需求旋转多个效果贴图进行播放进而生成连续的动画,但是这种方式存在一定缺陷,一方面,针对某一类的动作可能存在角度上的微调,才用上述方法难以体现出角度上的微调效果,另一方面,若要体现出角度上的微调效果,就需要制作更多的效果贴图,这无疑会增加美术人员的工作量,例如,针对捡东西的动作,被捡物品可能在地上,也可能在桌上,若采用效果贴图实现捡东西的动作效果,需要制作大量的贴图,由此可见,现有技术难以灵活、准确地生成角色的动作效果。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

基于上述研究,本发明实施例提供了一种动作效果生成方法及装置,能够根据不同的触点的位置信息以及不同的物品类别灵活生成每个骨骼关节的旋转度,提高动作效果生成的灵活性和准确性。

图1示出了本发明实施例所提供的一种本地电子设备10的方框示意图。本发明实施例中的本地电子设备10具有数据存储、传输、处理功能,如图1所示,本地电子设备10包括:存储器11、处理器12、网络模块13和动作效果生成装置20。

存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有动作效果生成装置20,所述动作效果生成装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的动作效果生成装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的动作效果生成方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立本地电子设备10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,本地电子设备10还可包括比图1中所示更多或者更少的组件,或者具有图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在本地电子设备10执行下面的动作效果生成方法。

图2示出了本发明实施例所提供的一种动作效果生成方法的流程图。所述方法有关的流程所定义的方法步骤应用于本地电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:

在本实施例中,本地电子设备10可以为手机、平板等。

请结合参阅图3,本地电子设备10包括一显示区域zone,进一步地,显示区域zone为矩形,以显示区域zone的其中一个顶点为原点,以第一设定方向x方向和第二设定方向y方向为坐标轴建立二维坐标系,如此,能够为之后的旋转角度的生成提供参考。

进一步地,本地电子设备10中预存有表征角色形体的多个骨骼关节,如图3所示,骨骼关节包括但不限于:头关节j0、肩关节j1、肘关节j2、腕关节j3、髋关节j4、膝关节j5和踝关节j6,这些关节之间存在一定连接关系,关节之间的联动能够实现不同的动作例如捡取物品和踢踹物品等。

步骤s21,响应用户通过本地电子设备输入的触发指令,根据触发指令获得触点的位置信息。

例如,用户可以点触显示区域zone实现触发指令的输入,本地电子设备10中会基于触发指令获取触点的位置信息,其中,触点的位置信息可以为二维坐标系中的某一坐标点,例如,用户点触显示区域zone的某一处,本地电子设备10会获得用户点触的地方在二维坐标系中的坐标值,又例如,该坐标值为(x,y)。

步骤s22,获取位置信息的索引值,在虚拟物品信息库中查找是否存在具有该索引值的物品信息。

若存在,转向步骤s23,若不存在,表明触点处没有物品,不执行操作。

步骤s23,对物品信息进行解析,获取物品信息对应的物品类别。

例如,(x,y)的索引值为index0,若显示区域zone的(x,y)坐标点处摆放有物品,则虚拟物品信息库中存储的该物品的物品信息也存在与(x,y)坐标点相同的索引值,即index0。

又例如,物品信息为c,c的索引值为index0,本地电子设备10会对物品信息c进行解析,获取物品信息c的物品类别。

步骤s24,基于物品类别为预存的每个骨骼关节分配关节活动权重值。

具体地,在分配关节活动权重值之前,会为每个骨骼关节分配最大旋转区间,例如,请结合参阅图3,肩关节j1的最大旋转区间为[-90°,90°]。

进一步地,基于物品类别识别出角色接触物品时的动作类别,例如,物品类别为足球,因此,本地电子设备10识别出角色接触足球的动作类别为“踢”,此时会根据动作类别为每个骨骼关节分配权重值,其中,分配的权重值如下:

头关节j0:0.05;

肩关节j1:0.15;

肘关节j2:0.05;

腕关节j3:0.05;

髋关节j4:0.2;

膝关节j5:0.3;

踝关节j6:0.2。

可以理解,针对“踢”这个动作类型,每个骨骼关节所分配的权重值之和为1。

步骤s25,针对预存的每个骨骼关节,基于位置信息和该骨骼关节对应的关节活动权重值生成该骨骼关节的旋转度。

请结合参阅图4,本实施例中通过步骤s251、步骤s252、步骤s253、步骤s254和步骤s255列举了步骤s25的其中一种实现方式。

步骤s251,针对预存的每个骨骼关节,将该骨骼关节对应的最大旋转区间与该骨骼关节对应的关节活动权重值相乘以得到设定旋转区间。

以“踢”类动作的肩关节j1为例,将权重0.15与[-90°,90°]相乘得到设定旋转区间为[-13.5°,13.5°]。

步骤s252,基于位置信息生成该骨骼关节的拟旋转度。

本地电子设备10会基于(x,y)生成肩关节j1的拟旋转度angle。

步骤s253,判断拟旋转度是否位于设定旋转区间内。

若angle位于[-13.5°,13.5°]内,转向步骤s254。

若angle位于[-13.5°,13.5°]外,转向步骤s255。

步骤s254,将拟旋转度作为该骨骼关节的旋转度。

例如,若angle为10°,将10°作为肩关节j1的旋转度。

步骤s255,分别计算拟旋转度与两个设定旋转度的差值的绝对值,获取计算得到的两个绝对值中的较小值,将较小值对应的设定旋转度作为该骨骼关节的旋转度。

又例如,若angle为20°,分别计算20°与-13.5°以及13.5°的差值的绝对值,可以理解,绝对值较小值为6.5°,因此,将13.5°作为关节j1的旋转度。如此,能够保证角色在执行“踢”类动作的时候各个骨骼关节之间的协调性,避免某个关节开合较大影响整体协调。

可以理解,其他骨骼关节也利用上述方法计算或生成出对应的旋转度。

可选地,设定旋转度的计算也可以根据实际情况进行调整,并不一定采用权重值与最大旋转区间相乘的方式。

步骤s26,针对生成得到的每个旋转度,控制该旋转度对应的骨骼关节进行旋转。

本地电子设备10根据生成得到的每个旋转度控制该旋转度对应的骨骼关节进行旋转,以实现角色执行对应的动作,可以理解,足球在显示区域zone中的位置可能不同,此时会根据足球在显示区域zone中的具体位置对每个骨骼关节的旋转度进行调整,以实现角色“踢”不同位置的足球的动作效果,相较于现有的采用大量效果贴图的方式,该方法不仅减少了前期的美术工作量,还能够灵活、准确地呈现动作,满足多样化的客户需求。

在上述基础上,如图5所示,本发明实施例提供了一种动作效果生成装置20,所述动作效果生成装置20包括:位置信息获取模块21、物品类别获取模块22、关节活动权重值分配模块23、关节旋转度生成模块24和旋转模块25。

位置信息获取模块21,用于响应用户通过所述本地电子设备输入的触发指令,根据所述触发指令获得触点的位置信息。

由于位置信息获取模块21和图2中步骤s21的实现原理类似,因此在此不作更多说明。

物品类别获取模块22,用于获取所述位置信息的索引值,在预设虚拟物品信息库中查找是否存在具有所述索引值的物品信息,若存在,对所述物品信息进行解析,获取所述物品信息对应的物品类别。

由于物品类别获取模块22和图2中步骤s22和步骤s23的实现原理类似,因此在此不作更多说明。

关节活动权重值分配模块23,用于基于所述物品类别为预存的每个骨骼关节分配关节活动权重值。

由于关节活动权重值分配模块23和图2中步骤s24的实现原理类似,因此在此不作更多说明。

关节旋转度生成模块24,用于针对预存的每个骨骼关节,基于所述位置信息和该骨骼关节对应的关节活动权重值生成该骨骼关节的旋转度。

由于关节旋转度生成模块24和图2中步骤s25的实现原理类似,因此在此不作更多说明。

旋转模块25,用于针对生成得到的每个旋转度,控制该旋转度对应的骨骼关节进行旋转。

由于旋转模块25和图2中步骤s26的实现原理类似,因此在此不作更多说明。

综上,本发明实施例所提供的动作效果生成方法及装置,能够根据不同的触点的位置信息以及不同的物品类别灵活生成每个骨骼关节的旋转度,提高动作效果生成的灵活性和准确性,无需预先设置大量的效果贴图,因此也减少了美术人员的工作量,进而降低了制作成本。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,本地电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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