一种动画播放方法和装置
技术领域
本申请涉及互联网技术领域,特别涉及一种动画播放方法和装置。
背景技术
现有技术中,在满足一定条件时一些场景会触发播放虚拟角色肢体动作的动画。例如,在游戏过程中,当判定条件满足时,游戏***触发播放动画事件,所述动画是预先设计好的,虚拟角色只能进行设计好的肢体动作。
这种事先设计好的动画往往和游戏中虚拟角色的肢体当前实际情况不完全匹配。例如,在玩家与当前虚拟角色进行互动的过程中,也就是虚拟角色的某些部位在玩家的控制下被动地进行一些旋转、位移时,如果此时满足触发播放一个事先设定的动画的事件,那么虚拟角色肢体动作往往是不连续的,这种动画播放方法会使动画显示效果与之前的游戏画面有脱节感,较为生硬。
因此,需要提供一种改进的动画播放方法。
发明内容
有鉴于此,本说明书实施例提供了一种动画播放方法和装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种动画播放方法,包括:
获取用户交互指令所指向的虚拟角色当前肢体部位和当前目标位置,按照所述虚拟角色当前肢体部位和当前目标位置基于反向动力学IK***确定虚拟角色的第一肢体动作;
基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值,所述动画状态量数值表示播放动画时,对应状态为播放所述当前肢体部位的第二肢体动作;
在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作;将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作,所述虚拟角色由第一肢体动作切换到第四肢体动作。
可选的,按照所述虚拟角色当前肢体部位和当前目标位置基于IK***确定虚拟角色的第一肢体动作包括:
将所述虚拟角色当前肢体部位确定为IK***的当前控制对象,将所述当前目标位置设定为IK***的当前目标位置,设定IK***权重为1;
按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前肢***置,将与所述当前肢***置的变化过程确定为所述虚拟角色的第一肢体动作。
可选的,基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值包括:
基于所述虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画概率;
基于所述播放动画概率确定播放动画状态量数值。
可选的,基于所述播放动画概率确定播放动画状态量数值包括:
当所述播放动画概率大于0时,随机确定播放动画状态量数值为1或0,当播放动画状态量数值状态量数值为0时表示不播放动画;当播放动画状态量数值状态量数值为1时表示播放动画。
可选的,在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作包括:
在设定时间内将IK***当前权重从1线性变化到0;
将所述IK***当前权重发送到IK***;
按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前计算肢***置;
将所述当前计算肢***置与所述IK***当前权重相乘得到第三当前肢***置,将所述第三当前肢***置的变化过程确定为所述虚拟角色的第三肢体动作。
可选的,将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作包括:
在所述设定时间内将所述第二肢体动作的当前权重从0线性变化到1;
将所述第二肢体动作的当前肢***置与所述当前权重相乘得到第二当前肢***置,将同一时刻所述第二当前位置与所述第三当前位置求和得到第四当前肢***置,将所述第四当前肢***置的变化过程确定为所述虚拟角色第四肢体动作。
可选的,获取用户交互指令所指向的虚拟角色的当前目标位置包括:
根据在目标区域内输入的位置选择指令确定所述虚拟角色的当前目标位置。
可选的,在所述确定虚拟角色的第一肢体动作和第三肢体动作情况下,所述方法还包括:
设置所述肢体部位的关节的变化角度小于等于预设的变化角度最大值。
根据本说明书实施例的第二方面,提供了一种动画播放装置,包括:
用户指令获取单元,用于获取用户交互指令所指向的虚拟角色当前肢体部位和当前目标位置;
第一肢体动作确定单元,用于按照所述虚拟角色当前肢体部位和当前目标位置基于反向动力学IK***确定虚拟角色的第一肢体动作;
播放动画状态量数值确定单元,用于基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值,所述动画状态量数值表示播放动画时,对应状态为播放所述当前肢体部位的第二肢体动作;
第三肢体动作确定单元,用于在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作;
第四肢体动作确定单元,用于将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作,所述虚拟角色由第一肢体动作切换到第四肢体动作。
可选的,所述第一肢体动作确定单元包括:
第一设定模块,用于将所述虚拟角色当前肢体部位设定为IK***的当前控制对象,将所述当前目标位置设定为IK***的当前目标位置,将IK***权重设定为1;
第一计算模块,用于按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前肢***置,将与所述当前肢***置的变化过程确定为所述虚拟角色的第一肢体动作。
可选的,所述播放动画状态量数值确定单元包括:
概率确定模块,基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画概率;
数值确定模块,基于所述播放动画概率确定播放动画状态量数值。
可选的,所述第三肢体动作确定单元包括:
第三设定模块,用于在设定时间内将IK***当前权重设定为从1线性变化到0,并将所述IK***当前权重发送到IK***;
第三计算模块,用于按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前计算肢***置,并将所述当前计算肢***置与所述IK***当前权重相乘得到第三当前肢***置,将所述第三当前肢***置的变化过程确定为所述虚拟角色的第三肢体动作。
可选的,所述第四肢体动作确定单元包括:
第四设定模块,用于在所述设定时间内将所述第二肢体动作的当前权重设定为从0线性变化到1;
第四计算模块,用于将所述第二肢体动作的当前肢***置与所述当前权重相乘得到第二当前肢***置,将同一时刻所述第二当前位置与所述第三当前位置求和得到第四当前肢***置,将所述第四当前肢***置的变化过程确定为所述虚拟角色第四肢体动作。
可选的,所述用户指令获取单元,用于:根据在目标区域内输入的位置选择指令确定所述虚拟角色的当前目标位置。
可选的,所述装置还包括:设置单元,用于在所述确定虚拟角色的第一肢体动作和第三肢体动作情况下,设置所述肢体部位的关节的变化角度小于等于预设的变化角度最大值。
根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述动画播放方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述动画播放方法的步骤。
本说明书的动画播放方法和装置,通过设定动画播放的过渡时间,并在过渡时间内将动画播放前虚拟角色的第三肢体动作与播放动画的第二肢体动作融合确定第四肢体动作,使虚拟角色动画播放前的肢体动作与播放动画的肢体动作连续,避免了动画播放画面与之播放前画面的脱节感,使动画播放前后画面产生完整一体的视觉效果。
并且,虚拟角色的目标位置可以由用户设定。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的动画播放方法的流程图;
图3是本申请实施例提供的动画播放方法的流程图;
图4是本申请实施例提供的动画播放方法的流程图;
图5是本申请实施例提供的动画播放方法的流程图;
图6是本申请实施例提供的动画播放方法的流程图;
图7是本申请实施例提供的动画播放方法的流程图;
图8是本申请实施例提供的动画播放装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
IK***:反向动力学***,在所述IK***可以设定虚拟角色的关节链,设定肢体部位绑定的各关节,在设定所述的肢体部位目标位置后,IK***计算确定所述肢体部位绑定的各关节位置,也就是确定在设定目标位置下虚拟角色的肢体动作。
在本申请中,提供了一种动画播放方法及装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图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是示出了根据本申请一实施例的动画播放方法的示意性流程图,包括步骤201至步骤204。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
步骤201:获取用户交互指令所指向的虚拟角色当前肢体部位和当前目标位置,按照所述虚拟角色当前肢体部位和当前目标位置基于反向动力学IK***确定虚拟角色的第一肢体动作。
在本申请实施例中,所述虚拟角色的不同的肢体部位分别对应不同的位置范围,所述的用户交互指令对应的位置在所述的肢体部位对应的位置范围内时,所述的交互指令是针对所述肢体部位的指令,也就是所述的用户交互指令指向所述虚拟角色的当前肢体部位。所述的用户交互指令可以包括:键盘、鼠标以及语音输入的指令。
在本申请实施例中,获取用户交互指令所指向的虚拟角色当前目标位置包括:
根据在目标区域内输入的位置选择指令确定所述虚拟角色当前目标位置。
具体地,所述的位置选择指令可以是通过鼠标输入,也可以时通过键盘输入,或者通过语音输入。例如,所述的虚拟角色为宠物猫时,鼠标点击指向宠物猫的左脚后,鼠标再次在目标区域内点击就是发出了位置选择指令,这样,可以将鼠标再次点击对应的位置确定为所述宠物猫左脚的当前目标位置,相当于设定了宠物猫当前左脚的目标位置。所述的目标区域是可以设定的,在所述的目标区域内输入的位置选择指令为有效的位置选择指令。当然,鼠标点击选择宠物猫的左脚后,也可以拖动鼠标,将鼠标拖动过程中鼠标的当前位置确定为所述宠物猫左脚的当前目标位置,实现不同时刻设定不同的目标位置,使宠物猫左脚当前目标位置跟随鼠标位置。
在本申请实施例中,按照所述虚拟角色当前肢体部位和当前目标位置基于IK***确定虚拟角色的第一肢体动作包括步骤301至步骤302。
步骤301:将所述虚拟角色当前肢体部位确定为IK***的当前控制对象,将所述当前目标位置设定为IK***的当前目标位置,设定IK***权重为1。
步骤302:按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前肢***置,将与所述当前肢***置的变化过程确定为所述虚拟角色的第一肢体动作。
具体地,例如鼠标点击指向宠物猫的左脚后,鼠标再次在目标区域内点击确定当前目标位置。这样,将左脚确定为IK***的当前控制对象,将所述当前目标位置设定为IK***的当前目标位置,设定IK***权重为1后,IK***计算确定宠物猫左脚所在肢体例如左腿的肢***置。并将左腿在当前目标位置设定前后位置变化过程,确定为宠物猫的肢体动作,比如抬左脚。
步骤202:基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值,所述动画状态量数值表示播放动画时,对应状态为播放所述当前肢体部位的第二肢体动作。
在本申请实施例中,基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值包括步骤401至步骤402。
步骤401:基于所述虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画概率。
步骤402:基于所述播放动画概率确定播放动画状态量数值。
具体地,例如鼠标点击指向宠物猫的左脚后,鼠标再次在目标区域内点击确定当前目标位置,如上文所述根据宠物猫的当前肢体部位和当前目标位置确定宠物猫的肢体动作为抬左脚后,根据宠物猫的特点是性格调皮时,确定播放宠物猫抽手动画概率为60%。
在本申请实施例中,基于所述播放动画概率确定播放动画状态量数值包括:
当所述播放动画概率大于0时,随机确定播放动画状态量数值为1或0,当播放动画状态量数值状态量数值为0时表示不播放动画;当状态量数值为1时表示播放动画。
例如,如上文所述,当确定的播放宠物猫抽手动画概率为60%大于0时,随机确定播放动画状态量数值为1或0,当播放动画状态量数值状态量数值为0时表示不播放宠物猫抽手动画;当状态量数值为1时表示播放宠物猫抽手动画。所述的动画对应第二肢体动作,可以获取不同时刻第二肢体动作的当前肢***置。
步骤203:在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作。
在本申请实施例中,在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作包括步骤501至步骤504:
步骤501:在设定时间内将IK***当前权重从1线性变化到0。
步骤502:将所述IK***当前权重发送到IK***。
步骤503:按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前计算肢***置。
步骤504:将所述当前计算肢***置与所述IK***当前权重相乘得到第三当前肢***置,将所述第三当前肢***置的变化过程确定为所述虚拟角色的第三肢体动作。
在本申请实施例中,在所述播放动画状态量数值表示播放动画的情况下,IK***当前权重从1线性变化到0,在将所述IK***当前权重发送到IK***后,按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前计算肢***置,将所述当前计算肢***置与所述IK***当前权重相乘得到第三当前肢***置。在所述的设定时间内,IK***当前权重从1变化到0,所述的第三当前肢***置逐渐变化到0,也就是在设定时间内,所述的第三当前肢***置与所述当前目标位置有关;在设定时间后,所述的第三当前肢***置为0,也就是所述的第三当前肢***置与所述当前目标位置有关,不受所述当前目标位置的控制。
步骤204:将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作,所述虚拟角色由第一肢体动作切换到第四肢体动作。
在本申请实施例中,将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作包括步骤601至步骤602。
步骤601:在所述设定时间内将所述第二肢体动作的当前权重从0线性变化到1;
步骤602:将所述第二肢体动作的当前肢***置与所述当前权重相乘得到第二当前肢***置,将同一时刻所述第二当前肢***置与所述第三当前肢***置求和得到第四当前肢***置,将所述第四当前肢***置的变化过程确定为所述虚拟角色第四肢体动作。
在本申请实施例中,在所述设定时间内将所述第二肢体动作的当前权重从0线性变化到1,将所述第二肢体动作的当前肢***置与所述当前权重相乘得到第二当前肢***置。也就是,在设定时间内,所述的第二当前肢***置逐渐从0变化第二肢体动作位置;在设定时间后,所述的第二当前肢***置为第二肢体动作位置,也就是所述的第二当前肢***置受第二肢***置的控制。
在本申请实施例中,将同一时刻所述第二当前位置与所述第三当前位置求和得到第四当前肢***置,将所述第四当前肢***置的变化过程确定为所述虚拟角色第四肢体动作。综和以上对第二当前肢***置和第三当前肢***置的分析,在所述播放动画状态量数值表示播放动画的情况下,在设定时间内,第四当前肢体动作位置,与所述当前目标位置、第二肢***置有关;在设定时间后,第四当前肢体动作位置与所述当前目标位置无关,仅与第二肢***置。显见的,所述的设定时间是第一肢体动作到第二肢体动作的过渡时间,在设定时间内的肢体动作时第一肢体动作和第二肢体动作的过渡动作,可以理解的,所述过渡工作使第一肢体动作和第二肢体动作连续。所述的过渡时间设定很短,例如1s。
在本申请实施例中,在所述确定虚拟角色的第一肢体动作和确定虚拟角色的第三肢体动作情况下,设定动作变化角度限制,包括步骤701至步骤702。
步骤701:设定所述肢体部位关节的变化角度最大值。
步骤702:在所述确定虚拟角色的第一肢体动作或在确定虚拟角色的第三肢体动作情况下,所述关节的变化角度小于等于所述变化角度最大值。
通过设定动作变化角度限制,可以避免确定虚拟角色的第一肢体动作和虚拟角色的第三肢体动作情况时失真。
本实施例的动画播放方法,通过设定动画播放的过渡时间,并在过渡时间内将动画播放前虚拟角色的第三肢体动作与播放动画的第二肢体动作融合确定第四肢体动作,使虚拟角色动画播放前的肢体动作与播放动画的肢体动作连续,避免了动画播放画面与之播放前画面的脱节感,使动画播放前后画面产生完整一体的视觉效果。
在本申请实施例中,以一个具体应用场景为例:在游戏中,宠物猫与用户进行互动,用户鼠标点击宠物猫的左脚后,用户拖动鼠标与宠物猫互动,宠物猫根据用户鼠标确定的位置作出抬左脚的动作。当宠物猫的特点为调皮时,宠物猫的抬脚动作触发播放宠物猫抽手动画,在1s内,将宠物猫的抬脚动作与抽手动画动作进行动作融合,1s后,继续播放宠物猫的抽手动作。由于存在1s时间的动的过渡时间,宠物猫抬脚动作和抽手动画动作连续,不会产生脱节感。
通过设定动画播放的过渡时间,并在过渡时间内将动画播放前虚拟角色的肢体动作与动画肢体动作融合,使虚拟角色动画播放前的肢体动作与播放动画的肢体动作连续,避免了动画播放画面与之播放前画面的脱节感,使动画播放前后画面产生完整一体的视觉效果。并且,虚拟角色的目标位置可以由用户设定。
与上述方法实施例相对应,本说明书还提供了动画播放装置实施例,图8示出了本说明书一个实施例的动画播放装置的结构示意图。如图8所示,该装置包括:
用户指令获取单元801,用于获取用户交互指令所指向的虚拟角色当前肢体部位和当前目标位置;
第一肢体动作确定单元802,用于按照所述虚拟角色当前肢体部位和当前目标位置基于反向动力学IK***确定虚拟角色的第一肢体动作。
播放动画状态量数值确定单元803,用于基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值,所述动画状态量数值表示播放动画时,对应状态为播放所述当前肢体部位的第二肢体动作。
第三肢体动作确定单元804,用于在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作。
第四肢体动作确定单元805,用于将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作,所述虚拟角色由第一肢体动作切换到第四肢体动作。
可选的,所述第一肢体动作确定单元802包括:
第一设定模块,用于将所述虚拟角色当前肢体部位设定为IK***的当前控制对象,将所述当前目标位置设定为IK***的当前目标位置,将IK***权重设定为1;
第一计算模块,用于按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前肢***置,将与所述当前肢***置的变化过程确定为所述虚拟角色的第一肢体动作。
可选的,所述播放动画状态量数值确定单元803包括:
概率确定模块,用于基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画概率;
数值确定模块,用于基于所述播放动画概率确定播放动画状态量数值。
可选的,数值确定模块,用于当所述播放动画概率大于0时,随机确定播放动画状态量数值为1或0,当播放动画状态量数值状态量数值为0时表示不播放动画;当播放动画状态量数值状态量数值为1时表示播放动画。
可选的,所述第三肢体动作确定单元804包括:
第三设定模块,用于在设定时间内将IK***当前权重设定为从1线性变化到0,并将所述IK***当前权重发送到IK***;
第三计算模块,用于按照所述当前控制对象的所述当前目标位置基于所述IK***确定当前计算肢***置,并将所述当前计算肢***置与所述IK***当前权重相乘得到第三当前肢***置,将所述第三当前肢***置的变化过程确定为所述虚拟角色的第三肢体动作。
可选的,所述第四肢体动作确定单元805包括:
第四设定模块,用于在所述设定时间内将所述第二肢体动作的当前权重设定为从0线性变化到1。
第四计算模块,用于将所述第二肢体动作的当前肢***置与所述当前权重相乘得到第二当前肢***置,将同一时刻所述第二当前位置与所述第三当前位置求和得到第四当前肢***置,将所述第四当前肢***置的变化过程确定为所述虚拟角色第四肢体动作。
可选的,所述用户指令获取单元801用于:根据在目标区域内输入的位置选择指令确定所述虚拟角色的当前目标位置。
可选的,所述装置还包括:设置单元,用于在所述确定虚拟角色的第一肢体动作和第三肢体动作情况下,设置所述肢体部位的关节的变化角度小于等于预设的变化角度最大值。
本实施例的动画播放装置,通过设定动画播放的过渡时间,并在过渡时间内将动画播放前虚拟角色的第三肢体动作与播放动画的第二肢体动作融合确定第四肢体动作,使虚拟角色动画播放前的肢体动作与播放动画的肢体动作连续,避免了动画播放画面与之播放前画面的脱节感,使动画播放前后画面产生完整一体的视觉效果。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
获取用户交互指令所指向的虚拟角色当前肢体部位和当前目标位置,按照所述虚拟角色当前肢体部位和当前目标位置基于反向动力学IK***确定虚拟角色的第一肢体动作;
基于虚拟角色特点、所述虚拟角色当前肢体部位和当前目标位置,确定播放动画状态量数值,所述动画状态量数值表示播放动画时,对应状态为播放所述当前肢体部位的第二肢体动作;
在所述播放动画状态量数值表示播放动画的情况下,按照所述虚拟角色当前肢体部位和当前目标位置基于所述IK***确定虚拟角色的第三肢体动作;
将所述第二肢体动作与第三肢体动作进行动作融合确定第四肢体动作,所述虚拟角色由第一肢体动作切换到第四肢体动作。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述动画播放方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的动画播放方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述动画播放方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。