CN113318439B - 起步动画的处理方法、装置、处理器和电子装置 - Google Patents
起步动画的处理方法、装置、处理器和电子装置 Download PDFInfo
- Publication number
- CN113318439B CN113318439B CN202110675355.0A CN202110675355A CN113318439B CN 113318439 B CN113318439 B CN 113318439B CN 202110675355 A CN202110675355 A CN 202110675355A CN 113318439 B CN113318439 B CN 113318439B
- Authority
- CN
- China
- Prior art keywords
- starting
- animation
- state
- virtual character
- frame image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 title claims abstract description 62
- 238000006073 displacement reaction Methods 0.000 claims abstract description 166
- 230000033001 locomotion Effects 0.000 claims abstract description 105
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 42
- 230000009471 action Effects 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 19
- 238000007499 fusion processing Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000003672 processing method Methods 0.000 abstract description 6
- 230000007704 transition Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000033764 rhythmic process Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种起步动画的处理方法、装置、处理器和电子装置。其中,该方法包括:响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向;按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,待使用的起步动画包括:起步开始状态动画和起步停止状态动画;基于待使用的起步动画的根骨骼运动提取对应的位移信息;利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。本发明解决了相关技术中所提供的在移动端平台游戏中使用根骨骼运动易导致位移不同步的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种起步动画的处理方法、装置、处理器和电子装置。
背景技术
起步是游戏中虚拟角色移动动画的基础表现之一。在相关技术中,移动端平台游戏可以在待机动画(Idle)和移动动画(Moving)之间增加线性插值的功能来生成一个过渡动画,来表现三维(3D)游戏中的虚拟角色起步的过程。线性插值方法具有低性能消耗的优点,但是随着玩家对移动端游戏画面的动作表现和操作手感的要求不断提高,简单的插值过渡效果无法满足玩家对移动端游戏的要求,可以将起步的动画直接作为一个独立的动作状态加入至游戏内,虚拟角色在起步时候的动作表现会更加的丰富和真实。移动端平台游戏中可以使用根骨骼运动(RootMotion)实现起步动画,即,使用RootMotion的动画资源自身的动画位移替代引擎内计算出来的程序位移。然而,RootMotion的动画数据存储在本地,无法上传到服务器,只能在本地计算位移后,再将位移数据传输到服务器上。在RootMotion的动画数据资源量过大或者网络出现卡顿的情况下,在服务端同步时容易出错,进而导致使用RootMotion时会发生本地和服务器的位移不同步的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种起步动画的处理方法、装置、处理器和电子装置,以至少部分地解决相关技术中所提供的在移动端平台游戏中使用根骨骼运动易导致位移不同步的技术问题。
根据本发明其中一实施例,提供了一种起步动画的处理方法,包括:响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向;按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,待使用的起步动画包括:起步开始状态动画和起步停止状态动画;基于待使用的起步动画的根骨骼运动提取对应的位移信息;利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。
可选地,上述起步动画的处理方法还包括:将起步状态划分为起步开始状态和起步停止状态;获取起步开始状态对应的多个预设方向上的起步开始状态动画以及起步停止状态对应的多个预设方向上的起步停止状态动画,其中,多个预设方向用于确定虚拟角色的起步方向和迈脚顺序;将多个预设方向上的起步开始状态动画和多个预设方向上的起步停止状态动画存储为起步动作资源文件。
可选地,起步状态的前一个相邻状态为待机状态,起步状态的后一个相邻状态为移动状态,起步开始状态对应的首帧图像与待机状态对应的尾帧图像衔接,起步停止状态对应的尾帧图像与待机状态对应的首帧图像衔接,起步开始状态对应的尾帧图像与起步停止状态对应的首帧图像衔接。
可选地,按照目标方向对多个预设方向上的起步动画进行融合处理,得到待使用的起步动画包括:按照目标方向确定多个预设方向的起步动画中每个预设方向的起步动画对应的权重;基于权重对多个预设方向上的起步动画进行融合处理,得到待使用的起步动画。
可选地,基于待使用的起步动画的根骨骼运动提取位移信息包括:按照时间先后顺序依次获取待使用的起步动画中每帧图像对应的时间点;在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动提取对应的位置数据和旋转数据,得到位移信息。
可选地,位移信息包括位置曲线,基于当前帧图像的根骨骼运动提取对应的位置数据,得到位移信息包括:在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动确定当前时间点对应的位置曲线值;利用每帧图像对应的时间点上确定的位置曲线值绘制位置曲线。
可选地,位移信息还包括旋转曲线,基于当前帧图像的根骨骼运动提取对应的旋转数据,得到位移信息包括:在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动确定当前时间点对应的旋转曲线值;利用每帧图像对应的时间点上确定的旋转曲线值绘制旋转曲线。
可选地,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配包括:利用虚拟角色的第一世界位置、位置曲线以及预设世界位移比例计算得到虚拟角色的第二世界位置,其中,第一世界位置为待使用的起步动画中与当前帧图像相邻的上一帧图像对应的世界位置,第二世界位置为待使用的起步动画中与当前帧图像对应的世界位置;利用虚拟角色的第一旋转方向和旋转曲线计算得到虚拟角色的第二旋转方向,其中,第一旋转方向为待使用的起步动画中与当前帧图像相邻的上一帧图像对应的旋转方向,第二旋转方向为待使用的起步动画中与当前帧图像对应的旋转方向;基于第二世界位置和第二旋转方向对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行实时匹配。
可选地,上述起步动画的处理方法还包括:通过调整预设世界位移比例的取值,改变待使用的起步动画的播放速率。
可选地,控制指令中携带的控制参数包括:移动距离参数和移动方向参数,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配包括:利用移动距离参数和位置曲线计算得到虚拟角色的第三世界位置;利用移动方向参数和旋转曲线计算得到虚拟角色的第三旋转方向;基于第三世界位置和第三旋转方向对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行实时匹配。
可选地,起步动画的处理方法还包括:基于连续多次匹配得到的多个匹配结果调整待使用的起步动画的播放时机和/或位移信息。
根据本发明其中一实施例,提供了一种起步动画的处理装置,包括:确定模块,用于响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向;第一处理模块,用于按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,起步动画包括:起步开始状态动画和起步停止状态动画;提取模块,用于基于待使用的起步动画的根骨骼运动提取对应的位移信息;第二处理模块,用于利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。
根据本发明其中一实施例,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的起步动画的处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的起步动画的处理方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的起步动画的处理方法。
在本发明实施例中,通过响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向,按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,基于待使用的起步动画的根骨骼运动提取对应的位移信息,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,实现了将根骨骼运动的位移信息和动画资源解耦,利用位移信息参与虚拟角色移动的计算,使虚拟角色的位移距离与动画节奏完全一致,虚拟角色移动的计算不受网络延迟或者卡顿的影响,达到使用根骨骼运动时位移同步的效果,进而解决了相关技术中所提供的在移动端平台游戏中使用根骨骼运动易导致位移不同步的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明其中一实施例的一种起步动画的处理方法的移动终端的硬件结构框图;
图2是相关技术中线性插值方法所生成的起步动画的示意图;
图3是根据本发明实施例的一种起步动画的处理方法的流程图;
图4是根据本发明实施例的一种可选的玩家控制虚拟角色的移动方向的示意图;
图5是根据本发明实施例的一种可选的起步动画的示意图;
图6是根据本发明实施例的对应不同目标方向的起步动画的示意图;
图7是根据本发明实施例的一种可选的起步动画的处理方法示意图;
图8是根据本发明实施例的一种可选的起步开始状态动画的示意图;
图9是根据本发明实施例的一种可选的起步停止状态动画的示意图;
图10是根据本发明实施例的一种可选的位置曲线的示意图;
图11是根据本发明实施例的一种可选的旋转曲线的示意图;
图12是根据本发明实施例的一种可选的起步动画的处理方法示意图;
图13是根据本发明实施例的平滑处理后的位移信息的示意图;
图14是根据本发明实施例的一种起步动画的处理装置的示意图;
图15是根据本发明实施例的一种起步动画的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种起步动画的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在电子装置(例如,移动终端、计算机终端或者类似的运算装置)中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD、游戏机等终端设备。图1是本发明其中一实施例的一种起步动画的处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述移动终端还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的起步动画的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的起步动画的处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备108中的输入可以来自多个人体学接口设备(Human InterfaceDevice,简称为HID)。例如:键盘和鼠标、游戏手柄、其他专用游戏控制器(如:方向盘、鱼竿、跳舞毯、遥控器等)。部分人体学接口设备除了提供输入功能之外,还可以提供输出功能,例如:游戏手柄的力反馈与震动、控制器的音频输出等。
显示设备110可以例如平视显示器(HUD)、触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
相关技术中,移动端平台游戏可以在待机动画(Idle)和移动动画(Moving)之间增加线性插值的功能来生成一个过渡动画(Transitions),来表现3D游戏中的虚拟角色起步的过程。图2是相关技术中线性插值方法所生成的起步动画的示意图,如图2所示,待机动画21为虚拟角色处于站立状态的动画,移动动画23为虚拟角色处于移动状态(比如跑步状态)的动画,为了提高虚拟角色从站立状态切换至移动状态的动作表现的真实感,在待机动画21和移动动画23之间增加过渡动画22,实现动作的过渡效果。随着玩家对移动端游戏画面的动作表现和操作手感的要求不断提高,简单的线性插值所生成的过渡动画效果无法满足玩家对移动端游戏的要求,可以将起步的动画直接作为一个独立的动作状态加入至游戏内,虚拟角色在起步时候的动作表现会更加的丰富和真实。移动端平台游戏中可以使用RootMotion实现起步动画,根骨骼运动可以利用动画资源自身的动画位移替代引擎内计算得到的程序位移,并使用动画的位移旋转去设置游戏角色的移动,RootMotion动画能够让虚拟角色的运动百分百还原动画资源本身的效果,添加起步动画后,虚拟角色起步状态的表现更加的真实和丰富,玩家操作的手感的调整空间也增加了,使得玩家对整个基础移动的操作体验都有了大幅度提升。然而,RootMotion的动画数据仅存储在移动端本地的动画资源文件内,游戏引擎必须要先运行该动画才可以读取到动画的位移数据,然后再通过引擎的换算,将动画位移数据转化为游戏内角色的实际位移数据,由于RootMotion的动画数据资源量过大,在动画位移数据转化的过程中,容易因为网络延迟或者卡顿等原因造成服务端和本地的数据不同步或者同步延迟的问题,导致虚拟角色的位置信息出现异常。并且由于RootMotion暂时替代了程序位移,会短暂的导致一些操作指令被覆盖或者无法响应,所以RootMotion动画也会出现响应性不及时的情况。
针对于上述问题,在本实施例中提供了一种运行于上述电子装置的起步动画的处理方法,图3是根据本发明其中一实施例的起步动画的处理方法的流程图,如图3所示,该方法包括如下步骤:
步骤S30,响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向。
上述控制指令可以由玩家在移动端(比如,智能手机、智能平板或者遥控杆等操控装置)的控制操作发出,控制指令用于控制虚拟角色朝目标方向运动。图4是根据本发明实施例的一种可选的玩家控制虚拟角色的移动方向的示意图,如图4所示,在移动端平台游戏中,玩家对虚拟角色的可控制的角度为360°,起步状态下的目标方向可以为以虚拟角色为中心(即图4的圆心位置)的360°内的任意方向,玩家通过控制操作输入控制指令,确定出虚拟角色将要移动的目标方向。
具体的,上述起步状态用于表示虚拟角色从待机状态向移动状态变化的过渡状态,起步状态对应于起步动画,例如,图5是根据本发明实施例的一种可选的起步动画的示意图,如图5所示,起步动画包括表示虚拟角色从待机状态51向移动状态54变化的多帧图像,具体的,起步动画包括第一帧图像52和第二帧图像53,其中,待机状态51表示虚拟角色处于站立状态,第一帧图像52表示虚拟角色迈腿准备移动的状态,第二帧图像53表示虚拟角色迈腿后前倾准备跑步的动作,移动状态54表示虚拟角色跑步的状态,通过增加连续变化的多帧图像的起步动画,使得虚拟角色从待机状态51向移动状态54的变化过程更真实自然。
步骤S31,按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,待使用的起步动画包括:起步开始状态动画和起步停止状态动画。
上述多个预设方向可用于确定虚拟角色的起步方向和迈脚顺序,可通过对玩家的可控制角度进行概括得到,具体的,玩家对虚拟角色的可控制的角度为360°,虚拟角色在起步状态的目标方向可能是360°对应方向中的任意一个,对于不同的目标方向,虚拟角色的起步动画是不同的,例如,图6是根据本发明实施例的对应不同目标方向的起步动画的示意图,如图6所示,由于虚拟角色的起步方向和迈脚顺序的不同,向左起步动画61、向前起步动画62和向右起步动画63所呈现的起步动画效果是不同的,向左起步动画61中虚拟角色先迈左脚,向右起步动画63中虚拟角色先迈右脚。
因此,对于360°的可控方向,可能存在360种不同的起步动画,如果制作360个起步动画来匹配360个不同的方向,需要较大的资源,可以从360个不同的方向中概括得到具有代表性的几个方向作为预设方向,通过融合处理来表现出360个角度对应的起步动画。可选地,如图4所示,上述多个预设方向可以包括0°对应的方向、-90°对应的方向、+90°对应的方向、-180°对应的方向以及+180°对应的方向。对于人体日常运动行为,每隔90°会有一个明显的动作变化,比如,人体的起步方向相差90°时,会有明显的转身动作,可以按照每90°为一个单位将360°概括得到上述预设方向,以使得虚拟角色的起步动画更真实以及丰富。例如,如图6所示,向左起步动画61可以表示虚拟角色向左90°(即-90°)的起步动画,向左起步动画61中虚拟角色向左转向90°并先迈出左脚,向前起步动画62可以表示虚拟角色向前0°起步动画,向右起步动画63表示虚拟角色向右90°(即+90°)的起步动画,向右起步动画63中虚拟角色向右转向90°并先迈出右脚。当目标方向为向左45°的方向时,可以将向左起步动画61和向前起步动画62进行融合处理,得到待使用的起步动画。
需要说明的是,-180°对应的方向以及+180°对应的方向虽然指向相同的方向,但是人体从左向后转180°(即-180°)和从右向后转180°(即+180°)的过程中,起步的迈脚顺序不同,需要对应-180°和+180°对应的方向分别制作起步动画,避免融合的过程中由于迈脚顺序不同导致的脚步错乱。基于相同的原因,可以对0°对应的方向分别制作左脚迈脚的起步动画和右脚迈脚的起步动画。
可选的,根据玩家对移动端的键盘控制器的操作习惯,上述多个预设方向也可以为0°,±45°,±90°,±135°和±180°对应的方向,起步动作资源文件中包含上述预设方向的10个起步动画。玩家可通过键盘控制器发出控制指令以控制虚拟角色移动,根据控制指令可确定目标方向为上述8个方向中的哪一个方向,进而确定出起步动画。
可选地,按照目标方向对多个预设方向上的起步动画进行融合处理,得到待使用的起步动画包括:按照目标方向确定多个预设方向的起步动画中每个预设方向的起步动画对应的权重;基于权重对多个预设方向上的起步动画进行融合处理,得到待使用的起步动画。
上述多个预设方向可以根据玩家的可控方向概括得到,多个预设方向仅能表征出一些具有代表性的移动方向,当玩家控制虚拟角色朝预设方向之外的方向移动时,可以根据玩家输入的控制指令确目标方向对应的方向变量,控制每个预设方向的起步动画混合的权重,进而融合得到待使用的起步动画。
例如,除了键盘控制器外,玩家还可以通过遥控杆控制器输入控制指令,相比于键盘控制器,玩家通过遥控杆控制器可以输入更多的目标方向,比如,遥控杆控制器可以控制虚拟角色沿360°对应的任意方向移动。上述预设方向可以为0°,±45°,±90°,±135°和±180°对应的方向,起步动作资源文件中包含上述预设方向的10个起步动画,将上述10个起步动画放入混合空间中。玩家通过遥控杆控制器输入虚拟角色移动的目标方向,根据传入的方向变量确定上述10个起步动画的权重,进而融合得到与目标方向匹配的起步动画。
上述起步开始状态动画和起步停止状态动画对应于起步状态中的起步开始状态和起步停止状态。
可选地,上述起步动画的处理方法还包括如下步骤:
步骤S311,将起步状态划分为起步开始状态和起步停止状态。
即,上述起步状态可以被进一步划分为起步开始状态(Start Begin State)和起步停止状态(Start End State)。起步开始状态用于衔接待机状态和移动状态。起步停止状态用于打断起步开始状态并衔接回待机状态。
图7是根据本发明实施例的一种可选的起步动画的处理方法示意图,如图7所示,待机状态71(Idle State)用于表示虚拟角色接收控制指令进行移动前的状态,比如,待机状态71可以为站立状态。移动状态74(Moving State)用于表示虚拟角色处于跑步或者行走等移动的状态,起步开始状态72用于衔接待机状态71和移动状态74,起步停止状态73用于打断起步开始状态72并衔接回待机状态71,停止状态75(Stop State)用于表示虚拟角色移动完成后的结束状态,比如跑步结束后再次回到直立状态。
需要说明的是,当虚拟角色根据玩家的控制指令刚进入起步状态后,还没开始向移动状态过渡时,此时玩家停止移动操作,在没有起步停止状态的情况下,虚拟角色可能仍然会按照起步动画继续播放并进入移动状态后,再进入停止状态,导致虚拟角色对玩家停止移动操作的响应时间非常长,或者虚拟角色在起步状态直接被打断进入停止状态,导致动画的过渡不自然。通过增加起步停止状态,可以提高虚拟角色刚进入起步状态时接收玩家的停止操作后的响应速度,并且通过起步停止状态中的多帧图像,丰富了起步状态至待机状态过渡过程的动作表现,使得过渡更加自然。
可选地,起步状态的前一个相邻状态为待机状态71,起步状态的后一个相邻状态为移动状态74,起步开始状态72对应的首帧图像与待机状态71对应的尾帧图像衔接,起步停止状态73对应的尾帧图像与待机状态74对应的首帧图像衔接,起步开始状态72对应的尾帧图像与起步停止状态73对应的首帧图像衔接。
图8是根据本发明实施例的一种可选的起步开始状态动画的示意图,如图8所示,起步开始状态动画可以包括从待机状态向移动状态变化的多帧图像,具体的,首帧图像81与图5所示的待机状态51的尾帧衔接,首帧图像81可以为虚拟角色处于站立状态的图像,以实现与待机状态51的自然过渡;第二帧图像82表示虚拟角色处于前倾准备状态,第三帧图像83表示虚拟角色迈腿的动作,尾帧图像84与图5所示的移动状态54的首帧图像衔接,尾帧图像84可以为虚拟角色跑步的图像,以实现与移动状态54的自然过渡,上述起步开始状态动画的首帧图像81和尾帧图像84之间可以包含至少一帧过渡图像,过渡图像的数量根据需要的动画效果确定,此处不作限制。通过起步开始状态动画中连续变化的多帧图像,使得虚拟角色从待机状态向移动状态的变化过程更真实自然。
图9是根据本发明实施例的一种可选的起步停止状态动画的示意图,如图9所示,起步停止状态动画包括从起步开始状态72衔接回待机状态71的多帧图像,具体的,起步停止状态动画包括首帧图像91,首帧图像91与起步开始状态动画对应的尾帧图像84衔接,起步停止状态动画的尾帧图像93与图5所示的待机状态51对应的首帧图像衔接,起步停止状态动画的中间帧图像92可以为一帧或者多帧表示过渡动作的图像,例如,如图9所示,中间帧图像92相比于首帧图像91,虚拟角色前倾的幅度减少并向直立转变。
通过将起步开始状态动画和起步停止状态动画的首尾帧相衔接,实现了虚拟角色对玩家的控制指令的快速响应,且快速起步和快速停止的表现效果较自然。
步骤S312,获取起步开始状态对应的多个预设方向上的起步开始状态动画以及起步停止状态对应的多个预设方向上的起步停止状态动画,其中,多个预设方向用于确定虚拟角色的起步方向和迈脚顺序。
步骤S313,将多个预设方向上的起步开始状态动画和多个预设方向上的起步停止状态动画存储为起步动作资源文件。
由于不同的预设方向上的起步动画不同,则对应于不同的预设方向,分别获取每个预设方向上的起步开始状态动画和起步停止状态动画。例如,上述预设方向可以为0°,±45°,±90°,±135°和±180°对应的方向,起步动作资源文件中包含上述预设方向的10个起步动画,每个起步动画包括起步开始状态动画和起步停止状态动画,起步动作资源文件中共存储有20个动画文件。
步骤S32,基于待使用的起步动画的根骨骼运动提取对应的位移信息。
上述位移信息用于表示起步动画中虚拟角色的位移位置和对应于转向动作的旋转信息。根骨骼运动中提取根骨骼运动的动画资源包含上述起步动作资源文件,起步动作资源文件包含了起步动画以及匹配的位移信息(即Root Curve数据),通过将起步动画以及匹配的位移信息进行拆分,提取出位移信息。
可选地,基于待使用的起步动画的根骨骼运动提取位移信息包括:按照时间先后顺序依次获取待使用的起步动画中每帧图像对应的时间点;在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动提取对应的位置数据和旋转数据,得到位移信息。
上述当前帧图像的位置数据包括但不限于虚拟角色的位移距离,旋转数据包括但不限于虚拟角色对应于目标方向的旋转角度等。
上述提取得到的位移信息与起步动画中的各帧图像一一对应,即将每一帧图像的位移信息均提取出来,实现在提取位移信息的同时,有保留了根骨骼运动的动画特性。例如,如图8所示的起步开始状态动画,共包含四帧图像,按照时间先后顺序分别为首帧图像81、第二帧图像82、第三帧图像83以及尾帧图像84,随着虚拟角色的动作,每帧图像的位置数据和旋转数据不同,第三帧图像83相比于第二帧图像82,由于虚拟角色的迈腿移动产生位置的变化,进而可以得到第三帧图像83的位置距离作为上述位置数据,在虚拟角色发生转向的情况下,不同帧图像之间的旋转角度也不同。分别基于首帧图像81、第二帧图像82、第三帧图像83以及尾帧图像84的根骨骼运动提取出每帧图像对应的位置数据和旋转数据,作为位移信息。
可选地,上述位移信息包括位置曲线,基于当前帧图像的根骨骼运动提取对应的位置数据,得到位移信息包括:在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动确定当前时间点对应的位置曲线值;利用每帧图像对应的时间点上确定的位置曲线值绘制位置曲线。
上述每帧图像对应的时间点,即每帧图像在起步动画中的时间,如图8所示的起步开始状态动画,共包含首帧图像81、第二帧图像82、第三帧图像83以及尾帧图像84四帧图像,对应于播放顺序,每帧图像在起步开始状态动画中具有对应的时间点。将每帧图像中的位置数据(比如,位移距离)提取出来作为纵坐标,并将每帧图像对应的时间点作为横坐标,绘制出位置曲线。
图10是根据本发明实施例的一种可选的位置曲线的示意图,如图10所示,起步动画可以包含29帧图像,对应于29帧图像,基于各帧图像的根骨骼运动提取出29个位置数据,将29个位置数据绘制为与起步动画的时间轴一致的位置曲线,图10所示的位置曲线的横坐标为起步动画的时间轴,纵坐标为每帧图像对应的位置数据,位置曲线中每个点对应一帧图像。
可选地,位移信息还包括旋转曲线,基于当前帧图像的根骨骼运动提取对应的旋转数据,得到位移信息包括:在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动确定当前时间点对应的旋转曲线值;利用每帧图像对应的时间点上确定的旋转曲线值绘制旋转曲线。
具体的,将每帧图像中的旋转数据(比如,转向的角度)提取出来作为纵坐标,并将每帧图像对应的时间点作为横坐标,可以绘制出旋转曲线。
图11是根据本发明实施例的一种可选的旋转曲线的示意图,如图11所示,起步动画可以包含16帧图像,对应于16帧图像,基于各帧图像的根骨骼运动提取出16个旋转数据,将16个旋转数据绘制为与起步动画的时间轴一致的旋转曲线,图11所示的旋转曲线的横坐标为起步动画的时间轴,纵坐标为每帧图像对应的旋转数据(比如,旋对应于目标方向的旋转角度),旋转曲线中每个点对应一帧图像。
通过提取得到位置曲线和旋转曲线,实现了根骨骼运动的位移信息和动画资源的解耦,进而可以直接将位移信息用于虚拟角色控制的计算之中,由于位移信息的获取不需要运行动画,当遇到动画卡顿等情况时,动画的表现不会影响数据的计算,进而避免了由于网络延迟或者卡顿等原因造成服务端和本地的数据不同步的问题。
步骤S33,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。
上述起步动画的播放时机用于表示起步动画的播放节奏,即根据位移信息来确定起步动画中每一帧图像的播放时间或者速度,通过对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,实现起步动画中每一帧的虚拟角色的位移信息,与在虚拟游戏场景中的实际位移相等匹配,避免发生位移不同步的问题。
需要说明的是,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,可以直接将位移信息中的位置数据和旋转数据传递给代码来计算虚拟角色在虚拟游戏场景中的实际位移,得到上述匹配结果;也可以将位移信息先与玩家输入的控制参数进行一步计算得到计算结果后,再进入计算位移信息的步骤,以提高对玩家操作响应的精准度和速度。
可选地,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配包括如下步骤:
步骤S331,利用虚拟角色的第一世界位置、位置曲线以及预设世界位移比例计算得到虚拟角色的第二世界位置,其中,第一世界位置为待使用的起步动画中与当前帧图像相邻的上一帧图像对应的世界位置,第二世界位置为待使用的起步动画中与当前帧图像对应的世界位置。
每帧图像的位移信息包含了虚拟角色对应的位置数据,上述第一世界位置可以从提取得到的位移信息中获取。上述预设世界位移比例用于表示根骨骼运动的动画位移与虚拟游戏的世界位移的比例。例如,如图8所示的起步开始状态动画中,第二帧图像82的位置数据,可以通过首帧图像81、位置曲线以及预设世界位移比例计算得到。
可选地,虚拟角色的第二世界位置Cwl2可通过如下公式计算得到:
Cwl2=Rc*S+Cwl1;
其中,Rc为上述位移信息中的位置曲线,Cwl1为第一世界位置,S为上述预设世界位移比例。
步骤S332,利用虚拟角色的第一旋转方向和旋转曲线计算得到虚拟角色的第二旋转方向,其中,第一旋转方向为待使用的起步动画中与当前帧图像相邻的上一帧图像对应的旋转方向,第二旋转方向为待使用的起步动画中与当前帧图像对应的旋转方向。
每帧图像的位移信息还包含了虚拟角色对应的旋转数据,上述第一旋转方向可以从提取得到的位移信息中获取。可选地,虚拟角色的第二旋转方向Cwr2可通过如下公式计算得到:
Cwr2=Rs+Cwr1;
其中,Rs为上述位移信息中的旋转曲线,Cwr1为第一旋转方向。
步骤S333,基于第二世界位置和第二旋转方向对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行实时匹配。
具体的,可以将提取得到位移信息的值通过脚本传递给计算虚拟角色移动的代码,将计算得到的第二世界位置和第二旋转方向来设置当前帧图像中虚拟角色的实际位移,以实现虚拟角色的位移距离完全与起步动画的播放时机相匹配,避免了使用RootMotion时虚拟角色的位移不同步的问题。
可选地,上述起步动画的处理方法还包括:通过调整预设世界位移比例的取值,改变待使用的起步动画的播放速率。
上述预设世界位移比例可以根据需要的动画效果设置,预设世界位移比例为计算虚拟角色的第二世界位置的变量,通过设置预设世界位移比例参与第二世界位置的计算,可以将虚拟角色的第二世界位置由不可控的常量转变为可控的变量,进一步调整预设世界位移比例的取值,可以改变起步动画的播放速率,进而实现了通过代码来调整起步动画的加减速的效果,并且不会出现位移不同步(滑步)的问题。
在虚拟游戏场景中,虚拟角色可以触发增益效果(buff)或者减益效果(debuff)等状态触发虚拟角色在虚拟游戏场景中的移动速度增加或者减缓,通过调整预设世界位移比例的取值,可以实现虚拟角色的移动速度增加或者减缓的技术效果,且不会出现滑步的问题。
在一种可选的实施中,在移动端平台游戏中,可以在虚拟角色的待机状态和移动状态之间增加起步动画来实现虚拟角色移动状态的自然过渡,起步动画包括起步开始状态动画和起步停止状态动画,如图8所示,起步开始状态动画可以包括从待机状态向移动状态变化的多帧图像,通过起步开始状态动画中连续变化的多帧图像,使得虚拟角色从待机状态向移动状态的变化过程更真实自然。如图9所示,起步停止状态动画包括从起步开始状态衔接回待机状态的多帧图像,以使虚拟角色根据停止指令回到待机状态的表现效果更自然。基于起步开始状态动画和起步停止状态动画的根骨骼运动提取并绘制出位置曲线和旋转曲线,将位置曲线和旋转曲线的值通过脚本传递给计算虚拟角色移动的代码,当播放起步开始状态动画或者起步停止状态动画时,位置曲线和旋转曲线可参与到虚拟角色移动的计算,实现移动速度、距离和动画节奏相匹配的效果,实现了位移的同步,并且起步状态在游戏中具有较快的响应手感,动画表现自然,细节丰富,提高了玩家的操作体验。
本实施例中,通过响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向,按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,基于待使用的起步动画的根骨骼运动提取对应的位移信息,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,实现了将根骨骼运动的位移信息和动画资源解耦,利用提取得到的位移信息参与虚拟角色移动的计算,使虚拟角色的位移距离与动画节奏完全一致,虚拟角色移动的计算不受网络延迟或者卡顿的影响,达到使用根骨骼运动时位移同步的效果,解决相关技术中所提供的在移动端平台游戏中使用根骨骼运动易导致位移不同步的技术问题。
可选地,控制指令中携带的控制参数包括:移动距离参数和移动方向参数,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配包括:利用移动距离参数和位置曲线计算得到虚拟角色的第三世界位置;利用移动方向参数和旋转曲线计算得到虚拟角色的第三旋转方向;基于第三世界位置和第三旋转方向对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行实时匹配。
移动距离参数和移动方向参数可以通过玩家在移动端的操作输入计算得到,例如,玩家可以操作移动端的遥控杆来控制控制虚拟角色的移动方向和距离,通过对遥控杆的操作数据进行计算,可以得到虚拟角色移动的距离和方向,分别作为上述移动距离参数和移动方向参数。
上述第三世界位置利用移动距离参数和位置曲线计算得到,第三旋转方向利用移动方向参数和旋转曲线计算得到,即基于起步动画的根骨骼运动提取得到位移信息并非直接用于虚拟角色的实际位移的计算,而是先与玩家输入的控制参数先进行计算,将计算得到的结果再用于计算虚拟角色的实际位移,得到上述第三世界位置和第三旋转方向,实现了直接使用根骨骼运动来影响玩家控制输入的响应效果,进而实现了更快捷精准的操作响应。
可选的,为了方便以及简化第三世界位置和第三旋转方向的计算,可以将玩家输入的控制参数映射为-1到1的数值,用于表示前、后、左、右四个分别相反的方向值,即前后使用一组-1到1的数值,左右使用一组-1到1的数值,将两组-1到1的数值代入至虚拟角色的实际位移的计算中,游戏引擎经过计算,可以得到虚拟角色在每帧图像中的第三世界位置和第三旋转方向。
图12是根据本发明实施例的一种可选的起步动画的处理方法示意图,如图12所示,起步动画的处理方法的计算蓝图中,通过“输入轴”获取到控制指令中携带的移动距离参数,将移动距离参数与位移信息中的位置曲线进行计算得到第三世界位置,其中,如图12所示,在虚拟角色朝0°至+90°之间的方向移动时,“输入轴”分为向前移动输入轴1201(MoveForward)和向右移动输入轴1202(MoveRight),向前移动输入轴1201和位置曲线1203(Root Curve)进行计算并输入至“添加移动输入1205”的标度值,向右移动输入轴1202和位置曲线1204(Root Curve)进行计算并输入至“添加移动输入1206”的标度值,获取控制旋转1207用于获取控制指令中携带的移动方向参数,并最终可确定“添加移动输入1205”和“添加移动输入1206”中的世界方向,“添加移动输入1205”和“添加移动输入1206”用于根据其输入值进行计算,得到第三世界位置和第三旋转方向。
需要说明的是,由于位移信息(RootCurve)是根据起步动画逐帧进行提取的,所提取得到位置曲线和旋转曲线可能不平滑,如果使用不平滑的位置曲线和旋转曲线与上述控制参数进行计算,可能给玩家带来较顿挫的操作体验,需要手动将位置曲线和旋转曲线调整平滑。图13是根据本发明实施例的平滑处理后的位移信息的示意图,如图13所示,使用经平滑处理后的位移信息中的位置曲线,可为玩家提供更为流畅的操作体验。此外,如图13所示的位置曲线,其纵坐标轴表示虚拟角色移动的距离,需要将纵坐标轴的距离值重新映射为0-1范围内的浮点数,保证位置曲线和移动距离参数计算后的数据可以保持在-1至1的范围内,避免发生位移计算错误。
可选地,上述起步动画的处理方法还包括:
步骤S34,基于连续多次匹配得到的多个匹配结果调整待使用的起步动画的播放时机和/或位移信息。
通过使用多个匹配结果来调整待使用的起步动画的播放时机和/或位移信息,可实现在移动端游戏中多次验证多次匹配后的起步动画效果,并根据验证的匹配结果反馈修改起步动画的节奏以及位移信息的值,经过反复多次的调整和验证可以得到较合适的起步动画的播放节奏和位置曲线/旋转曲线的曲率。
在本实施例中还提供了一种起步动画的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图14是根据本发明实施例的一种起步动画的处理装置的示意图,如图14所示,该装置包括:
确定模块1401,用于响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向;第一处理模块1402,用于按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,起步动画包括:起步开始状态动画和起步停止状态动画;提取模块1403,用于基于待使用的起步动画的根骨骼运动提取对应的位移信息;第二处理模块1404,用于利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。
可选地,图15是根据本发明其中一可选实施例的一种起步动画的处理装置的示意图,如图15所示,上述起步动画的处理装置还包括:划分模块1405,用于将起步状态划分为起步开始状态和起步停止状态;获取模块1406,用于获取起步开始状态对应的多个预设方向上的起步开始状态动画以及起步停止状态对应的多个预设方向上的起步停止状态动画,其中,多个预设方向用于确定虚拟角色的起步方向和迈脚顺序;存储模块1407,用于将多个预设方向上的起步开始状态动画和多个预设方向上的起步停止状态动画存储为起步动作资源文件。
可选地,起步状态的前一个相邻状态为待机状态,起步状态的后一个相邻状态为移动状态,起步开始状态对应的首帧图像与待机状态对应的尾帧图像衔接,起步停止状态对应的尾帧图像与待机状态对应的首帧图像衔接,起步开始状态对应的尾帧图像与起步停止状态对应的首帧图像衔接。
可选地,第一处理模块1402,用于按照目标方向确定多个预设方向的起步动画中每个预设方向的起步动画对应的权重;基于权重对多个预设方向上的起步动画进行融合处理,得到待使用的起步动画。
可选地,提取模块1403,用于按照时间先后顺序依次获取待使用的起步动画中每帧图像对应的时间点;在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动提取对应的位置数据和旋转数据,得到位移信息。
可选地,位移信息包括位置曲线,提取模块1403,用于在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动确定当前时间点对应的位置曲线值;利用每帧图像对应的时间点上确定的位置曲线值绘制位置曲线。
可选地,位移信息还包括旋转曲线,提取模块1403,用于在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动确定当前时间点对应的旋转曲线值;利用每帧图像对应的时间点上确定的旋转曲线值绘制旋转曲线。
可选地,第二处理模块1404,用于利用虚拟角色的第一世界位置、位置曲线以及预设世界位移比例计算得到虚拟角色的第二世界位置,其中,第一世界位置为待使用的起步动画中与当前帧图像相邻的上一帧图像对应的世界位置,第二世界位置为待使用的起步动画中与当前帧图像对应的世界位置;利用虚拟角色的第一旋转方向和旋转曲线计算得到虚拟角色的第二旋转方向,其中,第一旋转方向为待使用的起步动画中与当前帧图像相邻的上一帧图像对应的旋转方向,第二旋转方向为待使用的起步动画中与当前帧图像对应的旋转方向;基于第二世界位置和第二旋转方向对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行实时匹配。
可选地,如图15所示,上述起步动画的处理装置还包括:播放速度改变模块1408,用于通过调整预设世界位移比例的取值,改变待使用的起步动画的播放速率。
可选地,控制指令中携带的控制参数包括:移动距离参数和移动方向参数,上述第二处理模块1404,用于利用移动距离参数和位置曲线计算得到虚拟角色的第三世界位置;利用移动方向参数和旋转曲线计算得到虚拟角色的第三旋转方向;基于第三世界位置和第三旋转方向对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行实时匹配。
可选地,如图15所示,上述起步动画的处理装置还包括:调整模块1409,用于基于连续多次匹配得到的多个匹配结果调整待使用的起步动画的播放时机和/或位移信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S1,响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向。
步骤S2,按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,待使用的起步动画包括:起步开始状态动画和起步停止状态动画。
步骤S3,基于待使用的起步动画的根骨骼运动提取对应的位移信息。
步骤S4,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S1,响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向。
步骤S2,按照目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,待使用的起步动画包括:起步开始状态动画和起步停止状态动画。
步骤S3,基于待使用的起步动画的根骨骼运动提取对应的位移信息。
步骤S4,利用位移信息对待使用的起步动画的播放时机与虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种起步动画的处理方法,其特征在于,包括:
响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向;
按照所述目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,所述待使用的起步动画包括:起步开始状态动画和起步停止状态动画,所述多个预设方向用于确定所述虚拟角色的起步方向和迈脚顺序;
基于所述待使用的起步动画的根骨骼运动提取对应的位移信息;
利用所述位移信息对所述待使用的起步动画的播放时机与所述虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果;
其中,按照所述目标方向对所述多个预设方向上的起步动画进行融合处理,得到所述待使用的起步动画包括:按照所述目标方向确定所述多个预设方向的起步动画中每个预设方向的起步动画对应的权重;基于所述权重对所述多个预设方向上的起步动画进行融合处理,得到所述待使用的起步动画。
2.根据权利要求1所述的起步动画的处理方法,其特征在于,所述起步动画的处理方法还包括:
将所述起步状态划分为起步开始状态和起步停止状态;
获取所述起步开始状态对应的所述多个预设方向上的起步开始状态动画以及所述起步停止状态对应的所述多个预设方向上的起步停止状态动画;
将所述多个预设方向上的起步开始状态动画和所述多个预设方向上的起步停止状态动画存储为所述起步动作资源文件。
3.根据权利要求2所述的起步动画的处理方法,其特征在于,所述起步状态的前一个相邻状态为待机状态,所述起步状态的后一个相邻状态为移动状态,所述起步开始状态对应的首帧图像与所述待机状态对应的尾帧图像衔接,所述起步停止状态对应的尾帧图像与所述待机状态对应的首帧图像衔接,所述起步开始状态对应的尾帧图像与所述起步停止状态对应的首帧图像衔接。
4.根据权利要求1所述的起步动画的处理方法,其特征在于,基于所述待使用的起步动画的根骨骼运动提取所述位移信息包括:
按照时间先后顺序依次获取所述待使用的起步动画中每帧图像对应的时间点;
在每帧图像对应的时间点上,基于当前帧图像的根骨骼运动提取对应的位置数据和旋转数据,得到所述位移信息。
5.根据权利要求4所述的起步动画的处理方法,其特征在于,所述位移信息包括位置曲线,基于所述当前帧图像的根骨骼运动提取对应的位置数据,得到所述位移信息包括:
在每帧图像对应的时间点上,基于所述当前帧图像的根骨骼运动确定当前时间点对应的位置曲线值;
利用每帧图像对应的时间点上确定的位置曲线值绘制所述位置曲线。
6.根据权利要求5所述的起步动画的处理方法,其特征在于,所述位移信息还包括旋转曲线,基于所述当前帧图像的根骨骼运动提取对应的旋转数据,得到所述位移信息包括:
在每帧图像对应的时间点上,基于所述当前帧图像的根骨骼运动确定当前时间点对应的旋转曲线值;
利用每帧图像对应的时间点上确定的旋转曲线值绘制所述旋转曲线。
7.根据权利要求6所述的起步动画的处理方法,其特征在于,利用所述位移信息对所述待使用的起步动画的播放时机与所述虚拟角色在所述虚拟游戏场景中的实际位移进行匹配包括:
利用所述虚拟角色的第一世界位置、所述位置曲线以及预设世界位移比例计算得到所述虚拟角色的第二世界位置,其中,所述第一世界位置为所述待使用的起步动画中与当前帧图像相邻的上一帧图像对应的世界位置,所述第二世界位置为所述待使用的起步动画中与所述当前帧图像对应的世界位置;
利用所述虚拟角色的第一旋转方向和所述旋转曲线计算得到所述虚拟角色的第二旋转方向,其中,所述第一旋转方向为所述待使用的起步动画中与当前帧图像相邻的上一帧图像对应的旋转方向,所述第二旋转方向为所述待使用的起步动画中与所述当前帧图像对应的旋转方向;
基于所述第二世界位置和所述第二旋转方向对所述待使用的起步动画的播放时机与所述虚拟角色在所述虚拟游戏场景中的实际位移进行实时匹配。
8.根据权利要求7所述的起步动画的处理方法,其特征在于,所述起步动画的处理方法还包括:
通过调整所述预设世界位移比例的取值,改变所述待使用的起步动画的播放速率。
9.根据权利要求6所述的起步动画的处理方法,其特征在于,所述控制指令中携带的控制参数包括:移动距离参数和移动方向参数,利用所述位移信息对所述待使用的起步动画的播放时机与所述虚拟角色在所述虚拟游戏场景中的实际位移进行匹配包括:
利用所述移动距离参数和所述位置曲线计算得到所述虚拟角色的第三世界位置;
利用所述移动方向参数和所述旋转曲线计算得到所述虚拟角色的第三旋转方向;
基于所述第三世界位置和所述第三旋转方向对所述待使用的起步动画的播放时机与所述虚拟角色在所述虚拟游戏场景中的实际位移进行实时匹配。
10.根据权利要求1所述的起步动画的处理方法,其特征在于,所述起步动画的处理方法还包括:
基于连续多次匹配得到的多个匹配结果调整所述待使用的起步动画的播放时机和/或所述位移信息。
11.一种起步动画的处理装置,其特征在于,包括:
确定模块,用于响应接收到的控制指令,确定虚拟角色在起步状态下的目标方向;
第一处理模块,用于按照所述目标方向对起步动作资源文件中所包含的多个预设方向上的起步动画进行融合处理,得到待使用的起步动画,其中,所述起步动画包括:起步开始状态动画和起步停止状态动画,其中,所述多个预设方向用于确定所述虚拟角色的起步方向和迈脚顺序;
提取模块,用于基于所述待使用的起步动画的根骨骼运动提取对应的位移信息;
第二处理模块,用于利用所述位移信息对所述待使用的起步动画的播放时机与所述虚拟角色在虚拟游戏场景中的实际位移进行匹配,得到匹配结果;
其中,所述第一处理模块通过以下步骤来按照所述目标方向对所述多个预设方向上的起步动画进行融合处理,得到所述待使用的起步动画:按照所述目标方向确定所述多个预设方向的起步动画中每个预设方向的起步动画对应的权重;基于所述权重对所述多个预设方向上的起步动画进行融合处理,得到所述待使用的起步动画。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的起步动画的处理方法。
13.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至10任一项中所述的起步动画的处理方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至10任一项中所述的起步动画的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110675355.0A CN113318439B (zh) | 2021-06-17 | 2021-06-17 | 起步动画的处理方法、装置、处理器和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110675355.0A CN113318439B (zh) | 2021-06-17 | 2021-06-17 | 起步动画的处理方法、装置、处理器和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113318439A CN113318439A (zh) | 2021-08-31 |
CN113318439B true CN113318439B (zh) | 2024-05-28 |
Family
ID=77423671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110675355.0A Active CN113318439B (zh) | 2021-06-17 | 2021-06-17 | 起步动画的处理方法、装置、处理器和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113318439B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114283229A (zh) * | 2021-11-19 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 虚拟角色的行走动画生成方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104835189A (zh) * | 2015-04-16 | 2015-08-12 | 镇江微端网络科技有限公司 | 基于后缀树运动图模型的运动合成方法 |
CN106780683A (zh) * | 2017-02-23 | 2017-05-31 | 网易(杭州)网络有限公司 | 骨骼动画数据的处理方法及装置 |
CN110264554A (zh) * | 2019-06-24 | 2019-09-20 | 网易(杭州)网络有限公司 | 动画信息的处理方法、装置、存储介质和电子装置 |
CN110930483A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111803946A (zh) * | 2020-07-22 | 2020-10-23 | 网易(杭州)网络有限公司 | 游戏中的镜头切换方法、装置和电子设备 |
CN111880877A (zh) * | 2020-07-24 | 2020-11-03 | 上海米哈游天命科技有限公司 | 一种动画切换方法、装置、设备及存储介质 |
CN112001989A (zh) * | 2020-07-28 | 2020-11-27 | 完美世界(北京)软件科技发展有限公司 | 虚拟对象的控制方法及装置、存储介质、电子装置 |
CN112354186A (zh) * | 2020-11-10 | 2021-02-12 | 网易(杭州)网络有限公司 | 游戏动画模型控制方法、装置、电子设备以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2580615B (en) * | 2019-01-16 | 2022-10-26 | Sony Interactive Entertainment Inc | Method and system for determining blending coefficients |
-
2021
- 2021-06-17 CN CN202110675355.0A patent/CN113318439B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104835189A (zh) * | 2015-04-16 | 2015-08-12 | 镇江微端网络科技有限公司 | 基于后缀树运动图模型的运动合成方法 |
CN106780683A (zh) * | 2017-02-23 | 2017-05-31 | 网易(杭州)网络有限公司 | 骨骼动画数据的处理方法及装置 |
CN110264554A (zh) * | 2019-06-24 | 2019-09-20 | 网易(杭州)网络有限公司 | 动画信息的处理方法、装置、存储介质和电子装置 |
CN110930483A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111803946A (zh) * | 2020-07-22 | 2020-10-23 | 网易(杭州)网络有限公司 | 游戏中的镜头切换方法、装置和电子设备 |
CN111880877A (zh) * | 2020-07-24 | 2020-11-03 | 上海米哈游天命科技有限公司 | 一种动画切换方法、装置、设备及存储介质 |
CN112001989A (zh) * | 2020-07-28 | 2020-11-27 | 完美世界(北京)软件科技发展有限公司 | 虚拟对象的控制方法及装置、存储介质、电子装置 |
CN112354186A (zh) * | 2020-11-10 | 2021-02-12 | 网易(杭州)网络有限公司 | 游戏动画模型控制方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113318439A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111744200A (zh) | 由图像或视频数据生成虚拟角色 | |
WO2023015921A1 (zh) | 动画数据处理方法、非易失性存储介质及电子装置 | |
JP7447299B2 (ja) | 仮想シーンのアダプティブ表示方法及び装置、電子機器、並びにコンピュータプログラム | |
CN111714880B (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
US11783523B2 (en) | Animation control method and apparatus, storage medium, and electronic device | |
CN106780681A (zh) | 一种角色动作生成方法和装置 | |
WO2024012459A1 (zh) | 一种vr端端云结合的虚拟演唱会渲染方法及系统 | |
CN106873767A (zh) | 一种虚拟现实应用的运行控制方法和装置 | |
US10758826B2 (en) | Systems and methods for multi-user editing of virtual content | |
CN110180190B (zh) | 虚拟角色的动作的处理方法、装置、存储介质和电子装置 | |
CN107248185A (zh) | 一种虚拟仿真偶像实时直播方法及系统 | |
CN111494953A (zh) | 游戏角色移动同步方法、装置、设备及存储介质 | |
US11978145B2 (en) | Expression generation for animation object | |
US11816772B2 (en) | System for customizing in-game character animations by players | |
CN111760286A (zh) | 运镜模式的切换方法及装置、存储介质、电子装置 | |
US20230245385A1 (en) | Interactive method and apparatus based on virtual scene, device, and medium | |
CN113318439B (zh) | 起步动画的处理方法、装置、处理器和电子装置 | |
CN113826147A (zh) | 动画角色的改进 | |
CN112891947A (zh) | 跳跃动画处理方法、装置、电子设备及计算机可读介质 | |
CN113763568A (zh) | 增强现实的显示处理方法、装置、设备及存储介质 | |
CN116385605A (zh) | 目标对象的飞行动画生成方法、装置及电子设备 | |
US20220172431A1 (en) | Simulated face generation for rendering 3-d models of people that do not exist | |
CN114419211A (zh) | 控制虚拟角色骨骼的方法、装置、存储介质及电子装置 | |
CN115526967A (zh) | 虚拟模型的动画生成方法、装置、计算机设备及存储介质 | |
KR20070025384A (ko) | 춤추는 아바타를 생성하는 방법 및 서버와 춤추는 아바타를이용한 응용 서비스 제공 방법 |
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 |