首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 强化学习 / 虚拟对象的动画生成方法、装置、设备及存储介质

虚拟对象的动画生成方法、装置、设备及存储介质

阅读:504发布:2020-05-13

专利汇可以提供虚拟对象的动画生成方法、装置、设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 实施例 提供了一种虚拟对象的动画生成方法、装置、设备及存储介质,涉及动画制作领域。所述方法包括:获取目标虚拟对象对应的参考虚拟对象的参考动作;根据参考动作和目标虚拟对象对应的环境信息,生成目标虚拟对象的动作序列;其中,环境信息用于表征目标虚拟对象所处的 虚拟环境 ;根据目标虚拟对象的动作序列,生成目标虚拟对象的动作动画。本申请实施例提供的技术方案中,实现了将参考虚拟对象的参考动作重定向到目标虚拟对象上,提供了一种自动生成目标虚拟对象的动作动画的技术方案,提高了生成动画的效率。,下面是虚拟对象的动画生成方法、装置、设备及存储介质专利的具体信息内容。

1.一种虚拟对象的动画生成方法,其特征在于,所述方法包括:
获取目标虚拟对象对应的参考虚拟对象的参考动作;
根据所述参考动作和所述目标虚拟对象对应的环境信息,生成所述目标虚拟对象的动作序列;其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境
根据所述目标虚拟对象的动作序列,生成所述目标虚拟对象的动作动画。
2.根据权利要求1所述的方法,其特征在于,所述根据所述参考动作和所述目标虚拟对象对应的环境信息,生成所述目标虚拟对象的动作序列,包括:
采用所述参考动作训练强化学习模型;
通过所述强化学习模型生成所述目标虚拟对象的动作信息,所述动作信息用于表征所述目标虚拟对象执行的动作;
根据所述动作信息和所述环境信息,生成所述目标虚拟对象的动作序列。
3.根据权利要求2所述的方法,其特征在于,所述强化学习模型包括策略网络;
所述通过所述强化学习模型生成所述目标虚拟对象的动作信息,包括:
通过所述策略网络根据所述目标虚拟对象在第i个时间戳的状态信息,生成所述目标虚拟对象在第i+1个时间戳的动作信息,所述i为正整数;
其中,所述状态信息用于表征所述目标虚拟对象的物理状态。
4.根据权利要求3所述的方法,其特征在于,所述状态信息包括相位参数、姿态参数和速度参数;
其中,所述相位参数用于表征所述目标虚拟对象的动作进度,所述姿态参数用于表征所述目标虚拟对象的姿势形态,所述速度参数用于表征所述目标虚拟对象的速度状态。
5.根据权利要求3所述的方法,其特征在于,所述动作信息包括:
所述目标虚拟对象各个关节的速度;
或者,
所述目标虚拟对象各个关节的位置
6.根据权利要求3所述的方法,其特征在于,所述强化学习模型还包括评判网络;
所述采用所述参考动作训练强化学习模型,包括:
通过评判网络根据所述目标虚拟对象在第一时间戳的状态信息,计算相应的回报值;
根据所述回报值调整所述策略网络的参数;
通过所述策略网络根据所述目标虚拟对象在所述第一时间戳的状态信息,生成所述目标虚拟对象在第二时间戳的动作信息,所述第二时间戳在所述第一时间戳之后;
根据所述目标虚拟对象在所述第二时间戳的动作信息,控制所述目标虚拟对象和所述虚拟环境交互,确定所述目标虚拟对象在所述第二时间戳的状态信息;
根据所述目标虚拟对象在所述第二时间戳的状态信息,以及所述参考虚拟对象在所述第二时间戳的状态信息,计算奖励值;
根据所述奖励值调整所述评判网络的参数。
7.根据权利要求6所述的方法,其特征在于,所述奖励值包括以下至少一项:
姿态相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的姿态的相似程度;
速度相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的速度的相似程度;
骨架末端位置相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的骨架末端位置的相似程度;
重心位置相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的重心位置的相似程度。
8.根据权利要求2所述的方法,其特征在于,所述根据所述动作信息和所述环境信息,生成所述目标虚拟对象的动作序列,包括:
根据所述目标虚拟对象在第i个时间戳的状态信息,以及所述目标虚拟对象在第i+1个时间戳的动作信息,计算所述目标虚拟对象各个关节对应的矩;
根据所述目标虚拟对象各个关节对应的力矩,控制所述目标虚拟对象在所述环境信息对应的所述虚拟环境中运动,生成所述目标虚拟对象从所述第i个时间戳到所述第i+1个时间戳的动作;
根据所述目标虚拟对象在各个所述时间戳之间的动作,得到所述目标虚拟对象的动作序列。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标虚拟对象在第i个时间戳的状态信息,以及所述目标虚拟对象在第i+1个时间戳的动作信息,计算所述目标虚拟对象各个关节对应的力矩,包括:
根据所述目标虚拟对象在第i个时间戳的状态信息,确定所述目标虚拟对象各个关节在所述第i个时间戳的速度;
根据所述目标虚拟对象在第i+1个时间戳的动作信息,确定所述目标虚拟对象各个关节在所述第i+1个时间戳的目标速度;
计算所述各个关节在所述第i+1个时间戳的目标速度与在所述第i个时间戳的速度之间的差值;
根据所述差值计算所述各个关节对应的力矩。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述根据所述目标虚拟对象的动作序列,生成所述目标虚拟对象的动作动画,包括:
根据所述目标虚拟对象的动作序列,得到所述目标虚拟对象的动画
基于各个所述动画帧生成所述目标虚拟对象的动作动画。
11.根据权利要求1至9任一项所述的方法,其特征在于,所述目标虚拟对象和所述参考虚拟对象是两个骨架相同或相近的虚拟对象。
12.一种虚拟对象的动画显示方法,其特征在于,所述方法包括:
显示用户界面
在所述用户界面中显示虚拟场景,以及位于所述虚拟场景中的目标虚拟对象;
显示所述目标虚拟对象的动作动画,所述目标虚拟对象的动作动画根据参考虚拟对象的参考动作和所述目标虚拟对象对应的环境信息生成,其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境。
13.一种虚拟对象的动画生成装置,其特征在于,所述装置包括:
动作获取模,用于获取目标虚拟对象对应的参考虚拟对象的参考动作;
动作生成模块,用于根据所述参考动作和所述目标虚拟对象对应的环境信息,生成所述目标虚拟对象的动作序列;其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境;
动画生成模块,用于根据所述目标虚拟对象的动作序列,生成所述目标虚拟对象的动作动画。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至11任一项所述的虚拟对象的动画生成方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至11任一项所述的虚拟对象的动画生成方法。

说明书全文

虚拟对象的动画生成方法、装置、设备及存储介质

技术领域

[0001] 本申请实施例涉及动画制作领域,特别涉及一种虚拟对象的动画生成方法、装置、设备及存储介质。

背景技术

[0002] 在游戏开发中,经常会涉及一些三维虚拟对象,有时需要给这些虚拟对象制作三维动画。
[0003] 在相关技术中,虚拟对象具有骨骼,相邻的骨骼之间具有关节,虚拟对象的动画实际上是骨骼的动画。在生成虚拟对象的动画过程中,需要动画师手动拖动虚拟对象的骨骼,并一点点修正骨骼的动作,从而生成虚拟对象的动画。
[0004] 在上述技术中,由于需要手动拖动虚拟对象的骨骼,并一点点修正骨骼的动作以生成动画,过程较为繁琐耗时。发明内容
[0005] 本申请实施例提供了一种虚拟对象的动画生成方法、装置、设备及存储介质,可用于解决相关技术中,生成虚拟对象的动画较为繁琐耗时的技术问题。
[0006] 所述技术方案如下:
[0007] 一方面,本申请实施例提供了一种虚拟对象的动画生成方法,所述方法包括:
[0008] 获取目标虚拟对象对应的参考虚拟对象的参考动作;
[0009] 根据所述参考动作和所述目标虚拟对象对应的环境信息,生成所述目标虚拟对象的动作序列;其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境
[0010] 根据所述目标虚拟对象的动作序列,生成所述目标虚拟对象的动作动画。
[0011] 另一方面,本申请实施例提供了一种虚拟对象的动画显示方法,所述方法包括:
[0012] 显示用户界面
[0013] 在所述用户界面中显示虚拟场景,以及位于所述虚拟场景中的目标虚拟对象;
[0014] 显示所述目标虚拟对象的动作动画,所述目标虚拟对象的动作动画根据参考虚拟对象的参考动作和所述目标虚拟对象对应的环境信息生成,其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境。
[0015] 再一方面,本申请实施例提供了一种虚拟对象的动画生成装置,所述装置包括:
[0016] 动作获取模,用于获取目标虚拟对象对应的参考虚拟对象的参考动作;
[0017] 动作生成模块,用于根据所述参考动作和所述目标虚拟对象对应的环境信息,生成所述目标虚拟对象的动作序列;其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境;
[0018] 动画生成模块,用于根据所述目标虚拟对象的动作序列,生成所述目标虚拟对象的动作动画。
[0019] 又一方面,本申请实施例提供了一种虚拟对象的动画显示装置,所述装置包括:
[0020] 界面显示模块,用于显示用户界面;
[0021] 场景显示模块,用于在所述用户界面中显示虚拟场景,以及位于所述虚拟场景中的目标虚拟对象;
[0022] 动画显示模块,用于显示所述目标虚拟对象的动作动画,所述目标虚拟对象的动作动画根据参考虚拟对象的参考动作和所述目标虚拟对象对应的环境信息生成,其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境。
[0023] 还一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述虚拟对象的动画生成方法。
[0024] 还一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述虚拟对象的动画显示方法。
[0025] 还一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述虚拟对象的动画生成方法。
[0026] 还一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述虚拟对象的动画显示方法。
[0027] 还一方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品被计算机设备的处理器执行时,用于实现上述虚拟对象的动画生成方法。
[0028] 还一方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品被终端的处理器执行时,用于实现上述虚拟对象的动画显示方法。
[0029] 本申请实施例提供的技术方案可以包括如下有益效果:
[0030] 通过获取参考虚拟对象的参考动作,然后根据该参考动作和目标虚拟对象的环境信息,生成目标虚拟对象的动作序列,再根据目标虚拟对象的动作序列,生成目标虚拟对象的动作动画,实现了将参考虚拟对象的参考动作重定向到目标虚拟对象上,提供了一种自动生成目标虚拟对象的动作动画的技术方案,提高了生成动画的效率。
[0031] 另外,根据环境信息生成动作序列,使生成的动画中,目标虚拟对象可以与虚拟环境实现交互,增强了动画的真实性。附图说明
[0032] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033] 图1示例性示出了一种强化学习模型的示意图;
[0034] 图2示出了本申请一个实施例提供的虚拟对象的动画显示方法的应用场景的示意图;
[0035] 图3示出了本申请另一个实施例提供的虚拟对象的动画显示方法的应用场景的示意图;
[0036] 图4示出了本申请一个实施例提供的虚拟对象的动画生成方法的流程图
[0037] 图5示出了本申请另一个实施例提供的虚拟对象的动画生成方法的流程图;
[0038] 图6示出了本申请一个实施例提供的策略网络的结构示意图;
[0039] 图7示出了本申请一个实施例提供的评判网络的结构示意图;
[0040] 图8示出了本申请一个实施例提供的虚拟对象的动画生成方法的示意图;
[0041] 图9示出了本申请一个实施例提供的虚拟对象的动画生成装置的框图
[0042] 图10示出了本申请另一个实施例提供的虚拟对象的动画生成装置的框图;
[0043] 图11示出了本申请一个实施例提供的计算机设备的结构框图;
[0044] 图12示出了本申请一个实施例提供的终端的结构框图。

具体实施方式

[0045] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
[0046] 人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0047] 人工智能技术是一综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0048] 机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
[0049] 随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
[0050] 本申请实施例提供的方案涉及人工智能的机器学习技术,具体通过如下实施例进行说明。
[0051] 首先,对本申请实施例涉及的名词进行简要介绍。
[0052] 1、强化学习
[0053] 强化学习又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
[0054] 请参考图1,其示例性示出了一种强化学习模型的示意图。如图1所示,强化学习模型100中,智能体110生成动作从而与环境120进行交互,计算此次交互的奖励以及交互完成之后智能体110的状态,将奖励和状态输入智能体110,智能体110再根据状态生成动作并与环境120进行交互。按照上述方式不断循环,得到智能体110的多个状态以及对应的奖励,而智能体110趋向于生成奖励更高的动作,从而使得智能体110可以通过强化学习模型100,学习到更好的动作策略。
[0055] 策略网络是通过学习,接收特定的输入后,给出一个确定输出的网络。
[0056] 评判网络又称为评判器、数值网络,用于计算当前状态的累积分数的期望值,计算得到的期望值会被输入进策略网络。
[0057] 全连接层是每一个结点都与上一层的所有结点相连的神经网络层,用于综合上一层提取到的特征。
[0058] 2、骨骼动画
[0059] 骨骼动画是模型动画中的一种,当前有两种模型动画的方式:顶点动画和骨骼动画。在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。
[0060] 3、物理引擎
[0061] 物理引擎是一个计算机程序模拟物理规律的引擎,使用质量、速度、摩擦空气阻力等变量,可以用来预测各种不同情况下的效果。它主要用在计算物理学、电子游戏以及计算机动画当中。
[0062] 4、四元数
[0063] 四元数是简单的超复数。复数是由实数加上虚数单位i组成,其中i=-1。相似地,四元数都是由实数加上三个虚数单位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、-j、-k分别代表i、j、k旋转的反向旋转。
[0064] 5、运动学
[0065] 运动学是力学的一门分支,专门描述物体的运动,即物体在空间中的位置随时间的演进而作的改变,完全不考虑作用力或质量等等影响运动的因素。
[0066] 6、动力学
[0067] 动力学是理论力学的一个分支学科,它主要研究作用于物体的力与物体运动的关系。
[0068] 7、AR(Augmented Reality,增强现实)
[0069] AR技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。
[0070] 8、MR(Mixed Reality,混合现实)
[0071] MR指的是结合真实和虚拟世界创造了新的环境和可视化,物理实体和数字对象共存并能实时相互作用,以用来模拟真实物体。MR技术混合了现实、增强现实、增强虚拟和虚拟现实技术。
[0072] 9、PD控制
[0073] PD(Proportion-Derivative,比例与微分)控制是一种最简单的控制方式。P(Proportion,比例)控制的输入信号成比例地反应输出信号,用于调整系统的开环增益,提高系统的稳态精度,降低系统的惰性,加快响应速度。D(Derivative,微分)控制用于反应输入信号的变化趋势,产生有效的早期修正信号,以增加系统的阻尼程度,从而改善系统的稳定性
[0074] 本申请实施例提供的方法,各步骤的执行主体可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,该计算机设备可以是诸如PC(Personal Computer,个人计算机)、手机、智能机器人、平板电脑、多媒体播放设备等终端,也可以是服务器
[0075] 请参考图2,其示出了本申请一个实施例提供的虚拟对象的动画显示方法的应用场景的示意图。如图2所示,在某LBS(Location Based Service,基于位置服务)游戏的游戏界面中,采集现实环境的视频信息,并应用本申请实施例提供的虚拟对象的动画生成方法,结合办公桌220的桌面情况,生成虚拟对象210的动画,从而显示虚拟对象210在办公桌220上的AR动画。
[0076] 请参考图3,其示出了本申请另一个实施例提供的虚拟对象的动画显示方法的应用场景的示意图。如图3所示,在转播视频时,先基于真实场景310采集视频,然后将通过本申请实施例提供的方法生成的虚拟对象320的动画,添加到基于真实场景310采集的视频中。于是,在转播的视频中,虚拟对象320的动画可以在真实场景310中显示。
[0077] 在一些可能的实现方式中,本申请提供的技术方案,还可以应用于训练现实中的智能机器人。
[0078] 在一些可能的实现方式中,本申请提供的技术方案,还可以应用于MR技术中。
[0079] 下面,通过几个实施例对本申请技术方案进行介绍说明。
[0080] 请参考图4,其示出了本申请一个实施例提供的虚拟对象的动画生成方法的流程图。在本实施例中,主要以该方法应用于上文介绍的计算机设备来举例说明。该方法可以包括如下几个步骤:
[0081] 步骤401,获取目标虚拟对象对应的参考虚拟对象的参考动作。
[0082] 虚拟对象可以是游戏中的色,其中,游戏可以运行在手机、平板电脑、游戏主机、电子阅读器、多媒体播放器、可穿戴设备、PC等电子设备中;虚拟对象也可以是动漫、电影、电视剧等视频中的角色。目标虚拟对象是待生成动画的虚拟对象。
[0083] 其中,虚拟对象可以是人物形态,可以是动物、卡通或者其它形态,本申请实施例对此不作限定。虚拟对象可以通过三维形式展示,也可以通过二维形式展示,本申请实施例对此不作限定。
[0084] 在本申请实施例中,虚拟对象具有骨架,骨架是由相互连接的骨骼组成的结构。可以通过改变骨骼的位置和姿态来生成虚拟对象的动作,连贯虚拟对象的一系列的动作,就可以生成虚拟对象的动画。
[0085] 参考虚拟对象是指已经制作好动画的虚拟对象,参考虚拟对象的动作称为参考动作,可以用运动学来表示参考动作。可选地,目标虚拟对象和参考虚拟对象是两个骨架相同或相近的虚拟对象。
[0086] 骨架相同,可以表示为目标虚拟对象和参考虚拟对象的骨架中的所有骨骼的尺寸、形状,以及骨骼之间的连接关系完全相同;骨架相近,包括但不限于以下至少一种:目标虚拟对象和参考虚拟对象的骨架中的骨骼的尺寸相近、形状相近、骨骼之间的连接关系相近。
[0087] 步骤402,根据参考动作和目标虚拟对象对应的环境信息,生成目标虚拟对象的动作序列。
[0088] 其中,环境信息用于表征目标虚拟对象所处的虚拟环境。虚拟环境可以是由物理引擎模拟的物理环境,在模拟的物理环境中,虚拟对象遵守动力学规律,使得虚拟对象的运动接近现实情况。
[0089] 其中,上述虚拟环境可以是物理引擎在终端中运行时显示(或提供)的场景,该虚拟环境是指营造出的供虚拟对象进行活动(如游戏竞技)的场景。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境,也可以是2.5维虚拟环境,或者是三维虚拟环境,本申请实施例对此不作限定。
[0090] 可选地,当虚拟环境为三维虚拟环境时,虚拟对象是基于骨骼动画技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
[0091] 在一些可能的实施例中,根据目标虚拟对象在第一时间戳的状态信息,生成目标虚拟对象的动作信息;然后根据动作信息驱动目标虚拟对象的骨骼,做出动作;根据虚拟对象在第一时间戳的状态信息、动作完成情况以及环境信息,可以计算得到目标虚拟对象在第二时间戳的状态信息;再生成其下一次的动作信息;其中,动作信息是根据状态信息和参考动作生成的。目标虚拟对象相对于前一个时间戳的状态的变化,表示目标虚拟对象的一个动作。按照上述方式进行多次循环,可以得到目标虚拟对象的一系列连续的动作,从而生成目标虚拟对象的动作序列。
[0092] 其中,状态信息用于表征目标虚拟对象的物理状态,动作信息用于表征目标虚拟对象执行的动作。
[0093] 步骤403,根据目标虚拟对象的动作序列,生成目标虚拟对象的动作动画。
[0094] 可选地,目标虚拟对象的动作序列,用于表征目标虚拟对象连续的动作。将目标虚拟对象的动作连贯起来,可以得到目标虚拟对象的动作动画。
[0095] 可选地,若目标虚拟对象是三维虚拟对象,则生成的动画是三维动画。
[0096] 在一些可能的实施例中,步骤403可以包括如下子步骤:
[0097] 1、根据目标虚拟对象的动作序列,得到目标虚拟对象的动画
[0098] 2、基于各个动画帧生成目标虚拟对象的动作动画。
[0099] 在一些可能的实施例中,动画是由逐帧拍摄并连续播放图片组成的,每一帧都是一张静态的图片,根据一系列连续的动作序列可以生成一系列连续的动画帧,从而生成目标虚拟对象的动作动画。
[0100] 综上所述,本申请实施例提供的技术方案中,通过获取参考虚拟对象的参考动作,然后根据该参考动作和目标虚拟对象的环境信息,生成目标虚拟对象的动作序列,再根据目标虚拟对象的动作序列,生成目标虚拟对象的动作动画,实现了将参考虚拟对象的参考动作重定向到目标虚拟对象上,提供了一种自动生成目标虚拟对象的动作动画的技术方案,提高了生成动画的效率。
[0101] 另外,根据环境信息生成动作序列,使生成的动画中,目标虚拟对象可以与虚拟环境实现交互,增强了动画的真实性。
[0102] 请参考图5,其示出了本申请另一个实施例提供的虚拟对象的动画生成方法的流程图。在本实施例中,主要以该方法应用于上文介绍的计算机设备来举例说明。该方法可以包括如下几个步骤:
[0103] 步骤501,获取目标虚拟对象对应的参考虚拟对象的参考动作。
[0104] 本步骤与图4实施例中的步骤401的内容相同或类似,此处不再赘述。
[0105] 步骤502,采用参考动作训练强化学习模型。
[0106] 可选地,强化学习模型包括策略网络。
[0107] 强化学习模型中的策略网络可以生成目标虚拟对象的动作信息,参考动作是已经制作好的动画中的动作,通过将目标虚拟对象的动作与参考动作进行对比,训练强化学习模型,让目标虚拟对象学习参考动作,可以使得强化学习模型趋向于输出与参考动作更相近的动作信息。
[0108] 请参考图6,其示出了本申请一个实施例提供的策略网络的结构示意图。如图6所示,策略网络的输入为目标虚拟对象的状态信息,输出为目标虚拟对象的动作信息,在策略网络的输入层输出层之间,还包括隐藏层
[0109] 可选地,隐藏层中可以包括一层神经网络,也可以包括多层神经网络,具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
[0110] 可选地,隐藏层中的神经网络层可以是全连接层。
[0111] 示例性地,结合图6,策略网络包括输入层、隐藏层和输出层。隐藏层中可以包括两层神经网络,其中,第一神经网络层可以包括1024个神经元,第二神经网络层可以包括512个神经元。
[0112] 可选地,当神经网络包括两层或两层以上的神经网络层时,神经网络层之间的激活函数为ReLU(Rectified Linear Unit,线性整流函数)函数。使用ReLU函数的神经元的输出可以用下述公式一表示:
[0113] 公式一:
[0114] f(x)=max(0,WTx+b)
[0115] 其中,x表示上一层神经网络层输入神经元的向量,WT表示常变换矩阵,b表示常向量,f(x)表示神经元的输出。
[0116] 在一些可能的实施例中,强化学习模型还包括评判网络,评判网络用于生成目标虚拟对象的状态信息对应的回报值,评判网络也是经过训练得到的。请参考图7,其示出了本申请一个实施例提供的评判网络的结构示意图。如图7所示,评判网络的输入为目标虚拟对象的状态信息,输出为目标虚拟对象的状态信息对应的回报值。
[0117] 评判网络的网络结构与策略网络可以相同,也可以不相同,本申请实施例对此不作限定。
[0118] 在一些可能的实施例中,步骤502可以包括如下子步骤:
[0119] 1、通过评判网络根据目标虚拟对象在第一时间戳的状态信息,计算相应的回报值;
[0120] 2、根据回报值调整策略网络的参数;
[0121] 3、通过策略网络根据目标虚拟对象在第一时间戳的状态信息,生成目标虚拟对象在第二时间戳的动作信息,第二时间戳在第一时间戳之后;
[0122] 4、根据目标虚拟对象在第二时间戳的动作信息,控制目标虚拟对象和虚拟环境交互,确定目标虚拟对象在第二时间戳的状态信息;
[0123] 5、根据目标虚拟对象在第二时间戳的状态信息,以及参考虚拟对象在第二时间戳的状态信息,计算奖励值;
[0124] 6、根据奖励值调整评判网络的参数。
[0125] 其中,回报值表示网络生成的动作信息的总的优劣程度;奖励值表示目标虚拟对象与参考虚拟对象的状态信息的相似程度。第一时间戳对应的回报值可以是从第一时间戳起,直到动画结束的所有奖励值之和。
[0126] 在一些可能的实施例中,通过将目标虚拟对象的状态以及对应的回报值输入评判网络,并根据目标虚拟对象的状态信息以及对应的回报值不断调整评判网络的参数,从而得到经过训练的评判网络。经过训练的评判网络,可以根据目标虚拟对象的状态信息,计算出对应的回报值的期望值,期望值可以用于调整策略网络的参数。
[0127] 在一些可能的实施例中,策略网络将目标虚拟对象的状态信息对应的回报值和期望值进行比较,若回报值大于期望值,则表示生成的动作信息总体较优;若回报值小于期望值,则表示生成的动作信息总体较差;若回报值等于期望值,则表示生成的动作信息总体较为一般。根据回报值和期望值的大小关系,可以调整策略网络的参数,使得策略网络更趋向于生成回报值大于期望值的动作信息。
[0128] 在一些可能的实施例中,将回报值减去其相应的期望值,得到相对回报值。显然,若回报值大于期望值,则相对回报值为正数;若回报值小于期望值,则相对期望值为负数;若回报值等于期望值,则相对期望值为0;对于还未生成过的动作信息,其相对回报值可以设为0。根据相对回报值的大小,调整策略网络的参数,使得策略网络趋向于生成相对回报值更大的动作信息。
[0129] 可选地,对每一时间戳计算一次奖励值,也可以多个时间戳计算一次奖励值,具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
[0130] 步骤503,通过强化学习模型生成目标虚拟对象的动作信息。
[0131] 经过训练的强化学习模型可以根据目标虚拟对象的状态信息输出对应的动作信息。
[0132] 在一些可能的实施例中,通过策略网络根据目标虚拟对象在第i个时间戳的状态信息,生成目标虚拟对象在第i+1个时间戳的动作信息,i为正整数。
[0133] 可选地,状态信息包括相位参数、姿态参数和速度参数。其中,相位参数用于表征目标虚拟对象的动作进度,姿态参数用于表征目标虚拟对象的姿势形态,速度参数用于表征目标虚拟对象的速度状态。
[0134] 在一些可能的实施例中,可以用参考动作的相位表示目标虚拟对象的相位参数。示例性地,若参考动作是总时长为2s(second,秒),而当前参考动作已经播放了0.2s,那么,目标虚拟对象的相位参数=参考动作的相位=(0.2s)/(2s)=0.1。其中,目标虚拟对象的相位参数也可以用百分数表示。
[0135] 在一些可能的实施例中,姿态参数可以用目标虚拟对象的骨骼的各个关节,在世界坐标系中的旋转信息表示。
[0136] 其中,旋转信息可以用四元数表示。若目标虚拟对象包括N个关节,姿态参数的输入维数可以为(N×4),N为大于或等于1的整数。
[0137] 可选地,世界坐标系是三维坐标系,世界坐标系包括互相垂直的X轴、Y轴和Z轴,世界坐标系自一开始确定之后,相对于虚拟环境不再变化。
[0138] 在一些可能的实施例中,速度参数可以用目标虚拟对象的各个关节在世界坐标系中的线速度信息和角速度信息表示。对于每个关节,线速度的维数为3,角速度的维数为3,该关节的维度可以为3+3=6。若目标虚拟对象包括N个关节,那么,目标虚拟对象的速度维数可以是(N×6)。
[0139] 可选地,动作信息可以包括:目标虚拟对象各个关节的速度;或者,目标虚拟对象各个关节的位置。
[0140] 在一些可能的实施例中,可以用目标虚拟对象的各个关节在本地坐标系中的角速度表示各个关节的速度。由于每个关节的角速度的维数为3,若目标虚拟对象包括N个关节,则动作信息中的速度的维数为(N×3)。
[0141] 可选地,第m个关节的本地坐标系可以是以第m个关节的几何中心或质心为原点的坐标系;第m个关节的角速度可以是与第m个关节相连的刚体上的点,在第m个关节的本地坐标系中的角速度,m为大于或等于1的整数。其中,与第m个关节相连的刚体,可以是与第m个关节相连的骨骼。
[0142] 在一些可能的实施例中,用目标虚拟对象各个关节的位置表示动作信息。其中,可以用目标虚拟对象的各个关节在世界坐标系中的位置的变化,来表示目标虚拟对象的动作信息。
[0143] 步骤504,根据动作信息和环境信息,生成目标虚拟对象的动作序列。
[0144] 可选地,目标虚拟对象的动作序列,是由目标虚拟对象在虚拟环境中的一系列连续的动作组成的。在虚拟环境中,驱动目标虚拟对象根据动作信息做出动作,根据目标虚拟对象的状态信息、动作以及环境信息,可以通过物理引擎计算模拟出目标虚拟对象与虚拟环境进行交互后的状态。循环上述步骤,目标虚拟对象与虚拟环境进行交互,可以得到多个连续的动作。
[0145] 在一些可能的实施例中,步骤504可以包括如下子步骤:
[0146] 1、根据目标虚拟对象在第i个时间戳的状态信息,以及目标虚拟对象在第i+1个时间戳的动作信息,计算目标虚拟对象各个关节对应的力矩;
[0147] 2、根据目标虚拟对象各个关节对应的力矩,控制目标虚拟对象在环境信息对应的虚拟环境中运动,生成目标虚拟对象从第i个时间戳到第i+1个时间戳的动作;
[0148] 3、根据目标虚拟对象在各个时间戳之间的动作,得到目标虚拟对象的动作序列。
[0149] 其中,计算目标虚拟对象各个关节对应的力矩的控制器,可以是PD控制器,也可以是PID(Proportion-Integral-Derivative)控制器,还可以是PI(Proportion-Integra)控制器,具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
[0150] 可选地,通过多次迭代,使第i+1个时间戳的动作,趋近计算得到的目标虚拟对象在第i+1个时间戳的动作信息。
[0151] 在一些可能的实施例中,计算目标虚拟对象各个关节对应的力矩可以包括如下子步骤:
[0152] 1.1根据目标虚拟对象在第i个时间戳的状态信息,确定目标虚拟对象各个关节在第i个时间戳的速度;
[0153] 1.2根据目标虚拟对象在第i+1个时间戳的动作信息,确定目标虚拟对象各个关节在第i+1个时间戳的目标速度;
[0154] 1.3计算各个关节在第i+1个时间戳的目标速度与在第i个时间戳的速度之间的差值;
[0155] 1.4根据差值计算各个关节对应的力矩。
[0156] 可选地,确定目标虚拟对象各个关节在第i个时间戳的速度后,控制器进行多次迭代,从而使目标虚拟对象各个关节的速度趋近目标速度。
[0157] 以目标速度为角速度为例,若第j个关节的目标速度确定为10rad(radian,弧度)/s,而第j个关节在第i个时间戳的速度为5rad/s,将目标速度减去第j个关节在第i个时间戳的速度,得到第一速度差为5rad/s;控制器根据第一速度差计算得到第一力矩;将第一力矩施加到第j个关节上,第j个关节的速度变为6rad/s;计算第二速度差为4rad/s;控制器根据第二速度差计算得到二力矩;将第二力矩施加到第j个关节上,第j个关节的速度变为6.5rad/s;再计算第三速度差;以此类推,进行多次迭代计算,从而使第j个关节速度趋近目标速度。
[0158] 在一些可能的实施例中,使第j个关节速度趋近目标速度的方式可以是:设置控制器在两个相邻的时间戳之间的迭代计算次数为预设数值。其中,预设数值可以是10,可以是15,可以是20,具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
[0159] 在一些可能的实施例中,使第j个关节速度趋近目标速度的方式还可以是:控制器在两个相邻的时间戳之间不停地进行迭代计算,直到下一个时间戳停止;或者,当第j个关节速度与目标速度之间的差值的绝对值,小于或等于速度阈值时,控制器停止此次的迭代计算。其中,速度阈值可以是0.1rad/s,可以是0.15rad/s,可以是0.2rad/s,具体数值由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
[0160] 示例性地,当计算力矩的是PD控制器时,控制器计算各个关节对应的力矩可以参考如下公式二:
[0161] 公式二:
[0162]
[0163] 其中, 表示在t时间,目标虚拟对象的第j个关节的速度与目标速度的差;Kp为比例系数;Kd为微分系数; 表示在t时间,目标虚拟对象的第j个关节在本地坐标系中所受的力矩。
[0164] 步骤505,根据目标虚拟对象的动作序列,生成目标虚拟对象的动作动画。
[0165] 本步骤与图4实施例中的步骤403的内容相同或类似,此处不再赘述。
[0166] 综上所述,本申请实施例提供的技术方案中,根据回报值训练强化学习模型,使强化学习模型趋向于输出回报值更大的动作信息,使得生成的目标虚拟对象的动作与参考动作尽可能地相似,从而达到将参考虚拟对象的动画更好地重定向到目标虚拟对象上的目的。
[0167] 本申请实施例中,在重复训练强化学习模型的过程中,目标虚拟对象和虚拟环境进行交互后的状态会输入强化学习模型中,得到更智能的强化学习模型。进而,训练后的强化学习模型输出的动作信息,可以使目标虚拟对象自动适应物理环境的变化。
[0168] 示例性地,当参考虚拟对象的动画为在平地上走的连续动作,应用本申请实施例提供的技术方案,可以将参考虚拟对象的动画自动迁移到目标虚拟对象上,并且,若目标虚拟对象所行进的方向的地面上有一个小凸起,由于经过训练的强化学习模型会让目标虚拟对象的动作趋近参考动作,在碰到小凸起后,目标虚拟对象可以自动调整各个关节的动作姿态,在踉跄一下后可以继续前进而不会被绊倒,提高目标虚拟对象适应环境的能力。
[0169] 在示例性实施例中,奖励值包括以下至少一项:
[0170] 姿态相似度的奖励值,用于表征目标虚拟对象与参考虚拟对象的姿态的相似程度;
[0171] 速度相似度的奖励值,用于表征目标虚拟对象与参考虚拟对象的速度的相似程度;
[0172] 骨架末端位置相似度的奖励值,用于表征目标虚拟对象与参考虚拟对象的骨架末端位置的相似程度;
[0173] 重心位置相似度的奖励值,用于表征目标虚拟对象与参考虚拟对象的重心位置的相似程度。
[0174] 其中,奖励值用于表征在相同相位时,目标虚拟对象的动作和参考动作的相似程度。
[0175] 其中,骨架末端可以为只连接有一个关节的骨骼中,不与任何关节想连的一端。
[0176] 可选地,将目标虚拟对象和参考虚拟对象在相同相位时的动作在奖励函数中进行比较计算,从而得到目标虚拟对象的奖励值。
[0177] 在一些可能的实施例中,奖励函数可以包括如下公式三到公式六:
[0178] 公式三:
[0179]
[0180] 其中, 表示在t时间时,参考虚拟对象的第j个关节在本地坐标系中的旋转信息,用四元数表示; 表示在t时间时,目标虚拟对象的第j个关节在本地坐标系中的旋转信息,用四元数表示; 表示在t时间时总的姿态相似度奖励。
[0181] 公式四:
[0182]
[0183] 其中, 表示在t时间时,参考虚拟对象的第j个关节在本地坐标系中的角速度信息,用四元数表示; 表示在t时间时,目标虚拟对象的第j个关节在本地坐标系中的角速度信息,用四元数表示; 表示在t时间时总的速度相似度奖励。
[0184] 公式五:
[0185]
[0186] 其中, 表示在t时间时,参考虚拟对象的第e个末端关节在世界坐标系中的位置,用三维向量表示; 表示在t时间时,目标虚拟对象的第e个末端关节在世界坐标系中的位置,用三维向量表示; 表示在t时间时总的末端位置相似度奖励。
[0187] 公式六:
[0188]
[0189] 其中, 表示在t时间时,参考虚拟对象的重心在世界坐标系中的位置,用三维向量表示; 表示在t时间时,目标虚拟对象的重心在世界坐标系中的位置,用三维向量表示; 表示在t时间时总的重心位置相似度奖励。
[0190] 在一些可能的实施例中,当奖励值中包括多种奖励值时,可以对多种奖励值进行加权求和,从而计算得到奖励值。
[0191] 示例性地,奖励值包括姿态相似度的奖励值、速度相似度的奖励值、骨架末端位置相似度的奖励值和重心位置相似度的奖励值,奖励值的计算方式可以参考如下公式七:
[0192] 公式七:
[0193]
[0194] 其中,kp表示姿态相似度奖励的权重系数,kv表示速度相似度奖励的权重系数,ke表示末端位置相似度奖励的权重系数,kc表示重心位置相似度奖励的权重系数。可选地,kp+kv+ke+kc=1。
[0195] 在一些可能的实施例中,当奖励值只包括姿态相似度的奖励值、速度相似度的奖励值、骨架末端位置相似度的奖励值和重心位置相似度的奖励值中的一种时,奖励值可以只用上述的其中一种奖励值表示。
[0196] 在上述实现方式中,奖励值包括姿态相似度的奖励值、速度相似度的奖励值、骨架末端位置相似度的奖励值以及重心位置相似度的奖励值,避免了奖励值的组成过于单一,使得奖励值的计算结果更具有参考性,进而提高生成的动画的质量。
[0197] 请参考图8,其示出了本申请一个实施例提供的虚拟对象的动画生成方法的示意图。该方法可以应用于上文介绍的计算机设备。如图8所示,该方法可以包括如下步骤:
[0198] 步骤801,策略网络根据输入的目标虚拟对象的状态输出动作信息。
[0199] 步骤802,控制器根据目标虚拟对象的物理状态和动作信息,计算作用于目标虚拟对象的各个关节的力矩。
[0200] 步骤803,目标虚拟对象的各个关节的在力矩作用下改变物理状态,与物理引擎中模拟的虚拟环境进行交互,得到目标虚拟对象下一帧的状态。
[0201] 步骤804,物理引擎输出奖励值和目标虚拟对象的当前状态。
[0202] 其中,奖励值是物理引擎根据目标虚拟对象的动作和参考动作计算得到的;目标虚拟对象的当前状态是物理引擎根据目标虚拟对象上一步的物理状态、各个关节收到的力矩以及虚拟环境计算得到的。
[0203] 步骤805,评判网络根据目标虚拟对象的状态,计算对应的回报值,并将回报值输入策略网络。
[0204] 循环上述步骤801至805,得到目标虚拟对象多个动画帧,将目标虚拟对象多个动画帧连贯起来,可以生成目标虚拟对象的动画。
[0205] 本申请实施例还提供了一种虚拟对象的动画显示方法。该方法可以应用于上文介绍的计算机设备中,该方法可以包括如下步骤:
[0206] 1、显示用户界面;
[0207] 2、在用户界面中显示虚拟场景,以及位于虚拟场景中的目标虚拟对象;
[0208] 3、显示目标虚拟对象的动作动画,目标虚拟对象的动作动画根据参考虚拟对象的参考动作和目标虚拟对象对应的环境信息生成,其中,环境信息用于表征目标虚拟对象所处的虚拟环境。
[0209] 下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0210] 请参考图9,其示出了本申请一个实施例提供的虚拟对象的动画生成装置的框图。该装置具有实现上述虚拟对象的动画生成方法的示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的计算机设备,也可以设置在计算机设备中。如图9所示,所述装置9000可以包括:动作获取模块9100、动作生成模块9200以及动画生成模块9300。
[0211] 所述动作获取模块9100,用于获取目标虚拟对象对应的参考虚拟对象的参考动作。
[0212] 所述动作生成模块9200,用于根据所述参考动作和所述目标虚拟对象对应的环境信息,生成所述目标虚拟对象的动作序列;其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境。
[0213] 所述动画生成模块9300,用于根据所述目标虚拟对象的动作序列,生成所述目标虚拟对象的动作动画。
[0214] 综上所述,本申请实施例提供的技术方案中,通过获取参考虚拟对象的参考动作,然后根据该参考动作和目标虚拟对象的环境信息,生成目标虚拟对象的动作序列,再根据目标虚拟对象的动作序列,生成目标虚拟对象的动作动画,实现了将参考虚拟对象的参考动作重定向到目标虚拟对象上,提供了一种自动生成目标虚拟对象的动作动画的技术方案,提高了生成动画的效率。
[0215] 另外,根据环境信息生成动作序列,使生成的动画中,目标虚拟对象可以与虚拟环境实现交互,增强了动画的真实性。
[0216] 在示例性实施例中,如图10所示,所述动作生成模块9200,还包括:模型训练子模块9210、信息生成子模块9220和动作生成子模块9230。
[0217] 所述模型训练子模块9210,用于采用所述参考动作训练强化学习模型。
[0218] 所述信息生成子模块9220,用于通过所述强化学习模型生成所述目标虚拟对象的动作信息,所述动作信息用于表征所述目标虚拟对象执行的动作。
[0219] 所述动作生成子模块9230,用于根据所述动作信息和所述环境信息,生成所述目标虚拟对象的动作序列。
[0220] 在示例性实施例中,如图10所示,所述强化学习模型包括策略网络,所述信息生成子模块9220,用于通过所述策略网络根据所述目标虚拟对象在第i个时间戳的状态信息,生成所述目标虚拟对象在第i+1个时间戳的动作信息,所述i为正整数。其中,所述状态信息用于表征所述目标虚拟对象的物理状态。
[0221] 在示例性实施例中,所述状态信息包括相位参数、姿态参数和速度参数。
[0222] 其中,所述相位参数用于表征所述目标虚拟对象的动作进度,所述姿态参数用于表征所述目标虚拟对象的姿势形态,所述速度参数用于表征所述目标虚拟对象的速度状态。
[0223] 在示例性实施例中,所述动作信息包括:所述目标虚拟对象各个关节的速度;或者,所述目标虚拟对象各个关节的位置。
[0224] 在示例性实施例中,如图10所示,所述强化学习模型还包括评判网络;所述模型训练子模块9210,用于:
[0225] 通过评判网络根据所述目标虚拟对象在第一时间戳的状态信息,计算相应的回报值;
[0226] 根据所述回报值调整所述策略网络的参数;
[0227] 通过所述策略网络根据所述目标虚拟对象在所述第一时间戳的状态信息,生成所述目标虚拟对象在第二时间戳的动作信息,所述第二时间戳在所述第一时间戳之后;
[0228] 根据所述目标虚拟对象在所述第二时间戳的动作信息,控制所述目标虚拟对象和所述虚拟环境交互,确定所述目标虚拟对象在所述第二时间戳的状态信息;
[0229] 根据所述目标虚拟对象在所述第二时间戳的状态信息,以及所述参考虚拟对象在所述第二时间戳的状态信息,计算奖励值;
[0230] 根据所述奖励值调整所述评判网络的参数。
[0231] 在示例性实施例中,所述奖励值包括以下至少一项:
[0232] 姿态相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的姿态的相似程度;
[0233] 速度相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的速度的相似程度;
[0234] 骨架末端位置相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的骨架末端位置的相似程度;
[0235] 重心位置相似度的奖励值,用于表征所述目标虚拟对象与所述参考虚拟对象的重心位置的相似程度。
[0236] 在示例性实施例中,如图10所示,所述动作生成子模块9230,包括:力矩计算单元9231、运动控制单元9232和动作生成单元9233。
[0237] 所述力矩计算单元9231,用于根据所述目标虚拟对象在第i个时间戳的状态信息,以及所述目标虚拟对象在第i+1个时间戳的动作信息,计算所述目标虚拟对象各个关节对应的力矩;
[0238] 所述运动控制单元9232,用于根据所述目标虚拟对象各个关节对应的力矩,控制所述目标虚拟对象在所述环境信息对应的所述虚拟环境中运动,生成所述目标虚拟对象从所述第i个时间戳到所述第i+1个时间戳的动作;
[0239] 所述动作生成单元9233,用于根据所述目标虚拟对象在各个所述时间戳之间的动作,得到所述目标虚拟对象的动作序列。
[0240] 在示例性实施例中,如图10所示,所述动画生成模块930,用于:
[0241] 根据所述目标虚拟对象的动作序列,得到所述目标虚拟对象的动画帧;
[0242] 基于各个所述动画帧生成所述目标虚拟对象的动作动画。
[0243] 在示例性实施例中,所述目标虚拟对象和所述参考虚拟对象是两个骨架相同或相近的虚拟对象。
[0244] 本申请实施例提供了一种虚拟对象的动画显示装置,该装置具有实现上述虚拟对象的动画显示方法的示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的终端,也可以设置在终端中。所述装置包括:界面显示模块、场景显示模块和动画显示模块。
[0245] 所述界面显示模块,用于显示用户界面;
[0246] 所述场景显示模块,用于在所述用户界面中显示虚拟场景,以及位于所述虚拟场景中的目标虚拟对象;
[0247] 所述动画显示模块,用于显示所述目标虚拟对象的动作动画,所述目标虚拟对象的动作动画根据参考虚拟对象的参考动作和所述目标虚拟对象对应的环境信息生成,其中,所述环境信息用于表征所述目标虚拟对象所处的虚拟环境。
[0248] 需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0249] 请参考图11,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备用于实施上述实施例中提供的虚拟对象的动画生成方法。具体来讲:
[0250] 所述计算机设备1100包括CPU(Central Processing Unit,中央处理单元)1101、包括RAM(Random Access Memory,随机存取存储器)1102和ROM(Read-Only Memory,只读存储器)1103的系统存储器1104,以及连接系统存储器1104和中央处理单元1101的系统总线1105。所述计算机设备1100还包括帮助计算机内的各个器件之间传输信息的基本I/O(Input/Output,输入/输出)系统1106,和用于存储操作系统1113、应用程序1114和其他程序模块1112的大容量存储设备1107。
[0251] 所述基本输入/输出系统1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标键盘之类的输入设备1109。其中所述显示器1108和输入设备1109都通过连接到系统总线1105的输入输出控制器1110连接到中央处理单元1101。所述基本输入/输出系统1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。
[0252] 所述大容量存储设备1107通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。所述大容量存储设备1107及其相关联的计算机可读介质为计算机设备1100提供非易失性存储。也就是说,所述大容量存储设备1107可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
[0253] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1107可以统称为存储器。
[0254] 根据本申请的各种实施例,所述计算机设备1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1100可以通过连接在所述系统总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。
[0255] 请参考图12,其示出了本申请一个实施例提供的终端的结构框图。该终端1200可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC等电子设备。该终端用于实施上述实施例中提供的虚拟对象的动画生成方法或虚拟对象的动画显示方法。具体来讲:
[0256] 通常,终端1200包括有:处理器1201和存储器1202。
[0257] 处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、PLA(ProgrammableLogic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0258] 存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储计算机程序,且经配置以由一个或者一个以上处理器执行,以实现上述虚拟对象的动画生成方法或虚拟对象的动画显示方法。
[0259] 在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。
[0260] 本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0261] 在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被计算机设备的处理器执行时以实现上述虚拟对象的动画生成方法。
[0262] 在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被终端的处理器执行时以实现上述虚拟对象的动画显示方法。
[0263] 在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述虚拟对象的动画生成方法。
[0264] 在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述虚拟对象的动画显示方法。
[0265] 应当理解的是,在本文中提及的“多个”是指两个或两个以上。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
[0266] 以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈