CN111223170B - 动画生成方法、装置、电子设备和存储介质 - Google Patents

动画生成方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111223170B
CN111223170B CN202010013366.8A CN202010013366A CN111223170B CN 111223170 B CN111223170 B CN 111223170B CN 202010013366 A CN202010013366 A CN 202010013366A CN 111223170 B CN111223170 B CN 111223170B
Authority
CN
China
Prior art keywords
virtual character
animation
target virtual
target
control strategy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010013366.8A
Other languages
English (en)
Other versions
CN111223170A (zh
Inventor
曾子骄
周志强
林群芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010013366.8A priority Critical patent/CN111223170B/zh
Publication of CN111223170A publication Critical patent/CN111223170A/zh
Application granted granted Critical
Publication of CN111223170B publication Critical patent/CN111223170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供一种动画生成方法、装置、电子设备和存储介质,属于计算机技术领域,涉及人工智能和计算机视觉技术。其中,动画生成方法包括:获得目标虚拟角色的动画片段T0,动画片段T0中包括A0动画帧,基于A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,将至少两帧动画A0和A1组成目标虚拟角色完成目标任务的动画片段T1。其中,调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数。上述方法可以减少对人力的消耗,提高生成动画的效率。

Description

动画生成方法、装置、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种动画生成方法、装置、电子设备和存储介质。
背景技术
随着计算机技术和互联网技术的迅速发展,电子游戏尤其是网络游戏越来越受到欢迎。而且随着人们需求的不断提高,在制作游戏动画时,往往希望画面中的虚拟角色具有更加真实自然的视觉效果。
为了追求更加真实自然的视觉效果,通常,在设计游戏中的虚拟角色时,可以使虚拟角色具有骨骼,相邻的骨骼之间具有关节,这类虚拟角色的动画也可以称为骨骼的动画。对于游戏中的每个虚拟角色,设计完虚拟角色的形象之后,还需要动画师给每个虚拟角色赋予不同的动作,比如跑步、走路、跳跃以及攻击等动作。
动画师可以手动拖动虚拟角色的骨骼,并一点点修正骨骼的动作,达到所需的动作效果。该过程不仅效率低,而且耗费大量人力。
发明内容
为解决相关技术中存在的技术问题,本申请实施例提供一种动画生成方法、装置、电子设备和存储介质,可以根据虚拟角色需执行的目标任务生成包含虚拟角色的姿态序列的动画片段,可以减少对人力的消耗,提高效率,而且可以提升虚拟角色的动作效果。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种动画生成方法,所述方法包括:
获得目标虚拟角色的动画片段T0,所述动画片段T0中包括A0动画帧;
获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,其中,所述调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数;
获得目标虚拟角色完成所述目标任务的动画片段T1,所述动画片段T1是由所述至少两帧动画A0和A1组成的。
第二方面,本申请实施例提供一种动画生成装置,所述装置包括:
动画获取单元,用于获得目标虚拟角色的动画片段T0,所述动画片段T0中包括A0动画帧;
姿态调整单元,用于获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,其中,所述调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数;
动画生成单元,用于获得目标虚拟角色完成所述目标任务的动画片段T1,所述动画片段T1是由所述至少两帧动画A0和A1组成的。
在一种可选的实施例中,所述姿态调整单元,还用于:
获取所述目标虚拟角色在A0动画帧中的状态信息;
将所述目标虚拟角色在A0动画帧中的状态信息和所述目标任务输入控制策略网络,获得控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩,所述控制策略网络是根据样本动画片段训练得到的,所述样本动画片段包含参考虚拟角色完成所述目标任务的参考姿态序列。
在一种可选的实施例中,所述姿态调整单元,还用于:
获取所述目标虚拟角色在A0动画帧中的状态信息和所述目标虚拟角色所处的场景环境的环境信息;
将所述目标虚拟角色在A0动画帧中的状态信息、所述目标任务和所述目标虚拟角色所处的场景环境的环境信息输入控制策略网络,获得所述控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩,所述控制策略网络是根据样本动画片段训练得到的,所述样本动画片段包含参考虚拟角色完成所述目标任务的参考姿态序列。
在一种可选的实施例中,所述状态信息包括目标虚拟角色的相位数据、姿态数据和速度数据,其中,所述相位数据用于表征所述目标虚拟角色在当前动画片段中所处的阶段,所述姿态数据用于表征目标虚拟角色当前的姿态,所述速度数据用于表征目标虚拟角色当前的速度状态。
在一种可选的实施例中,所述装置还包括网络训练单元,用于:
根据样本动画片段确定训练对象的初始状态;将训练对象在当前时刻的状态信息和设定的训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略;所述控制策略在下一时刻作用于所述训练对象的各个关节上的力矩,每一时刻对应一帧动画;
根据得到的控制策略,样本动画片段中参考虚拟角色的参考姿态序列以及设定的目标任务确定期望奖励值;
根据所述期望奖励值调整控制策略网络的参数,并对调整参数后的控制策略网络继续进行训练,直至达到设定的训练结束条件为止,得到已训练的控制策略网络。
在一种可选的实施例中,所述网络训练单元,还用于:
获取所述训练对象所处的场景环境的环境信息;
将所述环境信息、所述训练对象在当前时刻的状态信息和所述训练任务输入所述控制策略网络,得到控制策略网络输出的下一时刻的控制策略。
在一种可选的实施例中,所述网络训练单元,还用于:
根据得到的控制策略,控制所述训练对象与所处的场景环境交互,确定所述训练对象在下一时刻的状态信息;
根据所述训练对象和所述参考虚拟角色在下一时刻的状态信息及设定的训练任务,确定当前时刻的奖励值;
根据每个时刻的控制策略、所述训练对象在每个时刻的状态信息及每个时刻的奖励值,确定期望奖励值。
在一种可选的实施例中,所述网络训练单元,还用于:
将所述训练对象和所述参考虚拟角色在下一时刻的状态信息及设定的训练任务输入价值评估网络,以使所述价值评估网络根据所述训练对象在下一时刻的状态和设定的训练任务,确定当前时刻的任务目标奖励;
根据所述训练对象在下一时刻的状态信息与所述参考虚拟角色在下一时刻的状态信息,确定当前时刻的模仿目标奖励;
根据所述任务目标奖励和所述模仿目标奖励,确定当前时刻的奖励值。
在一种可选的实施例中,所述模仿目标奖励包括以下至少一项:姿态相似度、速度相似度、末端关节相似度、根关节姿态相似度、质心姿态相似度;
所述姿态相似度用于表征所述训练对象与所述参考虚拟角色的姿态数据的相似度;所述速度相似度用于表征所述训练对象与所述参考虚拟角色的速度数据的相似度;所述末端关节相似度用于表征所述训练对象与所述参考虚拟角色的末端关节的姿态的相似度;所述根关节相似度用于表征所述训练对象与所述参考虚拟角色的根关节的姿态的相似度;所述质心姿态相似度用于表征所述训练对象与所述参考虚拟角色的重心位置的相似度。
在一种可选的实施例中,所述网络训练单元,还用于:
将每个时刻的控制策略和所述训练对象在每个时刻的状态信息组成策略轨迹;
将每个时刻的奖励值的总和作为该策略轨迹对应的整体奖励值;
根据控制策略网络的当前参数确定该策略轨迹出现的概率;
根据该策略轨迹对应的整体奖励值和该策略轨迹出现的概率,确定期望奖励值。
第三方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的动画生成方法。
第四方面,本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的动画生成方法。
本申请实施例的动画生成方法、装置、电子设备和存储介质,获得目标虚拟角色的动画片段T0,动画片段T0中包括A0动画帧,基于A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,将至少两帧动画A0和A1组成目标虚拟角色完成目标任务的动画片段T1。其中,调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数。上述方法可以根据目标虚拟角色需执行的目标任务生成包含目标虚拟角色的姿态序列的动画片段,从而减少对人力的消耗,提高生成动画的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种动画生成方法的应用场景示意图;
图2为本申请实施例提供的一种动画生成方法的流程图;
图3为图2中步骤S201的一种实现方式的流程图;
图4为图2中步骤S201的另一种实现方式的流程图;
图5为本申请实施例提供的一种控制策略网络的训练原理图;
图6为本申请实施例提供的一种控制策略网络的训练过程的流程图;
图7为本申请实施例提供的一种控制策略网络的结构示意图;
图8为本申请实施例提供的另一种控制策略网络的结构示意图;
图9为本申请实施例提供的PPO算法与SAC算法的效果对比图;
图10为本申请实施例提供的一种控制策略网络的训练效果的示意图;
图11为本申请实施例提供的一种训练控制策略网络时,反馈的各个奖励值的收敛曲线的示意图;
图12为本申请实施例提供的一种动画生成装置的结构示意图;
图13为本申请实施例提供的另一种动画生成装置的结构示意图;
图14为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)力矩(torque):也可以称为扭转的力,在物理学中,力矩指作用力促使物体绕着转动轴或支点转动的趋向;在本申请实施例中,力矩指作用力促使骨骼绕关节转动的趋向。
(2)目标任务:用于指示虚拟角色完成指定动作的任务,例如,“前进”、“射击”、“翻跟斗”、“旋风踢球”等。每个虚拟角色可以完成多种类型的目标任务,不同类型的虚拟角色可以完成不同类型的目标任务。可以预先设置不同的控制指令,指示虚拟角色完成不同的目标任务,例如,玩家可以通过控制按键触发对应的控制指令,为虚拟角色设定当前的目标任务。
(3)物理引擎:指通过计算机程序模拟物理规律的引擎,主要用在计算物理学、电子游戏以及计算机动画中,可以使用质量、速度、摩擦力及阻力等变量,预测虚拟角色在不同情况下的动作效果。
下面结合附图及具体实施例对本申请作进一步详细的说明。
为了解决相关技术中人工生成动画片段效率低且生成的虚拟角色的动作效果较差的问题,本申请实施例提供了一种动画生成方法、装置、电子设备和存储介质。本申请实施例涉及人工智能(Artificial Intelligence,AI)和机器学习技术,基于人工智能中的计算机视觉(Computer Vision,CV)技术和机器学习(Machine Learning,ML)而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、图像检索、视频监控、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
计算机视觉技术是人工智能的重要应用,其研究相关的理论和技术,试图建立能够从图像、视频或者多维数据中获取信息,以代替人的视觉判读的人工智能***。典型的计算机视觉技术通常包括图像处理和视频分析。本申请实施例提供的视频筛选方法属于视频分析的一种方法。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。本申请实施例在生成动画片段的过程中,采用了基于深度强化学习的控制策略网络对包含参考虚拟角色的姿态序列的样本动画片段进行学习,并利用学习得到的控制策略网络针对不同的虚拟角色生成动画片段。
本申请实施例提供的动画生成方法可以应用于3D(3Dimensions,三维)立体游戏、3D动画电影以及VR(Virtual Reality,虚拟现实)等场景中。例如,在3D立体游戏中,一般包含大量的虚拟角色。这里的虚拟角色也可以称为物理角色,在物理引擎中,这些虚拟角色可以拥有质量,受到重力的作用等等。在一些实施例中,虚拟角色可以由骨骼构成,骨骼是指由关节搭建出的且可以活动的骨架,是活动的虚拟主体,驱动整个虚拟角色运动。在另一些实施例中,虚拟角色可以由骨骼和蒙皮构成,蒙皮是指包裹在骨骼周围的三角形网格,网格的每个顶点被一个或多个骨骼控制,当骨骼周围包裹有蒙皮时,骨骼不会在游戏画面中被渲染出来。
在游戏中,虚拟角色可以由玩家进行控制,也可以按照游戏进度自动实现角色的控制。虚拟角色的类型也多种多样,如“战士”、“法师”、“射手”、“运动员”等。不同类型的虚拟角色有一部分动作类型是相同的,比如,跑、走、跳以及蹲等,还有一部分动作类型是不同的,比如攻击方式和防御方式等。并且,不同类型的虚拟角色可以完成相同类型的目标任务,也可以完成不同类型的目标任务。本申请实施例提供的动画生成方法,可以根据针对虚拟角色设定目标任务,生成动画片段。
本申请实施例提供的动画生成方法的一种应用场景可以参见图1所示,该应用场景中包括终端设备11和游戏服务器12。终端设备11与游戏服务器12之间可以通过通信网络进行通信。该通信网络可以是有线网络或无线网络。
其中,终端设备11为可以安装各类应用程序,并且能够将已安装的应用程序的运行界面进行显示的电子设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、各类可穿戴设备、车载设备或其它能够实现上述功能的电子设备等。各终端设备11通过通信网络与游戏服务器12连接,游戏服务器12可以是游戏平台的服务器,可以是一台服务器或由若干台服务器组成的服务器集群或云计算中心,或者是一个虚拟化平台。
终端设备11上可以安装游戏的客户端。在一种实施例中,客户端接收到用户通过控制按键输入的指示某个目标虚拟角色执行某一项目标任务(如旋风踢球)的操作,将针对该目标虚拟角色设定目标任务的操作发送至游戏服务器12。游戏服务器12根据针对目标虚拟角色设定的目标任务,依次获得至少两帧动画画面。具体地说,游戏服务器12上存储有已经训练好的控制策略网络,控制策略网络是根据包含参考虚拟角色的姿态序列的样本动画片段训练得到的。客户端实时获取游戏中目标虚拟角色在上一帧动画画面中的状态信息,将目标虚拟角色在上一帧动画画面中的状态信息发送至游戏服务器12。游戏服务器12将目标虚拟角色在上一帧动画画面中的状态信息和设定的目标任务输入控制策略网络,得到控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩,将力矩发送至客户端,客户端基于物理引擎,根据各个关节的力矩调整上一帧动画画面中目标虚拟角色的各个关节,得到下一帧动画画面中的目标虚拟角色的姿态,进而生成下一帧动画画面。其中,上一帧动画画面与下一帧动画画面为相邻的两帧动画画面。客户端将至少两帧动画画面,组成目标虚拟角色完成目标任务的动画片段。
在另一种实施例中,服务器可以根据针对目标虚拟角色设定的目标任务,分别获得目标虚拟角色完成目标任务的动画片段包括的各帧动画画面对应的调整目标虚拟角色各个关节的力矩,调整目标虚拟角色各个关节的力矩为从相邻上一帧动画画面中的目标虚拟角色姿态调整到下一帧动画画面中的目标虚拟角色姿态所需的力矩。服务器将获得的各帧动画画面对应的调整目标虚拟角色各个关节的力矩发送至客户端,客户端基于物理引擎,根据各帧动画画面对应的调整目标虚拟角色各个关节的力矩调整动画画面中的目标虚拟角色的姿态,得到多帧动画画面。
在另一种实施例中,上述过程可以由终端设备11中安装的客户端独立完成。客户端接收到用户通过控制按键输入的指示某个目标虚拟角色执行某一项目标任务的操作,响应该针对目标虚拟角色设定目标任务的操作,依次获得至少两帧动画画面。具体地说,客户端基于获得的目标虚拟角色的动画片段T0,生成目标虚拟角色完成目标任务的动画片段T1,生成过程包括:动画片段T0中包括A0动画帧,获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,其中,调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数;获得目标虚拟角色完成目标任务的动画片段T1,动画片段T1是由至少两帧动画A0和A1组成的。
上述方法可以根据目标虚拟角色需执行的目标任务生成包含目标虚拟角色的姿态序列的动画片段,可以减少对人力的消耗,提高效率。另外,现有技术中动画师手动拖动目标虚拟角色的骨骼,并一点点修正骨骼的动作,达到所需的动作效果,得到的目标虚拟角色的动作很难达到真实自然的状态,导致目标虚拟角色的动作效果较差。本申请实施例将目标虚拟角色在上一帧动画画面中的状态信息和设定的目标任务输入控制策略网络,得到控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩,根据各个关节的力矩调整上一帧动画画面中目标虚拟角色的各个关节,得到下一帧动画画面中的目标虚拟角色的姿态。其中,控制策略网络是根据包含参考虚拟角色的姿态序列的样本动画片段训练得到的,根据控制策略网络输出的各个关节的力矩调整目标虚拟角色的姿态,以使目标虚拟角色执行相应动作,可以提升目标虚拟角色的动作效果。
需要说明的是,本申请提供的动画生成方法可以应用于游戏服务器12,也可以应用到客户端中,由终端设备11实施本申请提供的动画生成方法,还可以由游戏服务器12与终端设备11中的客户端配合完成。
图2示出了本申请一个实施例提供的动画生成方法的流程图。如图2所示,该方法包括如下步骤:
步骤S201,获得目标虚拟角色的动画片段T0。
上述的目标虚拟角色可以是人物形态,可以是动物、卡通或者其它形态,本申请实施例对此不作限定。目标虚拟角色可以通过三维形式展示,也可以通过二维形式展示。目标虚拟角色具有骨骼,相邻的骨骼之间具有关节,通过改变每个关节的位置和旋转角度,可以改变目标虚拟角色的姿态,将目标虚拟角色的一系列姿态连贯后,即可形成连贯的动作。
动画片段T0中包括A0动画帧。动画片段T0可以是用户输入的动画片段,也可以是预先保存的动画片段,或者是游戏中已生成的动画片段。
步骤S202,获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧。
在游戏过程中,用户可以通过控制按键控制目标虚拟角色执行不同的动作。在本申请实施例中,每个控制按键对应一项目标任务,用户可以通过控制按键为目标虚拟角色设定目标任务,目标虚拟角色将执行该目标任务对应的动作。
游戏的客户端接收到用户通过控制按键输入的指示某个目标虚拟角色执行某一项目标任务的操作,获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧。其中,其中,调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数。
步骤S203,获得目标虚拟角色完成目标任务的动画片段T1。
所述动画片段T1是由至少两帧动画A0和A1组成的,A0是A1的上一帧动画。
在一些实施例中,还可以获取A1动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A2动画帧,其中,调整目标虚拟角色的姿态是通过调整A1动画帧中的目标虚拟角色的N个关节的力矩得到的。以此类推,可以依次生成后续的动画帧。依次显示各个动画帧,得到目标虚拟角色完成目标任务的动画片段T1。具体地说,相邻的多个动画画面中目标虚拟角色的姿态不同,将目标虚拟角色的一系列姿态连贯后,即可形成连贯的动作,得到目标虚拟角色通过一系列动作执行目标任务的动画片段。
通过上述方法,可以基于已有的动画片段,根据目标虚拟角色需执行的目标任务自动生成包含目标虚拟角色的姿态序列的动画片段,从而减少对人力的消耗,提高生成动画的效率。并且,通过调整目标虚拟角色的各个关节的力矩调整目标虚拟角色的姿态,以使目标虚拟角色执行相应动作,可以提升目标虚拟角色的动作效果。
在一种实施例中,上述步骤S202中,获得每一帧动画画面的过程,如获取A1动画帧或A2动画帧的过程,可以如图3所示,包括如下步骤:
步骤S2021,获取上一帧动画画面中目标虚拟角色的状态信息。
目标虚拟角色的状态信息用于表征目标虚拟对象的物理状态,可以包括上一帧动画画面中目标虚拟角色的相位数据,以及目标虚拟角色的各个关节的姿态数据和速度数据。
其中,相位数据用于表征所述目标虚拟角色在当前动画片段中所处的阶段,也可以说,表征目标虚拟角色的动作进度,上一帧动画画面中目标虚拟角色的相位数据指上一帧动画画面中目标虚拟角色的姿态在完成目标任务所需的所有动作姿态中所处的阶段或位置。相位数据可以用分数或百分数表示,为一个一维数据。例如,完成某一个目标任务需要30帧动画画面,上一帧动画画面为第5帧动画画面,则相位数据为5/30=1/6。相位数据也可以通过时间进行标识。例如,完成某一个目标任务需要30帧动画画面,播放这30帧动画画面所需的总时间长度为T,将第一帧动画画面对应的播放时刻记为开始时刻,设上一帧动画画面对应的播放时刻t,则上一帧动画画面中目标虚拟角色的相位数据Ph可以表示为Ph=t/T。
姿态数据用于表征目标虚拟角色的姿势形态,在一些实施例中,姿态数据可以用目标虚拟角色的各个关节在世界坐标系中的旋转数据表示。采用各个关节在世界坐标系中的旋转数据组成的参数矩阵可以准确地表达目标虚拟角色的姿态,并且,由于所使用的数据较少,可以减少计算量,加快计算速度,进一步提高生成动画片段的效率。
示例性地,可以用四元数来描述各个关节在世界坐标系中的旋转信息。四元数是一种超复数。复数是由实数加上虚数单位i组成,相似地,四元数都是由实数加上三个虚数单位i、j、k组成,并且,三个虚数之间具有如下关系:i2=j2=k2=﹣1,i0=j0=k0=1。每个四元数都是1、i、j和k的线性组合,四元数一般可表示为:a+bi+cj+dk,其中a、b、c、d是实数。i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表X轴与Y轴相交平面中自X轴正向向Y轴正向的旋转,j旋转代表Z轴与X轴相交平面中自Z轴正向向X轴正向的旋转,k旋转代表Y轴与Z轴相交平面中Y轴正向向Z轴正向的旋转,-i旋转表示i旋转的反向旋转,-j旋转表示j旋转的反向旋转,-k旋转表示k旋转的反向旋转。如果目标虚拟角色包括N个关节,姿态数据的输入维数可以是N×4,N为大于或等于1的整数。
在另一些实施例中,姿态数据可以包括位置数据和旋转数据,位置数据可以表示为三维坐标,采用三维坐标表示一个关节的空间坐标。旋转数据可以表示为四元数,采用四元数表示一个关节在三维空间中的旋转情况。采用位置数据和旋转数据来表示目标虚拟角色的姿态,可以更准确地确定目标虚拟角色的姿态。
速度数据用于表征目标虚拟角色的速度状态。在一些实施例中,速度数据可以由目标虚拟角色的各个关节的角速度表示,由于每个关节的角速度的维数为3,若目标虚拟角色包括N个关节,则目标虚拟角色的速度维数可以是N×3。根据上一帧动画画面中目标虚拟角色的姿态数据和当前站动画画面中目标虚拟角色的姿态数据,可以得到当前在动画画面中目标虚拟角色的速度数据。采用各个关节的角速度可以准确地表达目标虚拟角色的速度状态,并且,由于所使用的数据较少,可以减少计算量,加快计算速度。
在另一些实施例中,速度数据可以由目标虚拟角色的各个关节在世界坐标系中的线速度(linear velocity)以及角速度(angular velocity)组成,其中,世界坐标系可以是三维坐标系,包括互相垂直的X轴、Y轴和Z轴,世界坐标系确定后,相对于目标虚拟角色所处的场景环境不再变化。对于每个关节,线速度的维数为3,角速度的维数为3,该关节的维度可以为3+3=6。如果目标虚拟角色包括N个关节,则目标虚拟角色的速度维数可以是N×6。采用线速度和角速度的组合来表示目标虚拟角色的速度数据,有利于更准确地确定目标虚拟角色的速度。分别获取上一帧动画画面中目标虚拟角色的相位数据,以及目标虚拟角色的各个关节的姿态数据和速度数据,将目标虚拟角色的相位数据、姿态数据和速度数据的组合,作为上一帧动画画面中目标虚拟角色的状态信息。
步骤S2022,将目标虚拟角色在上一帧动画画面中的状态信息和目标任务输入已训练的控制策略网络,得到控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩。
目标任务为用户针对目标虚拟角色输入的任务,例如,用户通过显示界面上的控制按键输入“跳跃”的控制指令,使目标虚拟角色从地面跳起,则针对目标虚拟角色设定的目标任务即为“跳跃”。目标任务还可以是其它任务,如使目标虚拟角色沿给定的方向前进,或者让目标虚拟角色使用旋风踢的动作,踢到指定的位置,本申请实施例对此不作限定。
在目标任务输入控制策略网络时,目标任务可以使用向量表示。例如,假设目标任务是使目标虚拟角色沿给定的方向前进,给定的方向可以通过在水平平面上的一个二维向量表示。可以将目标虚拟角色在上一帧动画画面中的状态信息和表示目标任务的向量拼接在一起输入控制策略网络,控制策略网络将输出用于调整目标虚拟角色的各个关节的力矩。
其中,控制策略网络是根据包含参考虚拟角色的姿态序列的样本动画片段训练得到的。控制策略网络的具体训练过程将在下文中详细介绍。
步骤S2023,根据用于调整目标虚拟角色的各个关节的力矩对目标虚拟角色的姿态进行调整,得到下一帧动画画面中目标虚拟角色的姿态。
力矩指作用力促使骨骼绕关节转动的趋向,在一些实施例中,可以由物理引擎将各个关节的力矩作用于目标虚拟角色的各个关节,对上一帧动画画面中目标虚拟角色的姿态进行调整,得到下一帧动画画面中目标虚拟角色的姿态。已知调整各个关节的力矩,可以直接用于对目标虚拟角色的各个关节的姿态进行准确地调整,以使目标虚拟角色执行相应动作,可以提升目标虚拟角色的动作效果,使目标虚拟角色的动作看上去更加真实和自然。
在另一些实施例中,在根据各个关节的力矩对目标虚拟角色的姿态进行调整时,还可以考虑目标虚拟角色所处的场景环境对目标虚拟角色的影响因素,可以结合各个关节的力矩和场景环境的影响因素,确定下一帧动画画面中目标虚拟角色的姿态。其中,场景环境可以是由物理引擎模拟的物理环境,在模拟的物理环境中,目标虚拟角色遵守动力学规律,使得目标虚拟角色的动作更接近现实情况。场景环境的影响因素可以包括场景环境对目标虚拟角色的作用力,例如,若场景环境中有物体砸向目标虚拟角色,则目标虚拟角色受到推力作用。将调整各个关节的力矩和场景环境对目标虚拟角色的作用力,共同作用于目标虚拟角色,得到下一帧动画画面中目标虚拟角色的姿态。
步骤S2024,基于下一帧动画画面中目标虚拟角色的姿态,生成下一帧动画画面。
将得到的目标虚拟角色的姿态融入目标虚拟角色所处的场景环境中,得到下一帧动画画面。生成一帧动画画面后,可以通过循环执行上述过程,生成后续的动画画面。
在另一种实施例中,上述步骤S202中,获得每一帧动画画面的过程可以如图4所示,包括如下步骤:
步骤S202a,获取上一帧动画画面中目标虚拟角色的状态信息。
步骤S202b,将目标虚拟角色在上一帧动画画面中的状态信息、目标任务和目标虚拟角色所处的场景环境的环境信息输入已训练的控制策略网络,得到控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩。
其中,场景环境的环境信息可以是但不限于场景环境的地形图,场景环境的地形图可以体现出场景环境中地形的高低起伏的变化,场景环境中地形的变化将影响控制策略网络输出的控制策略,该控制策略为用于调整目标虚拟角色的各个关节的力矩。控制策略网络综合目标虚拟角色在上一帧动画画面中的状态信息、目标任务和目标虚拟角色所处的场景环境的环境信息,输出对应的控制策略。在生成用于调整目标虚拟角色的各个关节的力矩时,结合场景环境的环境信息,可以使目标虚拟角色的动作自适应环境信息,从而使目标虚拟角色的动作在场景环境中更真实自然。
步骤S202c,根据各个关节的力矩对目标虚拟角色的姿态进行调整,得到下一帧动画画面中目标虚拟角色的姿态。
步骤S202d,基于下一帧动画画面中目标虚拟角色的姿态,生成下一帧动画画面。
以下详细介绍本申请实施例所采用的控制策略网络的训练过程。本申请实施例针对目标虚拟角色姿态连续型控制问题,训练了一种控制策略网络。训练控制策略网络的原理如图5所示,预先设计相当于目标虚拟角色的训练对象,也可以称为智能体。训练对象是在训练过程中控制策略网络输出的控制策略的作用对象,训练对象处于设定的场景环境中。物理引擎根据控制策略网络输出的控制策略确定训练对象的动作,将训练对象的动作与场景环境进行交互,确定此次交互的奖励值以及交互完成之后训练对象的状态,根据奖励值和训练对象的状态调整控制策略网络输出的控制策略,以得到更好的控制策略。
在本申请实施例中,针对同一类型的目标任务,可以训练一个控制策略网络,针对不同类型的目标任务,可以分别训练相应的控制策略网络。例如,“向前射击”、“向左射击”和“向右射击”均属于射击,仅是射击的方向不同,因此属于同一类型的目标任务,可以训练一个控制策略网络。而“射击”和“跑步”属于不同类型的目标任务,可以分别训练相应的控制策略网络。
控制策略网络的训练过程可以如图6所示,包括如下步骤:
步骤S601,根据样本动画片段中参考虚拟角色的初始状态确定训练对象的初始状态。
其中,训练对象是在训练过程中控制策略网络输出的控制策略的作用对象。在训练控制策略网络之前,需要先获取包含参考虚拟角色的姿态序列的样本动画片段。在一些实施例中,参考虚拟角色可以是已经制作好的虚拟对象,训练对象和参考虚拟角色是两个骨架相同或相近的虚拟对象。
步骤S602,将训练对象在当前时刻的状态信息和设定的训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略,每一时刻对应一帧动画画面。
其中,训练任务对应于使用过程中的目标任务进行设定。示例性地,训练任务可以是使训练对象沿给定的方向前进,或者是让训练对象使用旋风踢的动作,踢到指定的位置。
当前时刻为当前样本动画画面对应的播放时刻,下一时刻为下一帧样本动画画面对应的播放时刻。训练对象的状态信息包括相位数据、姿态数据和速度数据,在上文中目标虚拟角色的状态信息相同,在此不再赘述。
控制策略网络(actor网络)可以是带目标的网络,包括输入层、隐藏层和输出层。其中,隐藏层中可以包括一层神经网络,也可以包括多层神经网络,可以根据实际情况进行设定,本申请实施例对此不作限定。隐藏层中的神经网络层可以是全连接层。例如,隐藏层中可以包括两层全连接层,其中,第一全连接层可以包括1024个神经元,第二全连接层可以包括512个神经元。当隐藏层包括两层或两层以上的神经网络层时,神经网络层之间的激活函数为ReLU(Rectified Linear Unit,线性整流函数)函数。
在一种实施例中,如图7所示,可以将训练对象在当前时刻的状态信息和设定的训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略。该控制策略为下一时刻作用在训练对象的各个关节上的力矩。
在另一种实施例中,如图8所示,可以获取训练对象所处的场景环境的环境信息,场景环境的环境信息可以是场景环境的地形图。将场景环境的环境信息、训练对象在当前时刻的状态信息和训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略。例如,对于一些视觉任务,需要自适应地形环境,控制策略网络还可以包括特征提取网络,由多层卷积网络和全连接层组成,用于从输入的场景环境的环境信息中提取地形特征,将提取的地形特征与输入的训练对象的状态信息和训练任务进行合并,确定下一时刻作用在训练对象的各个关节上的力矩。在生成控制策略时结合场景环境的环境信息,可以使训练对象的动作适应环境信息,从而使训练对象的动作在场景环境中更真实自然。
步骤S603,根据得到的控制策略,控制训练对象与所处的场景环境交互,确定训练对象在下一时刻的状态信息。
场景环境是物理引擎在终端设备中运行时显示的场景,该场景环境可以是营造出的供训练对象进行活动的场景。该场景环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。该场景环境可以是二维虚拟环境或三维虚拟环境,当虚拟环境为三维虚拟环境时,虚拟对象是基于骨骼动画技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
在一种实施例中,可以根据下一时刻作用在训练对象的各个关节上的力矩,控制训练对象与所处的场景环境交互,确定训练对象在下一时刻的状态信息。
步骤S604,根据训练对象和参考虚拟角色在下一时刻的状态信息及设定的训练任务,确定当前时刻的奖励值。
将训练对象和参考虚拟角色在下一时刻的状态信息及设定的训练任务输入价值评估网络,以使价值评估网络根据训练对象在下一时刻的状态和设定的训练任务,确定该时刻的任务目标奖励,根据训练对象在下一时刻的状态信息与参考虚拟角色在下一时刻的状态信息,确定该时刻的模仿目标奖励,并根据任务目标奖励和模仿目标奖励,确定当前时刻的奖励值。
其中,价值评估网络(critic网络)与控制策略网络的网络结构可以是一致的,也可以是不同的。价值评估网络用于对控制策略网络输出的控制策略进行评价,确定训练对象模仿参考虚拟角色及完成训练任务的奖励值。价值评估网络也是经过训练得到的。
根据上文的描述可知,当前时刻的奖励值包括任务目标奖励和模仿目标奖励两部分。模仿目标奖励用于激励训练对象的姿态与参考虚拟角色的姿态保持一致,本质是在相同相位时,比较参考虚拟角色的姿态和训练对象的姿态的相似程度,两者越接近,则模仿目标奖励越高;反之,模仿目标奖励越低。任务目标奖励根据训练对象完成训练任务的情况确定。当前时刻t的奖励值rt可以表示为:
Figure BDA0002357949090000191
其中,
Figure BDA0002357949090000192
表示时刻t对应的模仿目标奖励,wI为模仿目标奖励的权重,
Figure BDA0002357949090000193
表示时刻t对应的任务目标奖励,wG为任务目标奖励的权重。wI和wG与价值评估网络的网络参数相关。
可选地,模仿目标奖励
Figure BDA0002357949090000194
可以包括运动学量化指标的相似度,可以包括5个维度,分别为:姿态相似度
Figure BDA0002357949090000195
速度相似度
Figure BDA0002357949090000196
末端关节相似度
Figure BDA0002357949090000197
根关节姿态相似度
Figure BDA0002357949090000198
质心姿态相似度
Figure BDA0002357949090000199
模仿目标奖励
Figure BDA00023579490900001910
可以表示为:
Figure BDA00023579490900001911
wp为姿态相似度
Figure BDA0002357949090000201
的权重,wv为速度相似度
Figure BDA0002357949090000202
的权重,we为末端关节相似度
Figure BDA0002357949090000203
的权重,wr为根关节姿态相似度
Figure BDA0002357949090000204
的权重,wc为质心姿态相似度
Figure BDA0002357949090000205
的权重,其中,根关节用于表示躯干中的脊椎。
其中,姿态相似度
Figure BDA0002357949090000206
用于描述训练对象与参考虚拟角色的姿态相似度,各个关节的位置和旋转度之间的相似度,可以表示为:
Figure BDA0002357949090000207
Figure BDA0002357949090000208
表示在时刻t,参考虚拟角色的第j个关节的姿态数据,可以用四元数表示。
Figure BDA0002357949090000209
表示在时刻t,训练对象的第j个关节的姿态数据。
速度相似度
Figure BDA00023579490900002010
用于描述训练对象与参考虚拟角色的速度相似度,包括各个关节的角速度与线速度与目标姿态之间的相似度,可以表示为:
Figure BDA00023579490900002011
Figure BDA00023579490900002012
表示在时刻t,参考虚拟角色的第j个关节的速度数据。
Figure BDA00023579490900002013
表示在时刻t,训练对象的第j个关节的速度数据。
末端关节相似度
Figure BDA00023579490900002014
用于描述训练对象与参考虚拟角色末端关节姿态的相似度,包括四肢关节,可以表示为:
Figure BDA00023579490900002015
Figure BDA00023579490900002016
表示在时刻t,参考虚拟角色的第e个末端关节的姿态数据,
Figure BDA00023579490900002017
表示在时刻t,训练对象的第e个末端关节的姿态数据。
根关节姿态相似度
Figure BDA00023579490900002018
用于描述训练对象与参考虚拟角色根关节姿态的相似度,可以表示为:
Figure BDA00023579490900002019
Figure BDA00023579490900002020
表示在时刻t,参考虚拟角色的根关节的姿态数据,
Figure BDA00023579490900002021
表示在时刻t,训练对象的根关节的姿态数据。
质心姿态相似度
Figure BDA0002357949090000211
用于描述训练对象与参考虚拟角色的重心位置的相似度,可以表示为:
Figure BDA0002357949090000212
Figure BDA0002357949090000213
表示在时刻t,参考虚拟角色的重心在世界坐标系中的位置,
Figure BDA0002357949090000214
表示在时刻t,训练对象的重心在世界坐标系中的位置。
根据训练任务的类型不同,任务目标奖励的设置也可以不同。例如,如果训练任务是使训练对象模仿参考虚拟角色走路姿态,并在走路过程中完成转向的任务,设定一个针对走路方向的任务目标奖励,以鼓励训练对象朝指定方向以给定的速度前进。指定方向可以通过在水平平面上的一个二维向量表示,在控制策略网络的输入中,表征指定方向的二维向量和状态信息拼接在一起作为控制策略网络的输入,任务目标奖励可以表示为:
Figure BDA0002357949090000215
其中,v*表示在指定方向
Figure BDA0002357949090000216
上的设定的期望速度,而
Figure BDA0002357949090000217
表示训练对象的重心在水平平面上的速度。如果训练对象在指定方向上没有达到期望速度,那么任务目标奖励函数会做出惩罚,而如果训练对象在指定方向上超过了期望速度,则不受惩罚。
如果训练任务是让训练对象使用旋风踢的动作,踢到指定的位置。例如,在训练对象周围指定一个随机的目标球体,训练对象用旋风踢来踢到指定的目标球体。该训练任务的任务向量由两部分组成,一个是给定的目标球体的位置
Figure BDA0002357949090000218
可以由空间中一个三维向量表示,另一个是一个二值的标志h,表明目标在前一个时间周期是否被击中。在该训练任务中,目标球体与训练对象的相对位置应满足如下几个条件:
(1)目标球体离训练对象的距离在[0.6m,0.8m]的范围中随机取值;
(2)目标球体距离地面的高度在[0.8m,1.2m]的范围内取值;
(3)目标球体的放置在训练对象的初始朝向的2弧度以内。
目标球体在离训练对象一定距离的范围内,可以保证目标球体在训练对象的可触及范围内。上述几个条件中,目标球体离训练对象具有一定距离,距离地面具有一定距离,并且位于训练对象的前方,可以保证训练对象的旋风踢动作在合适的动作幅度时,可以触及到目标球体。
在该训练任务中,任务目标奖励可以表示为:
Figure BDA0002357949090000221
其中,
Figure BDA0002357949090000222
表示时刻t时训练对象的位置。该训练任务的目标是,不仅能够保证旋风踢姿态的同时,还能够准确踢到指定的目标,完成任务。
图11示出了在训练过程中,各个不同的奖励的收敛过程的曲线图。图11中横坐标表示训练的迭代次数,即训练次数,纵坐标表示反馈的奖励值。图11中的曲线①表示质心姿态相似度的收敛过程曲线,曲线②表示速度相似度的收敛过程曲线,曲线③表示根关节姿态相似度的收敛过程曲线,曲线④表示末端关节姿态相似度的收敛过程曲线,曲线⑤表示任务目标奖励的收敛过程曲线,曲线⑥表示姿态相似度的收敛过程曲线,曲线⑦表示模仿目标奖励的收敛过程曲线。由图11可以看出,在训练的迭代次数达到10000次左右时,各个奖励值均可以基本达到收敛,训练对象在各个方面基本可以达到模仿参考虚拟角色的模仿目标。
确定每个时刻的奖励值之后,继续执行步骤S605。
步骤S605,根据每个时刻的控制策略、训练对象在每个时刻的状态信息及每个时刻的奖励值,确定期望奖励值。
设控制策略网络在时刻t输出的控制策略为at,训练对象在每个时刻的状态信息为st。将每个时刻的控制策略和训练对象在每个时刻的状态信息组成策略轨迹τ,策略轨迹τ可以表示为τ=(s0,a0,s1,...,aT-1,sT)。其中,s0表示开始时刻训练对象的状态信息,a0表示开始时刻,T表示样本动画判断的总时长。
将每个时刻的奖励值的总和作为该策略轨迹对应的整体奖励值,可以表示为:
Figure BDA0002357949090000231
其中,γt表示时刻t的奖励值对应的权重。
根据控制策略网络的当前参数确定该策略轨迹出现的概率,可以表示为:
Figure BDA0002357949090000232
其中,pθ(τ)表示轨迹概率分布,
Figure BDA0002357949090000233
πθ表示控制策略网络,θ表示控制策略网络的当前参数。
根据该策略轨迹对应的整体奖励值和该策略轨迹出现的概率,确定期望奖励值J(θ),可以表示为:
Figure BDA0002357949090000234
步骤S606,判断是否达到设定的训练结束条件;如果是,执行步骤S608;如果否;执行步骤S607。
其中,训练结束条件可以是训练次数达到设定次数、连续N次训练得到的期望奖励值的变化幅度在设定幅度之内或期望奖励值达到设定阈值。通常,训练次数达到7000~10000次左右时,控制策略网络就可以较好的收敛,因此,设定次数可以设置在7000~10000次之间。
步骤S607,根据期望奖励值调整控制策略网络的参数。
如果未达到设定的训练结束条件,则根据期望奖励值调整控制策略网络的参数并对调整参数后的控制策略网络继续进行训练。
步骤S608,将当前参数作为控制策略网络的参数,获得已训练的控制策略网络。
如果训练次数达到设定次数,或者连续N次训练得到的期望奖励值的变化幅度很小,或者期望奖励值达到设定阈值,设定阈值可以设定在85%以上,则训练结束,将当前参数作为控制策略网络的参数,获得已训练的控制策略网络。
示例性地,可以采用PPO(Proximal Policy Optimization,近端策略优化)算法、SAC(Soft Actor-Critic,柔性致动/评价)算法或DDPG(Deep Deterministic PolicyGradient,深度确定性策略梯度)算法等用于处理连续控制问题的深度强化学习算法对上述的控制策略网络进行训练。
本申请实施例对通过PPO算法和SAC算法训练控制策略网络进行了测试,此次测试的训练任务是使训练对象模仿参考虚拟角色走路姿态,并在走路过程中完成转向的任务,得到的两种算法的训练效果如图9所示。图9中横坐标表示训练的迭代次数,即训练次数,纵坐标表示反馈的奖励值。图9中的曲线①表示PPO算法对应的任务目标奖励的变化曲线,曲线②表示SAC算法对应的任务目标奖励的变化曲线,曲线③表示SAC算法对应的模仿目标奖励的变化曲线,曲线④表示PPO算法对应的模仿目标奖励的变化曲线,曲线⑤表示PPO算法对应的整体奖励值的变化曲线,曲线⑥表示SAC算法对应的整体奖励值的变化曲线,曲线⑦表示PPO算法对应的期望奖励值的变化曲线,曲线⑧表示SAC算法对应的期望奖励值的变化曲线。
通过PPO算法和SAC算法训练控制策略网络的训练流程基本一致,可以参照图6所示的训练流程。PPO算法和SAC算法的区别在于构造期望奖励值J(θ)的函数不同。从图9中可以看出,PPO算法和SAC算法的整体奖励值的收敛过程比较接近,SAC算法在实现训练任务方面的效果稍好,其探索能力较强,能够比较快的收敛。而PPO算法在姿态模仿方面更具有优势,训练对象的姿态更逼真,更能符合要求。因此,可以采用PPO算法构造期望奖励值J(θ)的函数,即上文中记载的函数
Figure BDA0002357949090000241
图10以模仿走路姿态为例,示出了训练得到的控制策略网络输出的控制策略的效果展示图。图10中(a)为参考虚拟角色在某一时刻的动画画面中的姿态,图10中(b)为训练对象在对应时刻的动画画面中的姿态。为例便于观察,在训练过程中,并没有对训练对象和参考虚拟角色进行蒙皮。参考虚拟角色和训练对象均包括N个关节,如图10所示,可以是15个关节。其中,A05所指示的关节为根关节,在人型角色的盆骨位置,也是最顶层的父节点。其余的14个关节分别为a1所指示的胸膛、a2所指示的脖子、a3所指示的右腿、a4所指示的左腿、a5所指示的右膝、a6所指示的左膝、a7所指示的右踝、a8所指示的左踝、a9所指示的右大臂、a10所指示的左大臂、a11所指示的右肘、a12所指示的左肘、a13所指示的右手踝以及a14所指示的左手踝。a7、a8、a13和a14可以理解为末端关节。由图10中可以看出,训练对象与参考虚拟角色的姿态基本能保持一致。
以下通过两个具体实例说明本申请实施例提供的动画生成方法的实现过程。
在一个实施例中,假设在游戏中用户通过控制按键输入前进指令,指示由其控制的目标虚拟角色沿给定的方向前进。游戏客户端基于已有的动画片段T0,获取动画片段T0包含的A0动画帧中的目标虚拟角色的状态信息,A0动画帧可以是显示界面中正在显示的当前动画帧。将A0动画帧作为上一帧动画,将目标虚拟角色在A0动画帧中的状态信息和沿给定的方向前进的目标任务输入控制策略网络,得到调整A0动画帧中的目标虚拟角色的N个关节的力矩。示例性地,目标虚拟角色也可以包括15个关节。其中,沿给定的方向前进的目标任务可以是一个任务向量,该向量中包括给定方向的数据。将得到的力矩作用于目标虚拟角色的N个关节,调整目标虚拟角色的姿态,得到A1动画帧。例如,A1动画帧中目标虚拟角色的姿态可以是左脚着地,右脚向后抬起的状态。重复上述步骤,继续将A1动画帧作为上一帧动画,将目标虚拟角色在A1动画帧中的状态信息和沿给定的方向前进的目标任务输入控制策略网络,得到调整A1动画帧中的目标虚拟角色的N个关节的力矩。将得到的力矩作用于目标虚拟角色的N个关节,调整目标虚拟角色的姿态,得到A2动画帧。例如,A2动画帧中目标虚拟角色的姿态可以是左脚着地,右脚向前踢出的状态。以此类推,可以生成多个动画帧,获得目标虚拟角色执行沿给定的方向前进目标任务的动画片段T1,直至前进指令结束,目标虚拟角色完成沿给定的方向前进的目标任务。动画片段T1中包括上述的A0动画帧、A1动画帧、A2动画帧以及后续生成的多个动画帧。
在另一个实施例中,假设针对目标虚拟角色设定的目标任务为使用旋风踢球特技踢中目标球体。游戏客户端基于已有的动画片段T0,获取动画片段T0包含的A0动画帧中的目标虚拟角色的状态信息,A0动画帧可以是显示界面中正在显示的当前动画帧。将A0动画帧作为上一帧动画,将目标虚拟角色在A0动画帧中的状态信息和旋风踢球的目标任务输入控制策略网络,得到调整A0动画帧中的目标虚拟角色的N个关节的力矩。其中,旋风踢球的目标任务也可以是一个任务向量,该向量中包括目标球体的位置坐标。将得到的力矩作用于目标虚拟角色的N个关节,调整目标虚拟角色的姿态,得到A1动画帧。例如,A1动画帧中目标虚拟角色的姿态可以是左脚着地,右脚向前抬起的状态。重复上述步骤,继续将A1动画帧作为上一帧动画,将目标虚拟角色在A1动画帧中的状态信息和沿给定的方向前进的目标任务输入控制策略网络,得到调整A1动画帧中的目标虚拟角色的N个关节的力矩。将得到的力矩作用于目标虚拟角色的N个关节,调整目标虚拟角色的姿态,得到A2动画帧。例如,A2动画帧中目标虚拟角色的姿态可以是左脚着地,右脚向右上踢的状态。以此类推,可以生成多个动画帧,获得目标虚拟角色完成旋风踢球的目标任务的动画片段T1。动画片段T1中包括上述的A0动画帧、A1动画帧、A2动画帧以及后续生成的多个动画帧。在该实施例中,控制策略网络是基于参考虚拟角色执行旋风踢球任务的样本动画片段进行训练得到的,因此,控制策略网络可以确定动画片段T1中所包含的动画帧的数量。
通过本申请实施例提供的动画生成方法,当接收到用户针对目标虚拟角色设定目标任务的操作,可以结合目标虚拟角色所处的场景环境,在游戏过程中自动生成动画片段,极大的减少了游戏美术的工作量,提高了游戏动画制作的生产效率。
与上述方法实施例相对应地,本申请实施例还提供了一种动画生成装置。图12为本申请实施例的提供的动画生成装置的结构示意图;如图12所示,该动画生成装置包括动画获取单元121、姿态调整单元122和动画生成单元123。其中,
动画获取单元121,用于获得目标虚拟角色的动画片段T0,动画片段T0中包括A0动画帧;
姿态调整单元122,用于获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,其中,调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数;
动画生成单元123,用于获得目标虚拟角色完成目标任务的动画片段T1,动画片段T1是由至少两帧动画A0和A1组成的。
在一种可选的实施例中,姿态调整单元122,还用于:
获取目标虚拟角色在A0动画帧中的状态信息;
将目标虚拟角色在A0动画帧中的状态信息和目标任务输入控制策略网络,获得控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩,控制策略网络是根据样本动画片段训练得到的,样本动画片段包含参考虚拟角色完成目标任务的参考姿态序列。
在一种可选的实施例中,姿态调整单元122,还用于:
获取目标虚拟角色在A0动画帧中的状态信息和目标虚拟角色所处的场景环境的环境信息;
将目标虚拟角色在A0动画帧中的状态信息、目标任务和目标虚拟角色所处的场景环境的环境信息输入控制策略网络,获得控制策略网络输出的用于调整目标虚拟角色的各个关节的力矩,控制策略网络是根据样本动画片段训练得到的,样本动画片段包含参考虚拟角色完成目标任务的参考姿态序列。
在一种可选的实施例中,状态信息包括目标虚拟角色的相位数据、姿态数据和速度数据,其中,相位数据用于表征目标虚拟角色在当前动画片段中所处的阶段,姿态数据用于表征目标虚拟角色当前的姿态,速度数据用于表征目标虚拟角色当前的速度状态。
在一种可选的实施例中,如图13所示,上述装置还包括网络训练单元131,用于:
根据样本动画片段确定训练对象的初始状态;将训练对象在当前时刻的状态信息和设定的训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略;控制策略在下一时刻作用于训练对象的各个关节上的力矩,每一时刻对应一帧动画;
根据得到的控制策略,样本动画片段中参考虚拟角色的参考姿态序列以及设定的目标任务确定期望奖励值;
根据期望奖励值调整控制策略网络的参数,并对调整参数后的控制策略网络继续进行训练,直至达到设定的训练结束条件为止,得到已训练的控制策略网络。
在一种可选的实施例中,网络训练单元131,还用于:
获取训练对象所处的场景环境的环境信息;
将环境信息、训练对象在当前时刻的状态信息和训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略。
在一种可选的实施例中,网络训练单元131,还用于:
根据得到的控制策略,控制训练对象与所处的场景环境交互,确定训练对象在下一时刻的状态信息;
根据训练对象和参考虚拟角色在下一时刻的状态信息及设定的训练任务,确定当前时刻的奖励值;
根据每个时刻的控制策略、训练对象在每个时刻的状态信息及每个时刻的奖励值,确定期望奖励值。
在一种可选的实施例中,网络训练单元131,还用于:
将训练对象和参考虚拟角色在下一时刻的状态信息及设定的训练任务输入价值评估网络,以使价值评估网络根据训练对象在下一时刻的状态和设定的训练任务,确定当前时刻的任务目标奖励;
根据训练对象在下一时刻的状态信息与参考虚拟角色在下一时刻的状态信息,确定当前时刻的模仿目标奖励;
根据任务目标奖励和模仿目标奖励,确定当前时刻的奖励值。
在一种可选的实施例中,模仿目标奖励包括以下至少一项:姿态相似度、速度相似度、末端关节相似度、根关节姿态相似度、质心姿态相似度;
姿态相似度用于表征训练对象与参考虚拟角色的姿态数据的相似度;速度相似度用于表征训练对象与参考虚拟角色的速度数据的相似度;末端关节相似度用于表征训练对象与参考虚拟角色的末端关节的姿态的相似度;根关节相似度用于表征训练对象与参考虚拟角色的根关节的姿态的相似度;质心姿态相似度用于表征训练对象与参考虚拟角色的重心位置的相似度。
在一种可选的实施例中,网络训练单元131,还用于:
将每个时刻的控制策略和训练对象在每个时刻的状态信息组成策略轨迹;
将每个时刻的奖励值的总和作为该策略轨迹对应的整体奖励值;
根据控制策略网络的当前参数确定该策略轨迹出现的概率;
根据该策略轨迹对应的整体奖励值和该策略轨迹出现的概率,确定期望奖励值。
本申请实施例的动画生成装置,根据针对目标虚拟角色设定的目标任务,依次获得动画片段包括的至少两帧动画画面,并依次显示获得的动画画面,进而获得动画片段。其中,每帧动画画面中的目标虚拟角色的姿态,是对相邻上一帧动画画面中目标虚拟角色的各个关节进行调整获得的,调整各个关节的力矩是将目标虚拟角色在相邻上一帧动画画面中的状态信息和目标任务输入已训练的控制策略网络获得的。上述方法可以根据目标虚拟角色需执行的目标任务生成包含目标虚拟角色的姿态序列的动画片段,从而减少对人力的消耗,提高效率。同时,控制策略网络是根据包含参考虚拟角色的姿态序列的样本动画片段训练得到的,根据控制策略网络输出的各个关节的力矩调整目标虚拟角色的姿态,以使目标虚拟角色执行相应动作,可以提升目标虚拟角色的动作效果。
与上述方法实施例相对应地,本申请实施例还提供了一种电子设备。该电子设备可以是服务器,如图1中所示的游戏服务器12,也可以是智能手机、平板电脑,手提电脑或计算机等电子设备,该电子设备至少包括用于存储数据的存储器和用于数据处理的处理器。其中,对于用于数据处理的处理器而言,在执行处理时,可以采用微处理器、CPU、GPU(Graphics Processing Unit,图形处理单元)、DSP或FPGA实现。对于存储器来说,存储器中存储有操作指令,该操作指令可以为计算机可执行代码,通过该操作指令来实现上述本申请实施例的视频筛选方法的流程中的各个步骤。
图14为本申请实施例提供的一种电子设备的结构示意图;如图14所示,本申请实施例中该电子设备140包括:处理器141、显示器142、存储器143、输入设备146、总线145和通讯设备144;该处理器141、存储器143、输入设备146、显示器142和通讯设备144均通过总线145连接,该总线145用于该处理器141、存储器143、显示器142、通讯设备144和输入设备146之间传输数据。
其中,存储器143可用于存储软件程序以及模块,如本申请实施例中的动画生成方法对应的程序指令/模块,处理器141通过运行存储在存储器143中的软件程序以及模块,从而执行电子设备140的各种功能应用以及数据处理,如本申请实施例提供的动画生成方法。存储器143可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个应用的应用程序等;存储数据区可存储根据电子设备140的使用所创建的数据(比如动画片段、控制策略网络)等。此外,存储器143可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器141是电子设备140的控制中心,利用总线145以及各种接口和线路连接整个电子设备140的各个部分,通过运行或执行存储在存储器143内的软件程序和/或模块,以及调用存储在存储器143内的数据,执行电子设备140的各种功能和处理数据。可选的,处理器141可包括一个或多个处理单元,如CPU、GPU(Graphics Processing Unit,图形处理单元)、数字处理单元等。
本申请实施例中,处理器141将生成的动画片段通过显示器142展示给用户。
处理器141还可以通过通讯设备144连接网络,如果电子设备是终端设备,则处理器141可以通过通讯设备144与游戏服务器之间传输数据。如果电子设备是游戏服务器,则处理器141可以通过通讯设备144与终端设备之间传输数据。
该输入设备146主要用于获得用户的输入操作,当该电子设备不同时,该输入设备146也可能不同。例如,当该电子设备为计算机时,该输入设备146可以为鼠标、键盘等输入设备;当该电子设备为智能手机、平板电脑等便携设备时,该输入设备146可以为触控屏。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于实现本申请任一实施例所述的动画生成方法。
在一些可能的实施方式中,本申请提供的动画生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的动画生成方法的步骤,例如,所述计算机设备可以执行如图2所示的步骤S201~S202中的动画生成流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (14)

1.一种动画生成方法,其特征在于,所述方法包括:
获得目标虚拟角色的第一动画片段(T0),所述第一动画片段(T0)中包括A0动画帧;
获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色在A0动画帧中的姿态得到A1动画帧,其中,所述调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数;用于调整A0动画帧中的目标虚拟角色的N个关节的力矩是基于所述目标虚拟角色在A0动画帧中的状态信息确定的;所述状态信息包括目标虚拟角色的相位数据、姿态数据和速度数据,其中,所述相位数据用于表征所述目标虚拟角色在当前动画片段中所处的阶段,所述姿态数据用于表征目标虚拟角色当前的姿态,所述速度数据用于表征目标虚拟角色当前的速度状态;
获得目标虚拟角色执行所述目标任务的第二动画片段(T1),所述第二动画片段(T1)是由至少两帧动画A0和A1组成的。
2.根据权利要求1所述的方法,其特征在于,所述第二动画片段(T1)还包括A2动画帧,所述A2动画帧是A1动画帧的下一帧动画,所述A2动画帧通过如下方式得到:
获取A1动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色在A1动画帧中的姿态得到A2动画帧,其中,所述调整目标虚拟角色的姿态是通过调整A1动画帧中的目标虚拟角色的N个关节的力矩得到的。
3.根据权利要求1所述的方法,其特征在于,所述调整A0动画帧中的目标虚拟角色的N个关节的力矩通过如下方式获取:
获取所述目标虚拟角色在A0动画帧中的状态信息;
将所述目标虚拟角色在A0动画帧中的状态信息和所述目标任务输入控制策略网络,获得控制策略网络输出的用于调整目标虚拟角色的N个关节的力矩,所述控制策略网络是根据样本动画片段训练得到的,所述样本动画片段包含参考虚拟角色完成所述目标任务的参考姿态序列。
4.根据权利要求1所述的方法,其特征在于,所述调整A0动画帧中的目标虚拟角色的N个关节的力矩通过如下方式获取:
获取所述目标虚拟角色在A0动画帧中的状态信息和所述目标虚拟角色所处的场景环境的环境信息;
将所述目标虚拟角色在A0动画帧中的状态信息、所述目标任务和所述目标虚拟角色所处的场景环境的环境信息输入控制策略网络,获得所述控制策略网络输出的用于调整目标虚拟角色的N个关节的力矩,所述控制策略网络是根据样本动画片段训练得到的,所述样本动画片段包含参考虚拟角色完成所述目标任务的参考姿态序列。
5.根据权利要求3或4所述的方法,其特征在于,所述控制策略网络的训练过程,包括:
根据样本动画片段确定训练对象的初始状态;将训练对象在当前时刻的状态信息和设定的训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略;所述控制策略在下一时刻作用于所述训练对象的各个关节上的力矩,每一时刻对应一帧动画;
根据得到的控制策略,样本动画片段中参考虚拟角色的参考姿态序列以及设定的目标任务确定期望奖励值;
根据所述期望奖励值调整控制策略网络的参数,并对调整参数后的控制策略网络继续进行训练,直至达到设定的训练结束条件为止,得到已训练的控制策略网络。
6.根据权利要求5所述的方法,其特征在于,将训练对象在当前时刻的状态信息和设定的训练任务输入控制策略网络,得到控制策略网络输出的下一时刻的控制策略,包括:
获取所述训练对象所处的场景环境的环境信息;
将所述环境信息、所述训练对象在当前时刻的状态信息和所述训练任务输入所述控制策略网络,得到控制策略网络输出的下一时刻的控制策略。
7.根据权利要求6所述的方法,其特征在于,根据得到的控制策略,样本动画片段中参考虚拟角色的参考姿态序列以及设定的目标任务确定期望奖励值,包括:
根据得到的控制策略,控制所述训练对象与所处的场景环境交互,确定所述训练对象在下一时刻的状态信息;
根据所述训练对象和所述参考虚拟角色在下一时刻的状态信息及设定的训练任务,确定当前时刻的奖励值;
根据每个时刻的控制策略、所述训练对象在每个时刻的状态信息及每个时刻的奖励值,确定期望奖励值。
8.根据权利要求7所述的方法,其特征在于,根据所述训练对象和所述参考虚拟角色在下一时刻的状态信息及设定的训练任务,确定当前时刻的奖励值,包括:
将所述训练对象和所述参考虚拟角色在下一时刻的状态信息及设定的训练任务输入价值评估网络,以使所述价值评估网络根据所述训练对象在下一时刻的状态和设定的训练任务,确定当前时刻的任务目标奖励;
根据所述训练对象在下一时刻的状态信息与所述参考虚拟角色在下一时刻的状态信息,确定当前时刻的模仿目标奖励;
根据所述任务目标奖励和所述模仿目标奖励,确定当前时刻的奖励值。
9.根据权利要求8所述的方法,其特征在于,所述模仿目标奖励包括以下至少一项:姿态相似度、速度相似度、末端关节相似度、根关节姿态相似度、质心姿态相似度;
所述姿态相似度用于表征所述训练对象与所述参考虚拟角色的姿态数据的相似度;所述速度相似度用于表征所述训练对象与所述参考虚拟角色的速度数据的相似度;所述末端关节相似度用于表征所述训练对象与所述参考虚拟角色的末端关节的姿态的相似度;所述根关节相似度用于表征所述训练对象与所述参考虚拟角色的根关节的姿态的相似度;所述质心姿态相似度用于表征所述训练对象与所述参考虚拟角色的重心位置的相似度。
10.根据权利要求6所述的方法,其特征在于,根据每个时刻的控制策略、所述训练对象在每个时刻的状态信息及每个时刻的奖励值,确定期望奖励值,包括:
将每个时刻的控制策略和所述训练对象在每个时刻的状态信息组成策略轨迹;
将每个时刻的奖励值的总和作为该策略轨迹对应的整体奖励值;
根据控制策略网络的当前参数确定该策略轨迹出现的概率;
根据该策略轨迹对应的整体奖励值和该策略轨迹出现的概率,确定期望奖励值。
11.一种动画生成装置,其特征在于,所述装置包括:
动画获取单元,用于获得目标虚拟角色的第一动画片段(T0),所述第一动画片段(T0)中包括A0动画帧;
姿态调整单元,用于获取A0动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色的姿态得到A1动画帧,其中,所述调整目标虚拟角色的姿态是通过调整A0动画帧中的目标虚拟角色的N个关节的力矩得到的,N为大于或者等于1的正整数;用于调整A0动画帧中的目标虚拟角色的N个关节的力矩是基于所述目标虚拟角色在A0动画帧中的状态信息确定的;所述状态信息包括目标虚拟角色的相位数据、姿态数据和速度数据,其中,所述相位数据用于表征所述目标虚拟角色在当前动画片段中所处的阶段,所述姿态数据用于表征目标虚拟角色当前的姿态,所述速度数据用于表征目标虚拟角色当前的速度状态;
动画生成单元,用于获得目标虚拟角色完成所述目标任务的第二动画片段(T1),所述第二动画片段(T1)是由至少两帧动画A0和A1组成的。
12.根据权利要求11所述的装置,其特征在于,所述姿态调整单元,还用于:
获取A1动画帧中的目标虚拟角色的姿态,根据目标虚拟角色设定的目标任务调整目标虚拟角色在A1动画帧中的姿态得到A2动画帧;其中,所述调整目标虚拟角色的姿态是通过调整A1动画帧中的目标虚拟角色的N个关节的力矩得到的。
13.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~10任一项所述的方法。
14.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现权利要求1~10任一项所述的方法。
CN202010013366.8A 2020-01-07 2020-01-07 动画生成方法、装置、电子设备和存储介质 Active CN111223170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010013366.8A CN111223170B (zh) 2020-01-07 2020-01-07 动画生成方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010013366.8A CN111223170B (zh) 2020-01-07 2020-01-07 动画生成方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111223170A CN111223170A (zh) 2020-06-02
CN111223170B true CN111223170B (zh) 2022-06-10

Family

ID=70829261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010013366.8A Active CN111223170B (zh) 2020-01-07 2020-01-07 动画生成方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111223170B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111773668B (zh) * 2020-07-03 2024-05-07 珠海金山数字网络科技有限公司 一种动画播放方法和装置
CN111784809B (zh) * 2020-07-09 2023-07-28 网易(杭州)网络有限公司 虚拟角色骨骼动画控制方法及装置、存储介质及电子设备
US11763508B2 (en) * 2020-11-11 2023-09-19 Sony Interactive Entertainment Inc. Disambiguation of poses
CN112396494B (zh) * 2020-11-23 2024-06-21 北京百度网讯科技有限公司 商品引导方法、装置、设备及存储介质
CN112596515B (zh) * 2020-11-25 2023-10-24 北京物资学院 一种多物流机器人移动控制方法及装置
CN115617429A (zh) * 2021-07-14 2023-01-17 华为技术有限公司 一种数据处理方法及相关设备
CN116468827A (zh) * 2022-01-11 2023-07-21 腾讯科技(深圳)有限公司 数据处理方法及相关产品
CN115272541B (zh) * 2022-09-26 2023-01-03 成都市谛视无限科技有限公司 一种驱动智能体到达多目标点的姿态生成方法
CN116570921B (zh) * 2023-07-13 2023-09-22 腾讯科技(深圳)有限公司 虚拟对象的姿态控制方法、装置、计算机设备、存储介质
CN116883561B (zh) * 2023-09-04 2023-12-22 腾讯科技(深圳)有限公司 动画生成方法、动作控制器的训练方法、装置及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110089649A (ko) * 2010-02-01 2011-08-09 삼성전자주식회사 병렬 연산 처리 방법 및 장치
CN103824316A (zh) * 2014-03-26 2014-05-28 广州博冠信息科技有限公司 一种为对象生成动作画面的方法和设备
CN106600668A (zh) * 2016-12-12 2017-04-26 中国科学院自动化研究所 一种与虚拟角色进行互动的动画生成方法、装置及电子设备
CN108182719A (zh) * 2017-12-28 2018-06-19 北京聚力维度科技有限公司 人工智能自适应障碍地形的行进动画生成方法和装置
CN109345614A (zh) * 2018-09-20 2019-02-15 山东师范大学 基于深度强化学习的ar增强现实大屏互动的动画仿真方法
CN109529352A (zh) * 2018-11-27 2019-03-29 腾讯科技(深圳)有限公司 虚拟环境中调度策略的评估方法、装置及设备
CN110310350A (zh) * 2019-06-24 2019-10-08 清华大学 基于动画的动作预测生成方法和装置
CN110516389A (zh) * 2019-08-29 2019-11-29 腾讯科技(深圳)有限公司 行为控制策略的学习方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3973995B2 (ja) * 2002-08-20 2007-09-12 独立行政法人科学技術振興機構 アニメーション作成システム
US8860732B2 (en) * 2010-09-27 2014-10-14 Adobe Systems Incorporated System and method for robust physically-plausible character animation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110089649A (ko) * 2010-02-01 2011-08-09 삼성전자주식회사 병렬 연산 처리 방법 및 장치
CN103824316A (zh) * 2014-03-26 2014-05-28 广州博冠信息科技有限公司 一种为对象生成动作画面的方法和设备
CN106600668A (zh) * 2016-12-12 2017-04-26 中国科学院自动化研究所 一种与虚拟角色进行互动的动画生成方法、装置及电子设备
CN108182719A (zh) * 2017-12-28 2018-06-19 北京聚力维度科技有限公司 人工智能自适应障碍地形的行进动画生成方法和装置
CN109345614A (zh) * 2018-09-20 2019-02-15 山东师范大学 基于深度强化学习的ar增强现实大屏互动的动画仿真方法
CN109529352A (zh) * 2018-11-27 2019-03-29 腾讯科技(深圳)有限公司 虚拟环境中调度策略的评估方法、装置及设备
CN110310350A (zh) * 2019-06-24 2019-10-08 清华大学 基于动画的动作预测生成方法和装置
CN110516389A (zh) * 2019-08-29 2019-11-29 腾讯科技(深圳)有限公司 行为控制策略的学习方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111223170A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
CN111223170B (zh) 动画生成方法、装置、电子设备和存储介质
CN111260762B (zh) 一种动画实现方法、装置、电子设备和存储介质
US11113860B2 (en) Particle-based inverse kinematic rendering system
CN111292401B (zh) 动画处理方法、装置、计算机存储介质及电子设备
US8648864B2 (en) System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space
CN110827383B (zh) 三维模型的姿态模拟方法、装置、存储介质和电子设备
US20110119332A1 (en) Movement animation method and apparatus
US20210008456A1 (en) Distributed training for machine learning of ai controlled virtual entities on video game clients
Ishigaki et al. Performance-based control interface for character animation
CN109345614B (zh) 基于深度强化学习的ar增强现实大屏互动的动画仿真方法
US10497163B1 (en) Computer architecture for animation of a character in a simulation based on muscle activation data
CN111340211A (zh) 一种动作控制模型的训练方法、相关装置及存储介质
US11816772B2 (en) System for customizing in-game character animations by players
WO2022051460A1 (en) 3d asset generation from 2d images
JP2000508804A (ja) 混合運動データを含む関節を持つキャラクターの会話型コンピュータ・アニメーションのための四肢調整システム
CN109407826A (zh) 球类运动模拟方法、装置、存储介质及电子设备
Bozgeyikli et al. Tangiball: Dynamic embodied tangible interaction with a ball in virtual reality
Gong et al. Motion simulation in a virtual basketball shooting teaching system
CN106910233B (zh) 一种虚拟昆虫动画角色的运动仿真方法
Chen Research on the VR Technology in Basketball Training [J]
Lan Simulation of Animation Character High Precision Design Model Based on 3D Image
Wu Virtual Shooting Action Simulation System Based on Intelligent VR Technology
US20240135618A1 (en) Generating artificial agents for realistic motion simulation using broadcast videos
Tsai et al. Physically based motion adaptation for diverse articulated figures
Zhu et al. Stylized Table Tennis Robots Skill Learning with Incomplete Human Demonstrations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024263

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant