CN115797513A - 一种动画处理方法、装置、设备、存储介质及程序产品 - Google Patents
一种动画处理方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115797513A CN115797513A CN202310049151.5A CN202310049151A CN115797513A CN 115797513 A CN115797513 A CN 115797513A CN 202310049151 A CN202310049151 A CN 202310049151A CN 115797513 A CN115797513 A CN 115797513A
- Authority
- CN
- China
- Prior art keywords
- animation
- current position
- moved
- parameter
- logic
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 230000033001 locomotion Effects 0.000 claims abstract description 214
- 230000014509 gene expression Effects 0.000 claims abstract description 140
- 238000012545 processing Methods 0.000 claims abstract description 111
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000009877 rendering Methods 0.000 claims abstract description 22
- 230000009471 action Effects 0.000 claims abstract description 10
- 230000003044 adaptive effect Effects 0.000 claims abstract description 6
- 238000005070 sampling Methods 0.000 claims description 81
- 230000000875 corresponding effect Effects 0.000 claims description 70
- 238000012937 correction Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002596 correlated effect Effects 0.000 claims description 19
- 230000001276 controlling effect Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 9
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000001133 acceleration Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 210000001981 hip bone Anatomy 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 210000000610 foot bone Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种动画处理方法、装置、设备、存储介质及程序产品;应用于云技术、人工智能、游戏和车载等各种动画处理场景;该动画处理方法包括:确定与待移动指令匹配的待移动参数,待移动指令用于控制虚拟对象的移动;基于待移动参数驱动逻辑体移动,逻辑体用于执行虚拟对象对应的逻辑处理;在基于待移动参数驱动逻辑体移动的过程中,基于待移动参数预测表现体的第一预测轨迹,表现体用于呈现虚拟对象;从预设动画库中选择与第一预测轨迹适配的目标动画,预设动画库中包括各种移动动作对应的动画;基于目标动画驱动表现体移动;基于逻辑体的移动和表现体的移动,渲染虚拟对象在虚拟场景的移动动画。通过本申请,能够提升移动动画的渲染质量。
Description
技术领域
本申请涉及计算机应用领域中的动画处理技术,尤其涉及一种动画处理方法、装置、设备、存储介质及程序产品。
背景技术
虚拟对象在虚拟场景的移动动画,是通过逻辑体的移动和表现体的移动共同渲染出的;一般来说,为了实现移动动画的渲染,可以采用程序驱动方式;也就是说,基于接收到的待移动指令确定逻辑体的移动参数以驱动逻辑体移动,并在位置上绑定逻辑体和表现体,以及基于确定出的移动参数选择动画,以结合所确定出的移动参数和选择的动画驱动表现体移动;如此,当选择的动画的移动参数与基于待移动指令确定的移动参数之间存在偏差时,将会导致表现体出现滑步,因此,影响了移动动画的渲染质量。
发明内容
本申请实施例提供一种动画处理方法、装置、设备、存储介质及程序产品,能够降低滑步的出现概率,提升移动动画的渲染质量。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种动画处理方法,所述方法包括:
基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数,其中,所述待移动指令用于控制虚拟对象的移动;
基于所述待移动参数,驱动逻辑体移动,其中,所述逻辑体用于执行所述虚拟对象对应的逻辑处理;
在基于所述待移动参数驱动所述逻辑体移动的过程中,基于所述待移动参数,预测表现体的第一预测轨迹,其中,所述表现体用于呈现所述虚拟对象;
从预设动画库中,选择与所述第一预测轨迹适配的目标动画,其中,所述预设动画库中包括各种移动动作对应的动画;
基于所述目标动画,驱动所述表现体移动;
基于所述逻辑体的移动和所述表现体的移动,渲染所述虚拟对象在虚拟场景的移动动画。
本申请实施例提供一种动画处理装置,所述动画处理装置包括:
参数确定模块,用于基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数,其中,所述待移动指令用于控制虚拟对象的移动;
移动驱动模块,用于基于所述待移动参数,驱动逻辑体移动,其中,所述逻辑体用于执行所述虚拟对象对应的逻辑处理;
轨迹预测模块,用于在基于所述待移动参数驱动所述逻辑体移动的过程中,基于所述待移动参数,预测表现体的第一预测轨迹,其中,所述表现体用于呈现所述虚拟对象;
动画选择模块,用于从预设动画库中,选择与所述第一预测轨迹适配的目标动画,其中,所述预设动画库中包括各种移动动作对应的动画;
所述移动驱动模块,还用于基于所述目标动画,驱动所述表现体移动;
动画渲染模块,用于基于所述逻辑体的移动和所述表现体的移动,渲染所述虚拟对象在虚拟场景的移动动画。
在本申请实施例中,所述轨迹预测模块,还用于获取第一当前位置与第二当前位置之间的当前位置偏差,其中,所述第一当前位置为所述表现体当前所处的位置,所述第二当前位置为所述逻辑体当前所处的位置;结合所述待移动参数和所述第二当前位置,预测所述逻辑体的第二预测轨迹;结合所述当前位置偏差和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹。
在本申请实施例中,所述轨迹预测模块,还用于结合所述待移动参数、预设预测时长、以及第一当前速度,预测所述逻辑体的预测轨迹段,其中,所述第一当前速度为所述逻辑体当前的移动速度;叠加所述第二当前位置与所述预测轨迹段,得到所述逻辑体的所述第二预测轨迹。
在本申请实施例中,所述轨迹预测模块,还用于对所述预设预测时长进行第一采样,得到第一采样时刻序列;针对所述第一采样时刻序列中的每个第一采样时刻,执行以下处理:结合所述待移动参数、以及所述第一当前速度,预测所述第一采样时刻的第一预测位置,得到与所述第一采样时刻序列对应的第一预测位置序列;基于所述第一预测位置序列,确定所述逻辑体的所述预测轨迹段。
在本申请实施例中,所述轨迹预测模块,还用于对预设预测时长进行第二采样,得到第二采样时刻序列;从所述第二预测轨迹上,确定与所述第二采样时刻序列中的每个第二采样时刻对应的采样位置,得到与所述第二采样时刻序列对应的采样位置序列;获取与所述第二采样时刻序列对应的第一权重序列,其中,所述第一权重序列中的所述第一权重在时间顺序上依次递减;针对所述第一权重序列中的每个第一权重,执行以下处理:将所述第一权重与所述当前位置偏差融合为待结合距离,得到与所述第一权重序列对应的待结合距离序列;将所述待结合距离序列与所述采样位置序列一一对应融合,得到第二预测位置序列;基于所述第二预测位置序列和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹。
在本申请实施例中,所述轨迹预测模块,还用于结合所述待移动参数和所述第一当前位置,预测所述表现体的初始预测轨迹;结合第二权重序列、所述当前位置偏差和所述初始预测轨迹,获取用于减少所述当前位置偏差的所述第一预测轨迹,其中,所述第二权重序列中的所述第二权重在时间顺序上依次递增。
在本申请实施例中,所述移动驱动模块,还用于获取所述目标动画的动画轨迹与所述第一预测轨迹之间的轨迹偏差;在所述轨迹偏差大于第二偏差阈值时,获取与所述目标动画的动画移动速度正相关的修正速度;将所述动画移动速度与所述修正速度的叠加速度,确定为所述表现体的目标移动速度;结合所述目标移动速度和所述目标动画,驱动所述表现体移动。
在本申请实施例中,所述移动驱动模块,还用于确定与所述目标动画的所述动画移动速度正相关的修正权重,并获取与所述修正权重、所述动画移动速度、以及当前位置偏差均正相关的所述修正速度;或者,确定与预设修正权重、所述动画移动速度、以及所述当前位置偏差均正相关的所述修正速度。
在本申请实施例中,所述移动驱动模块,还用于在所述轨迹偏差小于或等于所述第二偏差阈值时,结合所述动画移动速度和所述目标动画,驱动所述表现体移动。
在本申请实施例中,所述动画处理装置还包括位置同步驱动模块,用于接收服务端设备发送的位置同步指令,其中,所述位置同步指令包括第二当前位置;响应于所述位置同步指令,控制所述逻辑体移至所述第二当前位置处。
在本申请实施例中,所述轨迹预测模块,还用于在所述当前位置偏差小于或等于第一偏差阈值时,结合所述待移动参数、所述第一当前位置、以及第二当前速度,预测所述表现体的所述第一预测轨迹,其中,所述第二当前速度为所述表现体当前的移动速度。
在本申请实施例中,所述轨迹预测模块,还用于在所述当前位置偏差大于所述第一偏差阈值时,结合所述待移动参数和所述第二当前位置,预测所述逻辑体的所述第二预测轨迹。
本申请实施例提供一种用于动画处理的电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的动画处理方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,所述计算机可执行指令或者计算机程序用于被处理器执行时,实现本申请实施例提供的动画处理方法。
本申请实施例提供一种计算机程序产品,包括计算机可执行指令或者计算机程序,所述计算机可执行指令或者计算机程序被处理器执行时,实现本申请实施例提供的动画处理方法。
本申请实施例至少具有以下有益效果:当渲染虚拟对象在虚拟场景的移动动画时,由于逻辑体的移动是基于待移动指令所确定的待移动参数驱动的,表现体的移动是基于所选择的目标动画驱动的,实现了逻辑体与表现体在移动信息上的分离,使得表现体移动的移动信息依赖于目标动画的移动信息,从而,降低了表现体移动的移动信息与目标动画的移动信息存在偏差的概率,也就能够降低滑步的出现概率,提升移动动画的渲染质量。
附图说明
图1是一种示例性的程序驱动方式的示意图;
图2是一种示例性的位置同步示意图;
图3是另一种示例性的位置同步示意图;
图4是一种示例性的动画驱动方式的示意图;
图5是一种示例性的混合驱动方式的示意图;
图6是本申请实施例提供的示例性的动画处理系统的架构示意图;
图7是本申请实施例提供的一种示例性的图6中的终端的结构示意图;
图8是本申请实施例提供的动画处理方法的流程示意图一;
图9是本申请实施例提供的动画处理方法的流程示意图二;
图10是本申请实施例提供的一种示例性的确定第一预测轨迹的示意图;
图11是本申请实施例提供的动画处理方法的流程示意图三;
图12是本申请实施例提供的一种示例性的位置确定示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
2)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析和算法复杂度理论等多门学科。用于研究计算机模拟或实现人类的学习行为,以获取新的知识或技能;重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,机器学习应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习和归纳学习等技术。
3)人工神经网络,是一种模仿生物神经网络结构和功能的数学模型,示例性的结构包括图卷积网络(Graph Convolutional Network,GCN,一种用于处理图结构的数据的神经网络)、深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(ConvolutionalNeural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)、神经状态机(Neural State Machine,NSM)和相位函数神经网络(Phase-Functioned Neural Network,PFNN)等。本申请实施例中,可以通过人工神经网络对应的模型实现第一预测轨迹和第二预测轨迹的预测等。
4)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
5)虚拟场景,可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户或智能控制逻辑可以控制虚拟对象在该虚拟场景中进行移动。
6)虚拟对象,虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的其他可移动对象。其中,该可移动对象可以是虚拟人物、虚拟动物、动漫人物、以及虚拟道具等,例如在虚拟场景中显示的人物和动物等;该虚拟对象还可以是虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
7)客户端,设备中运行的用于提供各种服务的应用程序,例如游戏客户端,仿真客户端,视频客户端,等等。
8)云计算(Cloud Computing),是一种计算模式,通过将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务;其中,为资源池提供资源的网络被称为“云”,“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。本申请实施例提供的动画处理方法,可以是采用云计算实现的。
9)云游戏(Cloud Gaming),又可称为游戏点播(Gaming on Demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使得图形处理与数据运算能力低于指定能力的轻端设备(Thin Client)能够流畅地运行游戏。在云游戏场景下,游戏并不在玩家游戏终端运行,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为音视频流,以通过网络传输给玩家游戏终端。玩家游戏终端的图形运算与数据处理能力低于指定能力,也能通过基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力来运行游戏。本申请实施例提供的动画处理方法,可以应用于云游戏场景中。
10)逻辑对象,又称为逻辑体,是指逻辑上的虚拟对象,因此是不可见的虚拟对象,表示虚拟对象在电子设备(比如,客户端设备,服务器等)上真实的逻辑位置。
11)表现对象,又称为表现体,是指呈现的虚拟对象。一个虚拟对象包括一个用于与物理世界交互的碰撞体、以及所挂载的美术模型,其中,用于与物理世界交互的碰撞体即为逻辑体,所挂载的美术模型即为表现体。表现体的位置时刻靠近于逻辑体的位置,如此,比如在游戏应用中,能够确保虚拟角色在各端设备(包括各个客户端设备和服务端设备)的一致性,从而确保玩家体验和游戏逻辑的一致性。
12)滑步,是指表现体的移动信息与播放的动画的移动信息不匹配的现象;比如,滑步可以是由逻辑体的位置未被修正时动画的移动信息与表现体的移动信息不匹配而引起的,也可以是由逻辑体的位置被修正时动画的移动信息与表现体的移动信息不匹配而引起的。
需要说明的是,虚拟对象的移动是通过逻辑体和表现体的共同作用实现的。其中,表现体用于展示虚拟对象模型和播放虚拟对象动画,每一动画帧中均包括移动信息,这里称为根运动(Root Motion);比如,根运动可以是臀部骨骼在移动地面上的投影信息,还可以是臀部骨骼在移动地面上的投影的平滑或微调结果;其中,平滑或微调用于解决由投影平滑度较低(小于第一平滑度)导致的移动平滑度较低(小于第二平滑度)的问题,提升移动的平滑性;另外,平滑或微调可示例性地采用滑动窗口实现,比如,对之前三帧动画帧、当前一帧动画帧和未来三帧动画帧分别对应的投影信息进行求平均,并将求平均的位置确定为当前动画帧的平滑或微调结果。
一般来说,虚拟对象的移动可通过三种方式驱动:动画驱动方式、程序驱动方式和混合驱动方式。
在程序驱动方式中,预先设置了各项移动参数(比如,加速度,最大速度,旋转速度,摩擦力等),逻辑体的移动是由移动参数驱动的,且表现体与逻辑体在位置上是完全绑定的。引擎(比如,游戏引擎)在运行时,响应于针对虚拟对象的待移动指令(比如,玩家的控制器中的输入操作,非玩家角色(Non-Player Character,NPC)的移动导航命令等),通过物理模拟算法,逐帧计算逻辑体的位置变化,从而也获得了表现体的位置变化;接着,基于逻辑体在每帧的位置变化,确定逻辑体当前的移动速度、以及移动方向等移动状态,进而基于移动状态选择匹配的动画片段,并通过表现体播放所选择的动画片段。参见图1,图1是一种示例性的程序驱动方式的示意图;如图1所示,在程序驱动方式中,响应于移动指令1-1确定移动参数1-2,基于移动参数1-2驱动逻辑体1-3移动,以确定逻辑体1-3在每帧的位置变化;由于此时表现体1-4和逻辑体1-3在位置上是绑定的,从而表现体1-4和逻辑体1-3的移动信息一致,逻辑体1-3在每帧的位置变化即为表现体1-4在每帧的位置变化。
需要说明的是,在程序驱动方式中,基于接收到的待移动指令确定移动参数以驱动逻辑体移动,并在位置上绑定逻辑体和表现体,以及基于确定出的移动参数选择动画,以结合所确定出的移动参数和选择的动画驱动表现体移动;如此,当选择的动画的移动参数与基于待移动指令确定的移动参数之间存在偏差时,将会导致表现体出现滑步。并且,针对动作捕捉的动画,由于动作捕捉的动画是通过捕捉动捕演员的移动数据获得的,移动参数(加速度、最大速度、转身速度等)是设计师按照自己的期望预设的,一方面,动捕演员的移动动作无法与移动参数完全一致,另一方面移动参数也存在修改的可能性;因此,动画的移动参数和待移动指令对应的移动参数常常存在偏差,提升了滑步的出现概率。
还需要说明的是,在程序驱动方式的过程中,针对由动画的移动参数和待移动指令对应的移动参数不匹配引起的滑步,可以是客户端设备上的逻辑体的位置被服务器上的逻辑体的位置进行了修正触发的;此时,针对人工控制的虚拟对象(比如,玩家控制的虚拟角色)和自动控制的虚拟对象(比如,非玩家控制的虚拟角色),分别采用不同的修正方式,以实现客户端设备上的逻辑体的位置与服务器上的逻辑体的位置的位置同步。
针对自动控制的虚拟对象,示例性地,参见图2,图2是一种示例性的位置同步示意图;如图2所示,针对非玩家控制的虚拟角色,当客户端设备的逻辑体2-1和服务器的逻辑体在位置上出现偏差时,在开始矫正(即为位置同步)时,将客户端的逻辑体2-1和表现体2-2进行位置分离,将客户端的逻辑体2-1从原始状态处的位置2-41移至服务器的逻辑体所在位置2-42处,而表现体2-2处于原先的位置2-41;接着,针对表现体2-2,采用线性插值的方式以使未来的一段时间内平滑移动到客户端的逻辑体2-1所在的位置2-42处,结束矫正,从而降低表现体的位置跳变概率。然而,此时,动画的移动速度为逻辑体的移动速度,而客户端的逻辑体的移动速度为移动参数对应的速度,表现体的移动速度为移动参数对应的速度和修正速度,从而,动画的移动速度与表现体的移动速度不匹配,存在滑步问题。
针对人工控制的虚拟对象,示例性地,参见图3,图3是另一种示例性的位置同步示意图;如图3所示,针对玩家控制的虚拟角色,在客户端设备的逻辑体3-1和服务器的逻辑体在位置上出现偏差时,在开始矫正时,将客户端设备的逻辑体3-1和表现体3-2从原始状态处的位置3-31,直接移至服务器的逻辑体所在位置3-32,如此,将导致表现体3-2出现位置跳变,存在滑步问题。
在动画驱动方式中,根据虚拟对象的移动指令,选择对应的动画来进行播放,并且,逻辑体与表现体存在位置绑定,从而逻辑体的移动参数和表现体的移动参数均与所选动画的移动参数对应。参见图4,图4是一种示例性的动画驱动方式的示意图;如图4所示,在动画驱动方式中,响应于移动指令4-1确定移动参数4-2,基于移动参数4-2选择动画,基于选择的动画根运动4-3驱动表现体4-4移动;由于在动画驱动方式中,逻辑体4-5和表现体4-4在位置上是绑定的,故基于动画驱动逻辑体4-5的移动。
需要说明的是,在动画驱动方式中,逻辑体和表现体在位置上是绑定的,比如在单机游戏中虽然不会出现滑步;而在位置同步的情况下(比如,联网游戏),当基于服务器逻辑体的位置对客户端设备逻辑体的位置进行矫正时,采用的拉近表现体和逻辑体位置的方式与代码驱动方式中的方式类似,本申请实施例在此不再重复描述。另外,在动画驱动方式中,由于动画的运行逻辑在各个设备(包括至少一个客户端设备和服务器)上不一致,因此在动画互相混合的情况下,混合结果在各个设备上存在偏差,导致各个设备上的逻辑体的移动也存在偏差,提升了位置同步的频率,也就提升了滑步的出现频率。
在混合驱动方式中,逻辑体的移动由移动参数和动画的根运动混合驱动,如公式(1)所示。
在混合驱动方式中,表现体的移动由动画的根运动驱动,如公式(2)所示。
参见图5,图5是一种示例性的混合驱动方式的示意图;如图5所示,在混合驱动方式中,基于选择的动画根运动5-1驱动表现体5-2移动;结合动画根运动5-1以及移动指令对应的移动参数5-3驱动逻辑体5-4的移动;并在表现体5-2和逻辑体5-4的移动过程中,将表现体5-2平滑修正到逻辑体5-4的位置。
需要说明的是,当结合移动指令对应的移动参数和动画的根运动驱动逻辑体移动,并触发了动画混合时,逻辑体在客户端设备和服务器上的位置存在偏差的概率较高,提升了位置纠正的频率。另外,在动画匹配的过程中,通常基于指定间隔时长(比如为0.1秒)进行动画的选择,而为了避免骨骼姿势在相邻两动画中产生跳变,因此常常进行动画姿势和根运动的混合,又因为动画混合的时长(比如为0.3秒)高于选择动画的指定间隔时长,如此每个时刻至少两个动画在进行混合。而处于动画混合状态时,提升了位置同步的概率,也就提升了滑步的出现频率。
另外,在混合驱动方式中,服务器侧逻辑体的移动基于动画驱动,而动画的选择是通过运行动画系统实现的,动画系统的运行增加了资源效率,影响了移动动画的处理效率。
基于此,本申请实施例提供一种动画处理方法、装置、设备、计算机可读存储介质及计算机程序产品,能够降低滑步出现概率和资源消耗,提升移动动画的渲染质量和效率。下面说明本申请实施例提供的用于动画处理的电子设备(以下简称为动画处理设备)的示例性应用,本申请实施例提供的动画处理设备可以实施为智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能家电、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、智能语音交互设备、便携式游戏设备和智能音箱等各种类型的终端,也可以实施为服务器。下面,将说明动画处理设备实施为终端时的示例性应用。
参见图6,图6是本申请实施例提供的示例性的动画处理系统的架构示意图;如图6所示,为支撑一个动画处理应用,在动画处理系统100中,终端400(示例性示出了终端400-1和终端400-2,称为动画处理设备)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。另外,该动画处理系统100中还包括数据库500,用于向服务器200提供数据支持;并且,图6中示出的为数据库500独立于服务器200的一种情况,此外,数据库500还可以集成在服务器200中,本申请实施例对此不作限定。
终端400,用于基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数,其中,待移动指令用于控制虚拟对象的移动;响应于位置同步指令,控制逻辑体移至第二当前位置处,基于待移动参数,从第二当前位置开始驱动逻辑体移动,其中,逻辑体用于执行虚拟对象对应的逻辑处理;在基于待移动参数驱动逻辑体移动的过程中,基于待移动参数,预测表现体的第一预测轨迹,其中,表现体用于呈现虚拟对象;从预设动画库中,选择与第一预测轨迹适配的目标动画,其中,预设动画库中包括各种移动动作对应的动画;基于目标动画,驱动表现体移动;基于逻辑体的移动和表现体的移动,渲染虚拟对象在虚拟场景的移动动画(示例性示出了图形界面410-1和图形界面410-2)。
服务器200,用于通过网络300向终端400发送位置同步指令,其中,位置同步指令包括第二当前位置。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备和智能音箱等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不作限制。
参见图7,图7是本申请实施例提供的一种示例性的图6中的终端的结构示意图;如图7所示,终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(Universal Serial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的动画处理装置可以采用软件方式实现,图7示出了存储在存储器450中的动画处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:参数确定模块4551、移动驱动模块4552、轨迹预测模块4553、动画选择模块4554、动画渲染模块4555和同步驱动模块4556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本申请实施例提供的动画处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的动画处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的动画处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的动画处理方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APPlication,APP),即需要在操作系统中安装才能运行的程序,如直播APP或者游戏APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面,将结合本申请实施例提供的动画处理设备的示例性应用和实施,说明本申请实施例提供的动画处理方法。另外,本申请实施例提供的动画处理方法应用于云技术、人工智能、智慧交通、游戏和车载等各种动画处理场景。
参见图8,图8是本申请实施例提供的动画处理方法的流程示意图一;下面将结合图8示出的步骤进行说明,图8中各步骤的执行主体是动画处理设备。
步骤101、基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数。
在本申请实施例中,动画处理设备上呈现有待在虚拟场景中移动的虚拟对象,当通过用户操作、测试用例、智能控制指令、移动触发事件、以及接收到移动请求等中的至少一种控制虚拟对象移动时,动画处理设备也就接收到了待移动指令,该待移动指令用于控制虚拟对象的移动。另外,动画处理设备中设置有移动指令与移动参数的对应关系,或者动画处理设备能够从其他设备(比如,数据库等存储设备)中获得移动指令与移动参数的对应关系,该移动指令与移动参数的对应关系描述了所有移动指令与所有移动参数之间的对应关系;从而,动画处理设备在移动指令与移动参数的对应关系中,查找与待移动指令匹配的移动指令,并将查找到的匹配的移动指令所对应的移动参数,确定为与待移动指令匹配的待移动参数。
需要说明的是,移动指令与移动参数的对应关系是在接收到待移动指令之前预设的;其中,移动指令是指各种用于控制虚拟对象移动的指令,比如,触发左移的指令,触发停止移动的指令,触发减速的指令,等等;移动参数是指用于驱动虚拟对象移动的移动数据,比如,1米/秒的加速度,45度移动方向,摩擦力,旋转速度,等等,即为上述程序驱动方式中所描述的各项移动参数。这里,待移动参数包括待移动加速度、待移动方向、待移动动态摩擦力、待减速摩擦力、待移动旋转速度、待移动速度、以及最大待移动速度中的至少一种。
步骤102A、基于待移动参数,驱动逻辑体移动。
在本申请实施例中,动画处理设备获得了待移动参数之后,由于待移动参数为移动参数,用于驱动虚拟对象的移动;又由于本申请实施例中,虚拟对象的逻辑体是基于移动参数驱动的,因此,动画处理设备基于待移动参数来驱动逻辑体的移动,以执行碰撞检测等各种逻辑处理。
需要说明的是,虚拟对象包括逻辑体,该逻辑体用于执行虚拟对象对应的逻辑处理,比如,移动状态的确定,状态值的确定,所处虚拟场景的确定,是否被虚拟击中,等等。
还需要说明的是,在基于待移动参数驱动逻辑体移动的过程中,动画处理设备还用于执行步骤102B1至步骤102B3,下面对各步骤分别进行说明。
步骤102B1、基于待移动参数,预测表现体的第一预测轨迹。
在本申请实施例中,动画处理设备获得了待移动参数之后,由于待移动参数为移动参数,用于驱动虚拟对象的移动;又由于本申请实施例中,虚拟对象的表现体在位置上趋于虚拟对象的逻辑体,因此,动画处理设备基于待移动参数对表现体的移动轨迹进行预测,并将预测出的表现体的移动轨迹确定为第一预测轨迹,以基于第一预测轨迹驱动表现体的移动。
需要说明的是,虚拟对象包括表现体,该表现体用于呈现虚拟角色;比如,屏幕中呈现的虚拟角色等。第一预测轨迹为预设预测时长内表现体的待移动轨迹,是指表现体未来的移动轨迹;其中,预设预测时长为预设的待预测时长,比如,1秒,0.5秒。
步骤102B2、从预设动画库中,选择与第一预测轨迹适配的目标动画。
在本申请实施例中,动画处理设备中设置有预设动画库,或者动画处理设备能够从其他设备中获得预设动画库,该预设动画库中包括各种移动动作对应的动画;另外,预设动画库中的每段动画中的每帧动画均包括用于确定轨迹的根运动,比如为臀部骨骼在移动平面上的投影位置;从而,动画处理设备获得了第一预测轨迹之后,基于根运动从预设动画库中选择与第一预测轨迹最匹配的至少一段动画,并将选择出的与第一预测轨迹最匹配的至少一段动画,确定为与第一预测轨迹适配的目标动画;这里,目标动画包括至少一段动画。
步骤102B3、基于目标动画,驱动表现体移动。
在本申请实施例中,动画处理设备选择出了目标动画之后,播放该目标动画,以驱动表现体移动,从而实现虚拟对象的移动的呈现。
需要说明的是,表现体移动的驱动是基于目标动画的移动信息实现的,即使基于目标动画驱动表现体移动的过程中包括动画混合,仍然与逻辑体的移动信息是独立的,无关的,从而,能够降低逻辑体的位置同步频率。其中,动画混合是指同时播放多个动画的处理,比如,当前动画的淡出,下一动画的淡入等。
还需要说明的是,步骤102A是在步骤102B1至步骤102B3的执行过程中执行的,或者说步骤102B1至步骤102B3是在步骤102A的执行过程中执行的。
步骤103、基于逻辑体的移动和表现体的移动,渲染虚拟对象在虚拟场景的移动动画。
需要说明的是,动画处理设备通过逻辑体的移动实现虚拟对象移动过程中的逻辑处理,并通过表现体移动实现虚拟对象移动的呈现,从而,通过逻辑体的移动和表现体的移动,能够渲染出虚拟对象在虚拟场景的移动动画;该移动动画表征了虚拟对象在虚拟场景中结合逻辑处理的移动过程。
可以理解的是,当渲染虚拟对象在虚拟场景的移动动画时,由于逻辑体的移动是基于待移动指令所确定的待移动参数驱动的,表现体的移动是基于所选择的目标动画驱动的,实现了逻辑体与表现体在移动信息上的分离,使得表现体移动的移动信息依赖于目标动画的移动信息,从而,降低了表现体移动的移动信息与目标动画的移动信息存在偏差的概率,也就能够降低滑步的出现概率,提升移动动画的逼真度。另外,由于逻辑体的移动是基于待移动参数驱动的,与动画是独立的,无关的,因此,能够降低因动画混合触发位置同步的频率,也就能够降低滑步的出现概率,提升移动动画的渲染质量。
参见图9,图9是本申请实施例提供的动画处理方法的流程示意图二;下面将结合图9示出的步骤进行说明,图9中各步骤的执行主体是动画处理设备。如图9所示,在本申请实施例中,步骤102B1可通过步骤102B11至步骤102B13实现;也就说说,动画处理设备基于待移动参数,预测表现体的第一预测轨迹,包括步骤102B11至步骤102B13,下面对各步骤分别进行说明。
步骤102B11、获取第一当前位置与第二当前位置之间的当前位置偏差。
需要说明的是,第一当前位置为表现体当前所处的位置,第二当前位置为逻辑体当前所处的位置;其中,当前是指接收到待移动指令的时刻。这里,动画处理设备获取第一当前位置与第二当前位置之间的位置偏差,也就获得了当前位置偏差;从而,该当前位置偏差表示表现体与逻辑体在当前的位置差异,可以是指距离,还可以是指表现体指向逻辑体的向量,又可以是逻辑体指向表现体的向量。
步骤102B12、结合待移动参数和第二当前位置,预测逻辑体的第二预测轨迹。
需要说明的是,由于待移动参数表明了虚拟对象的待移动信息,从而,动画处理设备结合待移动参数和第二当前位置,预测逻辑体的移动轨迹,并将预测出的逻辑体的移动轨迹确定为第二预测轨迹。其中,第二预测轨迹为预设预测时长内逻辑体的移动轨迹,是指逻辑体未来的移动轨迹。
步骤102B13、结合当前位置偏差和第一当前位置,预测靠近第二预测轨迹的第一预测轨迹。
在本申请实施例中,动画处理设备可以结合当前位置偏差和逻辑体的第二预测轨迹对表现体的待移动轨迹进行预测,以预测出能够逐渐减小当前位置偏差的表现体的待移动轨迹,从而也就能够预测出靠近第二预测轨迹的第一预测轨迹。此时,当前位置偏差是指逻辑体指向表现体的向量。
可以理解的是,动画处理设备基于逻辑体的第二预测轨迹预测第一预测轨迹,能够拉近逻辑体和表现体在位置上的差距,进而能够提升移动动画的渲染质量。
在本申请实施例中,图9的步骤102B12中,动画处理设备结合待移动参数和第二当前位置,预测逻辑体的第二预测轨迹,包括:动画处理设备结合待移动参数、预设预测时长、以及第一当前速度,预测逻辑体的预测轨迹段;并叠加第二当前位置与预测轨迹段,得到逻辑体的第二预测轨迹。其中,动画处理设备结合待移动参数、预设预测时长、以及第一当前速度,预测逻辑体的预测轨迹段,包括:动画处理设备对预设预测时长进行第一采样,得到第一采样时刻序列;针对第一采样时刻序列中的每个第一采样时刻,执行以下处理:结合待移动参数、以及第一当前速度,预测第一采样时刻的第一预测位置;如此,当预测出了所有第一采样时刻分别对应的第一预测位置,也就得到了与第一采样时刻序列对应的第一预测位置序列;最后,基于第一预测位置序列,确定逻辑体的预测轨迹段。
需要说明的是,第二当前速度为逻辑体当前的移动速度;预测轨迹段是指逻辑体的待移动轨迹段,从而,动画处理设备叠加第二当前位置与预测轨迹段,也就获得了逻辑体的第二预测轨迹;也就是说,从第二当前位置出发确定的待移动轨迹段,即为第二预测轨迹;因此,第二预测轨迹为表现体的相对于第二当前位置的待移动轨迹段。另外,第一采样时刻序列包括多个第一采样时刻,动画处理设备在预测每个第一采样时刻对应的第一预测位置时,比如当待移动参数包括待移动加速度和待移动方向时,动画处理设备可以基于物理路程的计算公式确定第一预测位置;这里,将获得的所有的第一预测位置按照第一采样时刻序列对应组合起来,也就获得了第一预测位置序列。另外,动画处理设备将连接第一预测位置序列中的各个第一预测位置的轨迹,确定为预测轨迹段。
还需要说明的是,第一采样可以是均匀采样,还可以是随机采样,又可以是采样时刻之间的间隔依次增大的采样,也可以是上述的结合,等等,本申请实施例对此不作限定。
在本申请实施例中,图9的步骤102B13中,动画处理设备结合当前位置偏差和第一当前位置,预测靠近第二预测轨迹的第一预测轨迹,包括:动画处理设备对预设预测时长进行第二采样,得到第二采样时刻序列;并从第二预测轨迹上,确定与第二采样时刻序列中的每个第二采样时刻对应的采样位置,得到与第二采样时刻序列对应的采样位置序列;以及针对与第二采样时刻序列对应的第一权重序列中的每个第一权重,执行以下处理:将第一权重与当前位置偏差融合为待结合距离,得到与第一权重序列对应的待结合距离序列,其中,第一权重序列中的第一权重在时间顺序(即为时间发生的先后顺序)上依次递减,当前位置偏差为逻辑体指向表现体的向量;再将待结合距离序列与采样位置序列一一对应融合,得到第二预测位置序列;最后,基于第二预测位置序列和第一当前位置,预测靠近第二预测轨迹的第一预测轨迹。
需要说明的是,第二采样可以是均匀采样,还可以是随机采样,又可以是采样时刻之间的间隔依次增大的采样,也可以是上述的结合,等等,本申请实施例对此不作限定。另外,第一采样和第二采样可以是相同的采样,也可以是不同的采样;当第一采样和第二采样是相同的采样时,第一采样时刻序列与第二采样时刻序列相同,第一预测位置即为采样位置。
示例性地,参见图10,图10是本申请实施例提供的一种示例性的确定第一预测轨迹的示意图;如图10所示,表现体10-11当前位于第一当前位置10-21,逻辑体10-12当前位于第二当前位置10-22,第一当前位置10-21和第二当前位置10-22之间位置差距为当前位置偏差10-3;示例性地示出的采样位置序列包括采样位置10-41、采样位置10-42和采样位置10-43,以及确定出的对应的包括第二预测位置10-51、第二预测位置10-52和第二预测位置10-53的第二预测位置序列。
在本申请实施例中,动画处理设备还可以通过以下方式获得第一预测轨迹:结合待移动参数和第一当前位置,预测表现体的初始预测轨迹;结合第二权重序列、当前位置偏差和初始预测轨迹,获取用于减少当前位置偏差的第一预测轨迹,其中,第二权重序列中的第二权重在时间顺序上依次递增。这里,动画处理设备结合第一权重序列、当前位置偏差和第二预测轨迹预测第一预测轨迹的过程,与结合第二权重序列、当前位置偏差和初始预测轨迹预测第一预测轨迹的过程类似,本申请实施例在此不再重复描述;另外,两个过程的不同之处在于前者采用第一权重序列,后者采用第二权重序列,以及前者中的当前位置偏差表示逻辑体指向表现体的向量,后者中的当前位置偏差表示表现体指向逻辑体的向量。
可以理解的是,动画处理设备结合第一权重序列、当前位置偏差和第二预测轨迹预测第一预测轨迹的方式,是先预测逻辑体的移动轨迹,再基于逻辑体的移动轨迹与当前位置偏差预测能够降低当前位置偏差的第一预测轨迹的方式;而动画处理设备结合第二权重序列、当前位置偏差和初始预测轨迹预测第一预测轨迹的方式,是先预测表现体的移动轨迹,再基于表现体的移动轨迹与当前位置偏差预测能够降低当前位置偏差第一预测轨迹的方式;是两种不同的预测第一预测轨迹的方式,因此,能够提升预测第一预测轨迹的多样性和灵活性。另外,基于预测出的逻辑体的移动轨迹来获得第一预测轨迹,能够提升逻辑体与表现体之间的位置一致性,进而能够提升移动动画的逼真度。
在本申请实施例中,动画处理设备又可以采用线性插值的方式确定第一预测轨迹;也就是说,动画处理设备获得了第二预测轨迹之后,将第二预测轨迹的结束位置与第一当前位置之间的轨迹确定为第一预测轨迹。
参见图11,图11是本申请实施例提供的动画处理方法的流程示意图三,图11中各步骤的执行主体是动画处理设备;如图11所示,在本申请实施例中,图8中的步骤102B3可通过步骤102B31、以及步骤102B32A1至步骤102B32A3实现;也就是说,动画处理设备基于目标动画,驱动表现体移动,包括步骤102B31、以及步骤102B32A1至步骤102B32A3,下面对各步骤分别进行说明。
步骤102B31、获取目标动画的动画轨迹与第一预测轨迹之间的轨迹偏差。
在本申请实施例中,动画处理设备将目标动画的动画轨迹与第一预测轨迹之间的轨迹差异,确定为轨迹偏差;该轨迹偏差表示目标动画的动画轨迹与第一预测轨迹之间的适配度,且该轨迹偏差与该适配度负相关。
步骤102B32A1、在轨迹偏差大于第二偏差阈值时,获取与目标动画的动画移动速度正相关的修正速度。
在本申请实施例中,动画处理设备中设置有第二偏差阈值,或者动画处理设备能够从其他设备中获得第二偏差阈值,该第二偏差阈值是指触发修正表现体速度的最小轨迹偏差;从而,动画处理设备获得了轨迹偏差之后,将该轨迹偏差与第二偏差阈值进行比较,在轨迹偏差大于第二偏差阈值时,表明轨迹偏差较大,故触发对表现体的速度修正,并获取与目标动画的动画移动速度正相关的修正速度。
需要说明的是,动画处理设备获取与目标动画的动画移动速度正相关的修正速度,包括:动画处理设备确定与目标动画的动画移动速度正相关的修正权重,并获取与修正权重、动画移动速度、以及当前位置偏差均正相关的修正速度;或者,动画处理设备确定与预设修正权重、动画移动速度、以及当前位置偏差均正相关的修正速度。也就是说,动画处理设备可以基于动态权重确定修正速度,也可以基于固定权重确定修正速度,还可以是上述的结合,等等,本申请实施例对此不作限定。另外,此时当前位置偏差是指由表现体指向逻辑体的向量。
步骤102B32A2、将动画移动速度与修正速度的叠加速度,确定为表现体的目标移动速度。
在本申请实施例中,动画处理设备在动画移动速度的基础上,再叠加上获得的修正速度,所获的叠加速度即为表现体在预设预测时长内的目标移动速度。
步骤102B32A3、结合目标移动速度和目标动画,驱动表现体移动。
在本申请实施例中,动画处理设备将目标移动速度作为表现体在预设预测时长内的移动速度,并播放目标动画以呈现表现体的动作姿势,从而完成表现体移动的驱动。
继续参见图11,步骤102B31之后还包括步骤102B32B;也就是说,动画处理设备获取目标动画的动画轨迹与第一预测轨迹之间的轨迹偏差之后,该动画处理方法还包括步骤102B32B,下面对该步骤进行说明。
步骤102B32B、在轨迹偏差小于或等于第二偏差阈值时,结合动画移动速度和目标动画,驱动表现体移动。
在本申请实施例中,动画处理设备将该轨迹偏差与第二偏差阈值进行比较,在轨迹偏差小于或等于第二偏差阈值时,表明轨迹偏差较小,故直接结合动画移动速度和目标动画驱动表现体移动。
可以理解的是,动画处理设备在选择出的目标动画的动画轨迹与第一预测轨迹之间的轨迹偏差较大时,通过修正表现体的移动速度降低表现体与逻辑体之间的位置差距,能够提升移动动画的渲染质量。另外,当动画处理设备基于动画移动速度确定修正速度时,由于修正速度与动画移动速度正相关,因此能够降低滑步的呈现的明显性,降低滑步表现,进而也能够提升移动动画的渲染质量。
在本申请实施例中,在图8中的步骤102A之前,还包括纠正逻辑体位置的过程;也就是说,动画处理设备基于待移动参数,驱动逻辑体移动之前,该动画处理方法还包括:动画处理设备接收服务端设备发送的位置同步指令,其中,位置同步指令包括第二当前位置;并响应于位置同步指令,控制逻辑体移至第二当前位置处。
需要说明的是,逻辑体所处的第二当前位置可以是指服务端设备进行位置同步时所纠正后的位置,还可以是指当前逻辑体自身移动至的位置,本申请实施例对此不作限定。另外,虚拟对象可以是人工控制的虚拟角色,还可以是自动控制的虚拟角色,又可以是两者的结合,等等,本申请实施例对此不作限定。
在本申请实施例中,图9中的步骤102B11之后还包括基于当前位置偏差确定第一预测轨迹的获取方式的过程;也就是说,动画处理设备获取第一当前位置与第二当前位置之间的当前位置偏差之后,该动画处理方法还包括:动画处理设备在当前位置偏差小于或等于第一偏差阈值时,结合待移动参数、第一当前位置、以及第二当前速度,预测表现体的第一预测轨迹,其中,第二当前速度为表现体当前的移动速度;这里,在当前位置偏差小于或等于第一偏差阈值时,上述的初始预测轨迹即为第一预测轨迹。另外,初始预测轨迹,或者当前位置偏差小于或等于第一偏差阈值情况下的第一预测轨迹,可通过第二预测轨迹叠加由逻辑体指向表现体的向量获得。
相应地,步骤102B12中动画处理设备结合待移动参数和第二当前位置,预测逻辑体的第二预测轨迹,包括:动画处理设备在当前位置偏差大于第一偏差阈值时,结合待移动参数和第二当前位置,预测逻辑体的第二预测轨迹。
需要说明的是,动画处理设备中设置有第一偏差阈值,或者动画处理设备能够从其他设备获得第一偏差阈值,该第一偏差阈值表示触发基于逻辑体的第二预测轨迹预测第一预测轨迹的最小距离;从而,当在当前位置偏差小于或等于第一偏差阈值时,所选择出的目标动画是一种追赶逻辑体的动画。此时,当前位置偏差为逻辑体与表现体之间的距离。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。该示例性应用描述了联网游戏中控制逻辑体与表现体移动以减少滑步的过程。
需要说明的是,本申请实施例在联网游戏中,将逻辑体和表现体分离,采用程序驱动方式驱动逻辑体移动,并采用动画驱动方式驱动表现体移动,如公式(3)所示。
这里,由于逻辑体的移动是由程序驱动的,因此,能够减少联网环境下的逻辑体位置的矫正(称为位置同步)频次;并且,服务器侧可以关闭动画系统,如此,能够降低虚拟角色移动的资源消耗;另外,通过动画驱动表现体移动,使得表现体的移动信息与动画的移动信息一致,能够减少移动动画的滑步。
需要说明的是,在采用程序驱动方式驱动逻辑体移动、以及采用动画驱动方式驱动表现体移动的情况下,为降低逻辑体和表现体之间的位置偏差,还可采用追赶方式的动画选择算法(比如,Motion Matching),以及基于速度的位置平滑算法。下面对追赶方式的动画选择算法和基于速度的位置平滑算法分别进行说明。
在本申请实施例中,追赶方式的动画选择算法,是指基于当前逻辑体和表现体之间存在的位置偏差,从包括各种动画动作的动画数据库(称为预设动画库)中,选择靠近逻辑体的未来移动轨迹(称为第二预测轨迹)的动画来驱动表现体移动的动画选择算法;通过追赶方式的动画选择算法,能够使得逻辑体的位置与距离偏差的累加位置,与动画所对应的位置相近,如公式(4)所示。
下面结合图12说明追赶方式的动画选择算法。
参见图12,图12是本申请实施例提供的一种示例性的位置确定示意图;如图12所示,在当前动画帧,逻辑体12-11位于位置12-21(称为第二当前位置)处,表现体12-12位于位置12-22(称为第一当前位置)处,位置12-21与位置12-22之间存在位置偏差12-3。当预测时长(称为预设预测时长)为1秒时,在1秒内确定三个采样点,分别是时刻(第0.33秒)、时刻(第0.66秒)和(第1秒)时刻(称为第一采样时刻序列)。此时,示例性地,三个采样点分别对应的预测位置、和(称为第一预测位置)依次如公式(5)至(7)所示。
其中,将转换为相对于位置12-21的位置,也就得到了时刻逻辑体12-11所处
的位置12-23(记为,称为采样位置);将转换为相对于位置12-21的位置,也就得到了时刻逻辑体12-11所处的位置12-24(记为,称为采样位置),将转换为相对于位置
12-21的位置,也就得到了时刻逻辑体12-11所处的位置12-25(记为,称为采样位置);
是基于待移动指令确定的移动加速度(称为待移动参数)。
其中,、和依次递减,且为采样点时刻对应的权重,为采样点时刻对应的权重,为采样点时刻对应的权重;表示时刻表现体12-12所处的位置12-26,表示时刻表现体12-12所处的位置12-27,表示时刻表现体12-12所处的位置12-28。
可以理解的是,如果当前逻辑体和表现体存在位置偏差,那么表现体的预测轨迹会从表现体的当前位置(即为位置12-22)开始偏向逻辑体的预测轨迹。从而,能够选择出追赶动画;比如,在虚拟角色向前移动时,若相对于逻辑体的位置,表现体的位置偏右了,则能够选择出向左前方移动的动画;而在虚拟角色向前移动时,若相对于逻辑体的位置,表现体的位置偏前了,则能够选择出向前方减速移动的动画;如此驱动表现体追赶逻辑体,可以在保持原有的运动方向的同时,减小两者的位置偏差,降低滑步出现概率。
在本申请实施例中,基于速度的位置平滑算法,是指所选择出的动画使得逻辑体与表现体之间仍存在位置偏差时,在所选择的动画中的移动信息表示移动状态的情况下,获取与动画移动速度正相关的目标移动速度,并将该目标移动速度作为表现体的移动速度。其中,目标移动速度的获取过程如公式(11)所示。
可以理解的是,动画帧的动画移动速度越快,位置偏差修正的速度越快,反之越慢。因此,当表现体处于停止状态时无位置偏差修正,而当表现体处于移动状态时进行位置偏差修正,此时由于表现体的移动是动态的,因此,能够降低滑步表现,提升移动动画的渲染质量。
还可以理解的是,在联网环境下,当服务器触发逻辑体的位置矫正时,将逻辑体的位置设置到服务器上逻辑体的位置处,并通过追赶能力的动画选择算法和基于速度的位置平滑算法,将表现体的位置修正到逻辑体的位置;如此,能够保证表现体和逻辑体在位置上的一致性,提升移动动画的渲染质量。
下面继续说明本申请实施例提供的动画处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图7所示,存储在存储器450的动画处理装置455中的软件模块可以包括:
参数确定模块4551,用于基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数,其中,所述待移动指令用于控制虚拟对象的移动;
移动驱动模块4552,用于基于所述待移动参数,驱动逻辑体移动,其中,所述逻辑体用于执行所述虚拟对象对应的逻辑处理;
轨迹预测模块4553,用于在基于所述待移动参数驱动所述逻辑体移动的过程中,基于所述待移动参数,预测表现体的第一预测轨迹,其中,所述表现体用于呈现所述虚拟对象;
动画选择模块4554,用于从预设动画库中,选择与所述第一预测轨迹适配的目标动画,其中,所述预设动画库中包括各种移动动作对应的动画;
所述移动驱动模块4552,还用于基于所述目标动画,驱动所述表现体移动;
动画渲染模块4555,用于基于所述逻辑体的移动和所述表现体的移动,渲染所述虚拟对象在虚拟场景的移动动画。
在本申请实施例中,所述轨迹预测模块4553,还用于获取第一当前位置与第二当前位置之间的当前位置偏差,其中,所述第一当前位置为所述表现体当前所处的位置,所述第二当前位置为所述逻辑体当前所处的位置;结合所述待移动参数和所述第二当前位置,预测所述逻辑体的第二预测轨迹;结合所述当前位置偏差和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹。
在本申请实施例中,所述轨迹预测模块4553,还用于结合所述待移动参数、预设预测时长、以及第一当前速度,预测所述逻辑体的预测轨迹段,其中,所述第一当前速度为所述逻辑体当前的移动速度;叠加所述第二当前位置与所述预测轨迹段,得到所述逻辑体的所述第二预测轨迹。
在本申请实施例中,所述轨迹预测模块4553,还用于对所述预设预测时长进行第一采样,得到第一采样时刻序列;针对所述第一采样时刻序列中的每个第一采样时刻,执行以下处理:结合所述待移动参数、以及所述第一当前速度,预测所述第一采样时刻的第一预测位置,得到与所述第一采样时刻序列对应的第一预测位置序列;基于所述第一预测位置序列,确定所述逻辑体的所述预测轨迹段。
在本申请实施例中,所述轨迹预测模块4553,还用于对预设预测时长进行第二采样,得到第二采样时刻序列;从所述第二预测轨迹上,确定与所述第二采样时刻序列中的每个第二采样时刻对应的采样位置,得到与所述第二采样时刻序列对应的采样位置序列;获取与所述第二采样时刻序列对应的第一权重序列,其中,所述第一权重序列中的所述第一权重在时间顺序上依次递减;针对所述第一权重序列中的每个第一权重,执行以下处理:将所述第一权重与所述当前位置偏差融合为待结合距离,得到与所述第一权重序列对应的待结合距离序列;将所述待结合距离序列与所述采样位置序列一一对应融合,得到第二预测位置序列;基于所述第二预测位置序列和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹。
在本申请实施例中,所述轨迹预测模块4553,还用于结合所述待移动参数和所述第一当前位置,预测所述表现体的初始预测轨迹;结合第二权重序列、所述当前位置偏差和所述初始预测轨迹,获取用于减少所述当前位置偏差的所述第一预测轨迹,其中,所述第二权重序列中的所述第二权重在时间顺序上依次递增。
在本申请实施例中,所述移动驱动模块4552,还用于获取所述目标动画的动画轨迹与所述第一预测轨迹之间的轨迹偏差;在所述轨迹偏差大于第二偏差阈值时,获取与所述目标动画的动画移动速度正相关的修正速度;将所述动画移动速度与所述修正速度的叠加速度,确定为所述表现体的目标移动速度;结合所述目标移动速度和所述目标动画,驱动所述表现体移动。
在本申请实施例中,所述移动驱动模块4552,还用于确定与所述目标动画的所述动画移动速度正相关的修正权重,并获取与所述修正权重、所述动画移动速度、以及当前位置偏差均正相关的所述修正速度;或者,确定与预设修正权重、所述动画移动速度、以及所述当前位置偏差均正相关的所述修正速度。
在本申请实施例中,所述移动驱动模块4552,还用于在所述轨迹偏差小于或等于所述第二偏差阈值时,结合所述动画移动速度和所述目标动画,驱动所述表现体移动。
在本申请实施例中,所述动画处理装置455还包括位置同步驱动模块4556,用于接收服务端设备发送的位置同步指令,其中,所述位置同步指令包括第二当前位置;响应于所述位置同步指令,控制所述逻辑体移至所述第二当前位置处。
在本申请实施例中,所述轨迹预测模块4553,还用于在所述当前位置偏差小于或等于第一偏差阈值时,结合所述待移动参数、所述第一当前位置、以及第二当前速度,预测所述表现体的所述第一预测轨迹,其中,所述第二当前速度为所述表现体当前的移动速度。
在本申请实施例中,所述轨迹预测模块4553,还用于在所述当前位置偏差大于所述第一偏差阈值时,结合所述待移动参数和所述第二当前位置,预测所述逻辑体的所述第二预测轨迹。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机可执行指令或者计算机程序,该计算机可执行指令或者计算机程序存储在计算机可读存储介质中。动画处理设备的处理器从计算机可读存储介质读取该计算机可执行指令或者计算机程序,处理器执行该计算机可执行指令或者计算机程序,使得该动画处理设备执行本申请实施例上述的动画处理方法。
本申请实施例提供一种计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的动画处理方法,例如,如图8示出的动画处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper TextMarkup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行(此时,这一个电子设备即为动画处理设备),或者在位于一个地点的多个电子设备上执行(此时,位于一个地点的多个电子设备即为动画处理设备),又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行(此时,分布在多个地点且通过通信网络互连的多个电子设备即为动画处理设备)。
可以理解的是,在本申请实施例中,涉及到待移动指令等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
综上所述,本申请实施例通过当渲染虚拟对象在虚拟场景的移动动画时,由于逻辑体的移动是基于待移动指令所确定的待移动参数驱动的,表现体的移动是基于所选择的目标动画驱动的,实现了逻辑体与表现体在移动信息上的分离,使得表现体移动的移动信息依赖于目标动画的移动信息,从而,降低了表现体移动的移动信息与目标动画的移动信息存在偏差的概率,也就能够降低滑步的出现概率。另外,本申请实施例基于逻辑体的预测轨迹预测表现体的移动轨迹,使得基于表现体的移动轨迹所选择出的目标动画能够降低表现体和逻辑体的位置偏差;以及基于动画移动速度确定表现体的修正速度,能够降低滑步表现;综上,能够提升移动动画的渲染质量。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种动画处理方法,其特征在于,所述方法包括:
基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数,其中,所述待移动指令用于控制虚拟对象的移动;
基于所述待移动参数,驱动逻辑体移动,其中,所述逻辑体用于执行所述虚拟对象对应的逻辑处理;
在基于所述待移动参数驱动所述逻辑体移动的过程中,基于所述待移动参数,预测表现体的第一预测轨迹,其中,所述表现体用于呈现所述虚拟对象;
从预设动画库中,选择与所述第一预测轨迹适配的目标动画,其中,所述预设动画库中包括各种移动动作对应的动画;
基于所述目标动画,驱动所述表现体移动;
基于所述逻辑体的移动和所述表现体的移动,渲染所述虚拟对象在虚拟场景的移动动画。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待移动参数,预测表现体的第一预测轨迹,包括:
获取第一当前位置与第二当前位置之间的当前位置偏差,其中,所述第一当前位置为所述表现体当前所处的位置,所述第二当前位置为所述逻辑体当前所处的位置;
结合所述待移动参数和所述第二当前位置,预测所述逻辑体的第二预测轨迹;
结合所述当前位置偏差和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹。
3.根据权利要求2所述的方法,其特征在于,所述结合所述待移动参数和所述第二当前位置,预测所述逻辑体的第二预测轨迹,包括:
结合所述待移动参数、预设预测时长、以及第一当前速度,预测所述逻辑体的预测轨迹段,其中,所述第一当前速度为所述逻辑体当前的移动速度;
叠加所述第二当前位置与所述预测轨迹段,得到所述逻辑体的所述第二预测轨迹。
4.根据权利要求3所述的方法,其特征在于,所述结合所述待移动参数、预设预测时长、以及第一当前速度,预测所述逻辑体的预测轨迹段,包括:
对所述预设预测时长进行第一采样,得到第一采样时刻序列;
针对所述第一采样时刻序列中的每个第一采样时刻,执行以下处理:结合所述待移动参数、以及所述第一当前速度,预测所述第一采样时刻的第一预测位置,得到与所述第一采样时刻序列对应的第一预测位置序列;
基于所述第一预测位置序列,确定所述逻辑体的所述预测轨迹段。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述结合所述当前位置偏差和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹,包括:
对预设预测时长进行第二采样,得到第二采样时刻序列;
从所述第二预测轨迹上,确定与所述第二采样时刻序列中的每个第二采样时刻对应的采样位置,得到与所述第二采样时刻序列对应的采样位置序列;
获取与所述第二采样时刻序列对应的第一权重序列,其中,所述第一权重序列中的所述第一权重在时间顺序上依次递减;
针对所述第一权重序列中的每个第一权重,执行以下处理:将所述第一权重与所述当前位置偏差融合为待结合距离,得到与所述第一权重序列对应的待结合距离序列;
将所述待结合距离序列与所述采样位置序列一一对应融合,得到第二预测位置序列;
基于所述第二预测位置序列和所述第一当前位置,预测靠近所述第二预测轨迹的所述第一预测轨迹。
6.根据权利要求2所述的方法,其特征在于,所述获取第一当前位置与第二当前位置之间的当前位置偏差之后,所述方法还包括:
结合所述待移动参数和所述第一当前位置,预测所述表现体的初始预测轨迹;
结合第二权重序列、所述当前位置偏差和所述初始预测轨迹,获取用于减少所述当前位置偏差的所述第一预测轨迹,其中,所述第二权重序列中的所述第二权重在时间顺序上依次递增。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述目标动画,驱动所述表现体移动,包括:
获取所述目标动画的动画轨迹与所述第一预测轨迹之间的轨迹偏差;
在所述轨迹偏差大于第二偏差阈值时,获取与所述目标动画的动画移动速度正相关的修正速度;
将所述动画移动速度与所述修正速度的叠加速度,确定为所述表现体的目标移动速度;
结合所述目标移动速度和所述目标动画,驱动所述表现体移动。
8.根据权利要求7所述的方法,其特征在于,所述获取与所述目标动画的动画移动速度正相关的修正速度,包括:
确定与所述目标动画的所述动画移动速度正相关的修正权重,并获取与所述修正权重、所述动画移动速度、以及当前位置偏差均正相关的所述修正速度;
或者,确定与预设修正权重、所述动画移动速度、以及所述当前位置偏差均正相关的所述修正速度。
9.根据权利要求7所述的方法,其特征在于,所述获取所述目标动画的动画轨迹与所述第一预测轨迹之间的轨迹偏差之后,所述方法还包括:
在所述轨迹偏差小于或等于所述第二偏差阈值时,结合所述动画移动速度和所述目标动画,驱动所述表现体移动。
10.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述待移动参数,驱动逻辑体移动之前,所述方法还包括:
接收服务端设备发送的位置同步指令,其中,所述位置同步指令包括第二当前位置;
响应于所述位置同步指令,控制所述逻辑体移至所述第二当前位置处。
11.根据权利要求2至4任一项所述的方法,其特征在于,所述获取第一当前位置与第二当前位置之间的当前位置偏差之后,所述方法还包括:
在所述当前位置偏差小于或等于第一偏差阈值时,结合所述待移动参数、所述第一当前位置、以及第二当前速度,预测所述表现体的所述第一预测轨迹,其中,所述第二当前速度为所述表现体当前的移动速度;
所述结合所述待移动参数和所述第二当前位置,预测所述逻辑体的第二预测轨迹,包括:
在所述当前位置偏差大于所述第一偏差阈值时,结合所述待移动参数和所述第二当前位置,预测所述逻辑体的所述第二预测轨迹。
12.一种动画处理装置,其特征在于,所述动画处理装置包括:
参数确定模块,用于基于移动指令与移动参数的对应关系,确定与待移动指令匹配的待移动参数,其中,所述待移动指令用于控制虚拟对象的移动;
移动驱动模块,用于基于所述待移动参数,驱动逻辑体移动,其中,所述逻辑体用于执行所述虚拟对象对应的逻辑处理;
轨迹预测模块,用于在基于所述待移动参数驱动所述逻辑体移动的过程中,基于所述待移动参数,预测表现体的第一预测轨迹,其中,所述表现体用于呈现所述虚拟对象;
动画选择模块,用于从预设动画库中,选择与所述第一预测轨迹适配的目标动画,其中,所述预设动画库中包括各种移动动作对应的动画;
所述移动驱动模块,还用于基于所述目标动画,驱动所述表现体移动;
动画渲染模块,用于基于所述逻辑体的移动和所述表现体的移动,渲染所述虚拟对象在虚拟场景的移动动画。
13.一种用于动画处理的电子设备,其特征在于,所述用于动画处理的电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至11任一项所述的动画处理方法。
14.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时,实现权利要求1至11任一项所述的动画处理方法。
15.一种计算机程序产品,包括计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时,实现权利要求1至11任一项所述的动画处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310049151.5A CN115797513B (zh) | 2023-02-01 | 2023-02-01 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
PCT/CN2023/129769 WO2024159843A1 (zh) | 2023-02-01 | 2023-11-03 | 一种动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310049151.5A CN115797513B (zh) | 2023-02-01 | 2023-02-01 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115797513A true CN115797513A (zh) | 2023-03-14 |
CN115797513B CN115797513B (zh) | 2023-05-09 |
Family
ID=85429391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310049151.5A Active CN115797513B (zh) | 2023-02-01 | 2023-02-01 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115797513B (zh) |
WO (1) | WO2024159843A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024159843A1 (zh) * | 2023-02-01 | 2024-08-08 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130118814A1 (en) * | 2011-11-15 | 2013-05-16 | David J. Michael | Weighing platform with computer-vision tracking |
CN108022286A (zh) * | 2017-11-30 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置及存储介质 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN111273780A (zh) * | 2020-02-21 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的动画播放方法、装置、设备及存储介质 |
CN113198179A (zh) * | 2021-05-10 | 2021-08-03 | 网易(杭州)网络有限公司 | 虚拟对象的转向控制方法及装置、存储介质、电子设备 |
CN113521743A (zh) * | 2020-11-26 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 游戏同步方法、装置、终端、服务器和存储介质 |
CN113781615A (zh) * | 2021-09-28 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种动画生成方法、装置、设备、存储介质及程序产品 |
CN114283229A (zh) * | 2021-11-19 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 虚拟角色的行走动画生成方法、装置、设备及存储介质 |
CN114699767A (zh) * | 2022-04-15 | 2022-07-05 | 北京字跳网络技术有限公司 | 游戏数据处理方法、装置、介质及电子设备 |
CN115569381A (zh) * | 2022-10-28 | 2023-01-06 | 网易(杭州)网络有限公司 | 游戏控制方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797513B (zh) * | 2023-02-01 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
-
2023
- 2023-02-01 CN CN202310049151.5A patent/CN115797513B/zh active Active
- 2023-11-03 WO PCT/CN2023/129769 patent/WO2024159843A1/zh unknown
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130118814A1 (en) * | 2011-11-15 | 2013-05-16 | David J. Michael | Weighing platform with computer-vision tracking |
CN108022286A (zh) * | 2017-11-30 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置及存储介质 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN111273780A (zh) * | 2020-02-21 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的动画播放方法、装置、设备及存储介质 |
CN113521743A (zh) * | 2020-11-26 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 游戏同步方法、装置、终端、服务器和存储介质 |
CN113198179A (zh) * | 2021-05-10 | 2021-08-03 | 网易(杭州)网络有限公司 | 虚拟对象的转向控制方法及装置、存储介质、电子设备 |
CN113781615A (zh) * | 2021-09-28 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种动画生成方法、装置、设备、存储介质及程序产品 |
CN114283229A (zh) * | 2021-11-19 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 虚拟角色的行走动画生成方法、装置、设备及存储介质 |
CN114699767A (zh) * | 2022-04-15 | 2022-07-05 | 北京字跳网络技术有限公司 | 游戏数据处理方法、装置、介质及电子设备 |
CN115569381A (zh) * | 2022-10-28 | 2023-01-06 | 网易(杭州)网络有限公司 | 游戏控制方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024159843A1 (zh) * | 2023-02-01 | 2024-08-08 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2024159843A1 (zh) | 2024-08-08 |
CN115797513B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9616338B1 (en) | Virtual reality session capture and replay systems and methods | |
US10771565B2 (en) | Sending application input commands over a network | |
US11666830B2 (en) | Local game execution for spectating and spectator game play | |
WO2022142626A1 (zh) | 虚拟场景的适配显示方法、装置、电子设备、存储介质及计算机程序产品 | |
US9925461B2 (en) | Character model animation using stored recordings of player movement interface data | |
CN112138394B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
WO2024159843A1 (zh) | 一种动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN112789093A (zh) | 在多玩家程序中引入较高输入等待时间 | |
US20150350286A1 (en) | Reducing input processing latency for remotely executed applications | |
US9497238B1 (en) | Application control translation | |
CN113476823A (zh) | 虚拟对象控制方法、装置、存储介质及电子设备 | |
US20230330525A1 (en) | Motion processing method and apparatus in virtual scene, device, storage medium, and program product | |
CN116196611A (zh) | 基于挥手动作的体感游戏方法 | |
WO2024060888A1 (zh) | 虚拟场景的交互处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN114247132B (zh) | 虚拟对象的控制处理方法、装置、设备、介质及程序产品 | |
US20240233231A1 (en) | Avatar generation and augmentation with auto-adjusted physics for avatar motion | |
WO2024060924A1 (zh) | 虚拟场景的互动处理方法、装置、电子设备及存储介质 | |
US20240307776A1 (en) | Method and apparatus for displaying information in virtual scene, electronic device, storage medium, and computer program product | |
CN116271830B (zh) | 虚拟游戏对象的行为控制方法、装置、设备以及存储介质 | |
WO2024021792A1 (zh) | 虚拟场景的信息处理方法、装置、设备、存储介质及程序产品 | |
US20240261678A1 (en) | Text extraction to separate encoding of text and images for streaming during periods of low connectivity | |
WO2024037139A1 (zh) | 虚拟场景中的信息提示方法、装置、电子设备、存储介质及程序产品 | |
CN118689571A (zh) | 虚拟场景的信息推荐方法、装置、设备、介质及程序产品 | |
CN115729402A (zh) | 一种对象显示方法、装置、电子设备及存储介质 | |
CN118416479A (zh) | 虚拟对象的移动控制方法、装置、设备、存储介质及产品 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40083144 Country of ref document: HK |