CN110298907B - 一种虚拟角色动作控制方法及装置、计算设备及存储介质 - Google Patents
一种虚拟角色动作控制方法及装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN110298907B CN110298907B CN201910600532.1A CN201910600532A CN110298907B CN 110298907 B CN110298907 B CN 110298907B CN 201910600532 A CN201910600532 A CN 201910600532A CN 110298907 B CN110298907 B CN 110298907B
- Authority
- CN
- China
- Prior art keywords
- action
- character
- role
- key frame
- playing
- 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
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/55—Controlling game characters or game objects based on the game progress
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本说明书提供一种虚拟角色动作控制方法及装置、计算设备及存储介质,其中所述虚拟角色动作控制方法包括:获取所述虚拟角色在应用场景中的至少两个角色动作;在所述应用场景中播放所述至少两个角色动作中的第一角色动作;在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,将所述第一角色动作的当前动作状态与所述第二角色动作的初始动作状态相衔接;停止播放所述第一角色动作并开始播放所述第二角色动作。
Description
技术领域
本说明书涉及计算机图形学技术领域,特别涉及一种虚拟角色动作控制方法及装置、计算设备及存储介质。
背景技术
在现有技术的游戏或三维动画中,虚拟角色的角色动作制作往往需要消耗很大的运算量,当涉及到多个角色动作的时候,实现虚拟角色的多个角色动作的连续衔接,实现时间和空间上的连续性和协调性都需要消耗大量的运算时间和硬件资源,在资源不足的情况下,经常会出现虚拟角色的多个角色动作在切换时出现位置闪烁且过度不自然的问题,因此,如何高效并真实地构建虚拟角色的角色动作,尤其是多个连续的动作成为了计算机图形学领域的一大难点。
发明内容
有鉴于此,本说明书实施例提供了一种虚拟角色动作控制方法及装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种虚拟角色动作控制方法,包括:
获取所述虚拟角色在应用场景中的至少两个角色动作;
在所述应用场景中播放所述至少两个角色动作中的第一角色动作;
在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,将所述第一角色动作的当前动作状态与所述第二角色动作的初始动作状态相衔接;
停止播放所述第一角色动作并开始播放所述第二角色动作。
可选的,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作包括:
根据用户的请求或根据所述应用场景的剧情,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发。
可选的,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发包括:
将所述第一角色动作的当前关键帧与所述第二角色动作的初始关键帧相关联。
可选的,将第一角色动作的当前动作状态与第二角色动作的初始动作状态相衔接包括:
通过所述虚拟角色的根骨骼将所述第一角色动作的当前动作状态的世界位置与所述第二角色动作的初始动作状态的世界位置进行对齐。
可选的,通过所述虚拟角色的根骨骼将所述第一角色动作的当前动作状态的世界位置与所述第二角色动作的初始动作状态的世界位置进行对齐包括:
获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵;
将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵。
可选的,获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵包括:
获取所述根骨骼在播放所述第一角色动作时的世界矩阵;
获取所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵;
根据所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵,确定所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
可选的,根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵包括:
获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵;
根据所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵和所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
可选的,停止播放所述第一角色动作并开始播放所述第二角色动作包括:
在所述第一角色动作的当前关键帧结束后停止所述第一角色动作的播放,并从所述第二角色动作的初始关键帧开始所述第二角色动作的播放。
根据本说明书实施例的第二方面,提供了一种虚拟角色动作衔接装置,包括:
获取模块,被配置为获取所述虚拟角色在应用场景中的至少两个角色动作;
第一播放模块,被配置为在所述应用场景中播放所述至少两个角色动作中的第一角色动作;
衔接模块,被配置为在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,将所述第一角色动作的当前动作状态与所述第二角色动作的初始动作状态相衔接;
第二播放模块,被配置为停止播放所述第一角色动作并开始播放所述第二角色动作。
可选的,所述衔接模块包括:
触发单元,被配置为根据用户的请求或根据所述应用场景的剧情,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发。
可选的,所述触发单元包括:
关键帧关联单元,被配置为将所述第一角色动作的当前关键帧与所述第二角色动作的初始关键帧相关联。
可选的,所述衔接模块包括:
匹配单元,被配置为通过所述虚拟角色的根骨骼将所述第一角色动作的当前动作状态的世界位置与所述第二角色动作的初始动作状态的世界位置进行对齐。
可选的,所述匹配单元包括:
矩阵获取单元,被配置为获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵;
矩阵赋予单元,被配置为将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵;
矩阵计算单元,根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
可选的,所述矩阵获取单元包括:
第一获取子单元,被配置为获取所述根骨骼在播放所述第一角色动作时的世界矩阵;
第二获取子单元,被配置为获取所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵;
第一计算单元,被配置为根据所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵,确定所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
可选的,所述矩阵计算单元包括:
第三获取子单元,被配置为获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵;
第二计算单元,被配置为根据所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵和所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
可选的,所述第二播放模块包括:
关键帧串联单元,被配置为在所述第一角色动作的当前关键帧结束后停止所述第一角色动作的播放,并从所述第二角色动作的初始关键帧开始所述第二角色动作的播放。
根根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述虚拟角色动作控制方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述虚拟角色动作控制方法的步骤。
本说明书实施例中,通过数学调整将虚拟角色的根骨骼在两个相邻角色动作进行切换过程中进行对齐,实现了相邻两个角色动作之间的连续衔接,保证了多个角色动作之间在时间和空间上的连续性和协调性一致性,使得虚拟角色的动作切换过程真实且柔和,高效的构建了虚拟角色的角色动作。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的虚拟角色动作控制方法的流程图;
图3是本申请实施例提供的虚拟角色动作控制方法的流程图;
图4是本申请实施例提供的虚拟角色动作控制方法的流程图
图5是本申请实施例提供的虚拟角色动作控制方法的流程图
图6是本申请实施例提供的虚拟角色动作控制装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请中,提供了一种虚拟角色动作控制方法及装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的虚拟角色动作控制方法的示意性流程图,包括步骤201至步骤204。
步骤201:获取所述虚拟角色在应用场景中的至少两个角色动作。
在本申请实施例中,所述应用场景可以是游戏或者三维动画中的应用场景,所述虚拟角色可以是所述游戏或者三维动画中的人物模型、动物模型或机械模型等等,本申请的系统可以获取所述虚拟角色在应用场景中的n个角色动作中的至少两个连贯或不连贯的角色动作,以鸟类为例:在游戏或者三维动画中的鸟类可以包含如起飞、飞行、降落、盘旋、滑翔和拍打翅膀等角色动作,本申请的系统可以获取其中任意两个或多个其中连续或不连续的角色动作。
步骤202:在所述应用场景中播放所述至少两个角色动作中的第一角色动作。
在本申请实施例中,系统可以在所述游戏或者三维动画中播放所述至少两个角色动作中的第一角色动作,以鸟类为例:系统可以在所述游戏或者三维动画中播放鸟类全部的角色动作中的任意一个角色动作,并作为第一角色动作。
步骤203:在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,将所述第一角色动作的当前动作状态与所述第二角色动作的初始动作状态相衔接。
在本申请实施例中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作包括:
根据用户的请求或根据所述应用场景的剧情,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发。
在本申请实施例中,以一个具体应用场景为例:在游戏或者三维动画中,鸟类可以根据用户的请求或剧情的需要与玩家控制的虚拟人物进行互动,在互动的进行过程中,鸟类可以绕着所述玩家控制的虚拟人物不停的盘旋,即不停的播放第一角色动作,当所述玩家控制的虚拟人物离开或终止互动时,无论所述鸟类盘旋至所述玩家控制的虚拟人物的任意位置处或所述盘旋的角色动作处于播放的任意时刻,系统都可打断当前的盘旋动作并将鸟类的飞行动作即所述第二角色动作衔接,形成鸟类在当前位置上飞走的效果。
其中,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发包括:
将所述第一角色动作的当前关键帧与所述第二角色动作的初始关键帧相关联。
在本申请实施例中,以上述应用场景为例:在鸟类盘旋到任意位置时需要播放飞走的角色动作的情况下,在盘旋动作当前对应的关键帧结束后立即停止盘旋动作,并将飞行动作的初始关键帧与所述盘旋动作当前对应的关键帧相关联,使得玩家在整体上观察到的是流畅的鸟类运动,避免出现延迟或位置闪动等失真效果。
在本申请实施例中,将第一角色动作的当前动作状态与第二角色动作的初始动作状态相衔接包括:
通过所述虚拟角色的根骨骼将所述第一角色动作的当前动作状态的世界位置与所述第二角色动作的初始动作状态的世界位置进行对齐。
在本申请实施例中,三维场景中所述虚拟对象主要是由骨架结构和皮肤进行表示的,所述骨架结构是指多根骨骼按照父子关系以梳妆结构组织起来形成虚拟角色模型的整个骨骼结构,并且位于树根处的骨骼成为根骨骼,他是形成骨骼架构的关键点,其他所有骨骼被称为子骨骼,子骨骼复数域根骨骼并直接或间接的与根骨骼相连接。因此,本申请的系统通过所述虚拟对象的根骨骼来对齐所述第一角色动作被打断时在所述三维场景中的世界位置与所述第二角色动切入时在所述三维场景中的世界位置。以上述应用场景为例:鸟类有其自身对应的骨架结构和根骨骼,鸟类在进行盘旋动作即所述第一角色动作时其自身的根骨骼在三维场景中按照特定位置或路线进行运动,鸟类在进行飞行动作即所述第二角色动时其自身的根骨骼在三维场景中也按照特定位置或路线进行运动,在鸟类盘旋的过程中将要飞走的情况下,将盘旋动作当前运动状态下的根骨骼的所在位置与飞行动作开始切入时的根骨骼的所在位置相对齐,从而得到飞行动作的播放原点。
在本申请实施例中,如图3所示,通过所述虚拟角色的根骨骼将所述第一角色动作的当前动作状态的世界位置与所述第二角色动作的初始动作状态的世界位置进行对齐包括步骤301至步骤302:
步骤301:获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
在本申请实施例中,如图4所示,获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵包括步骤401至步骤403:
步骤401:获取所述根骨骼在播放所述第一角色动作时的世界矩阵。
本申请实施例中,系统可以获取所述根骨骼在播放所述第一角色动作时的世界矩阵MatWorldA,例如鸟类进行盘旋动作其根骨骼对应的世界矩阵。
步骤402:获取所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵。
本申请实施例中,系统可以获取所述虚拟对象的根骨骼在第一角色动作的当前关键帧(第K帧)对应的偏移矩阵MAk,例如鸟类在进行盘旋动作时其根骨骼在当前关键帧(第K帧)对应的偏移矩阵。
步骤403:根据所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵,确定所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
本申请实施例中,系统可以通过将根骨骼世界矩阵MatWorldA与根骨骼偏移矩阵MAk进行矩阵乘积,即MatRootBone=MatWorldA*MAk,得到所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵MatRootBone,例如鸟类在进行盘旋动作时其根骨骼在当前关键帧(第K帧)对应的世界矩阵。
步骤302:将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵。
在本申请实施例中,通过数学调整将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵MatRootBone作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵MatRootBone',即MatRootBone=MatRootBone',从而将所述第一角色动作的切断位置与所述第二角色动作的开始位置进行对齐,从而保证所述虚拟对象在进行动作切换时不会出现闪烁。
步骤303:根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
在本申请实施例中,如图5所示,根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵包括步骤501至步骤502:
步骤501:获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵。
本申请实施例中,系统可以获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵MatB1作为已知数据,例如鸟类在进行飞行动作时其根骨骼在初始关键帧对应的偏移矩阵。
步骤502:根据所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵、所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
本申请实施例中,由于所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵MatRootBone'等于所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵MatB1与所述根骨骼在播放所述第二角色动作时的世界矩阵MatWorldB的乘积,即MatRootBone'=MatWorldB*MatB1,并且由于MatRootBone=MatRootBone',因此,通过将根骨骼世界矩阵MatWorldA、根骨骼偏移矩阵MAk与所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵MatB1的逆矩阵进行乘积,得到所述根骨骼在播放所述第二角色动作时的世界矩阵MatWorldB,即MatWorldB=MatWorldA*MatWorldA*MatB1-1,从而实现所述第一角色动作与所述第二角色动作的衔接。
本申请通过设置所述虚拟对象的根骨骼在播放所述第二角色动作时的世界矩阵MatWorldB,从而完成了从所述第一角色动作的任意位置处切换至所述第二角色动作的柔和过度。
步骤204:停止播放所述第一角色动作并开始播放所述第二角色动作。
在本申请实施例中,停止播放所述第一角色动作并开始播放所述第二角色动作包括:
在所述第一角色动作的当前关键帧结束后停止所述第一角色动作的播放,并从所述第二角色动作的初始关键帧开始所述第二角色动作的播放。
通过数学调整将虚拟角色的根骨骼在多个两个相邻角色动作的骨骼矩阵相匹配进行切换过程中进行对齐,实现了相邻两个角色动作之间的连续衔接,保证了多个角色动作之间在时间和空间上的连续性和协调性一致性,使得虚拟角色的动作切换过程真实且柔和,高效并真实的构建了虚拟角色的角色动作。
与上述方法实施例相对应,本说明书还提供了虚拟角色动作控制装置实施例,图6示出了本说明书一个实施例的虚拟角色动作控制装置的结构示意图。如图6所示,该装置包括:
获取模块601,被配置为获取所述虚拟角色在应用场景中的至少两个角色动作。
第一播放模块602,被配置为在所述应用场景中播放所述至少两个角色动作中的第一角色动作。
衔接模块603,被配置为在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,将所述第一角色动作的当前动作状态与所述第二角色动作的初始动作状态相衔接。
第二播放模块604,被配置为停止播放所述第一角色动作并开始播放所述第二角色动作。
可选的,所述衔接模块603包括:
触发单元,被配置为根据用户的请求或根据所述应用场景的剧情,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发。
可选的,所述触发单元包括:
关键帧关联单元,被配置为将所述第一角色动作的当前关键帧与所述第二角色动作的初始关键帧相关联。
可选的,所述衔接模块603包括:
匹配单元,被配置为通过所述虚拟角色的根骨骼将所述第一角色动作的当前动作状态的世界位置与所述第二角色动作的初始动作状态的世界位置进行对齐。
可选的,所述匹配单元包括:
矩阵获取单元,被配置为获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵;
矩阵赋予单元,被配置为将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵;
矩阵计算单元,根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
可选的,所述矩阵获取单元包括:
第一获取子单元,被配置为获取所述根骨骼在播放所述第一角色动作时的世界矩阵;
第二获取子单元,被配置为获取所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵;
第一计算单元,被配置为根据所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵,确定所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
可选的,所述矩阵计算单元包括:
第三获取子单元,被配置为获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵;
第二计算单元,被配置为根据所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵和所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
可选的,所述第二播放模块604包括:
关键帧串联单元,被配置为在所述第一角色动作的当前关键帧结束后停止所述第一角色动作的播放,并从所述第二角色动作的初始关键帧开始所述第二角色动作的播放。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
获取所述虚拟角色在应用场景中的至少两个角色动作;
在所述应用场景中播放所述至少两个角色动作中的第一角色动作;
在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,将所述第一角色动作的当前动作状态与所述第二角色动作的初始动作状态相衔接;
停止播放所述第一角色动作并开始播放所述第二角色动作。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述虚拟角色动作控制方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟角色动作控制方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟角色动作控制方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种虚拟角色动作控制方法,其特征在于,包括:
获取所述虚拟角色在应用场景中的至少两个角色动作;
在所述应用场景中播放所述至少两个角色动作中的第一角色动作;
在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,获取所述虚拟角色的根骨骼在第一角色动作的当前关键帧对应的世界矩阵;将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵;根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵,所述根骨骼位于所述虚拟角色骨骼结构的树根处;
停止播放所述第一角色动作并开始播放所述第二角色动作。
2.根据权利要求1所述的方法,其特征在于,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作包括:
根据用户的请求或根据所述应用场景的剧情,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发。
3.根据权利要求2所述的方法,其特征在于,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发包括:
将所述第一角色动作的当前关键帧与所述第二角色动作的初始关键帧相关联。
4.根据权利要求1所述的方法,其特征在于,获取所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵包括:
获取所述根骨骼在播放所述第一角色动作时的世界矩阵;
获取所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵;
根据所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵,确定所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
5.根据权利要求4所述的方法,其特征在于,根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵包括:
获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵;
根据所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵和所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
6.根据权利要求3所述的方法,其特征在于,停止播放所述第一角色动作并开始播放所述第二角色动作包括:
在所述第一角色动作的当前关键帧结束后停止所述第一角色动作的播放,并从所述第二角色动作的初始关键帧开始所述第二角色动作的播放。
7.一种虚拟角色动作控制装置,其特征在于,包括:
获取模块,被配置为获取所述虚拟角色在应用场景中的至少两个角色动作;
第一播放模块,被配置为在所述应用场景中播放所述至少两个角色动作中的第一角色动作;
衔接模块,被配置为在所述第一角色动作的播放过程中,在根据所述应用场景将要播放所述至少两个角色动作中的第二角色动作的情况下,运行匹配单元,所述匹配单元包括:
矩阵获取单元,被配置为获取所述虚拟角色的根骨骼在第一角色动作的当前关键帧对应的世界矩阵;
矩阵赋予单元,被配置为将所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵作为所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵;
矩阵计算单元,根据所述根骨骼在第二角色动作的初始关键帧对应的世界矩阵和所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵,所述根骨骼位于所述虚拟角色骨骼结构的树根处;
第二播放模块,被配置为停止播放所述第一角色动作并开始播放所述第二角色动作。
8.根据权利要求7所述的装置,其特征在于,所述衔接模块包括:
触发单元,被配置为根据用户的请求或根据所述应用场景的剧情,在所述第一角色动作播放中的任意时刻将所述第二角色动作触发。
9.根据权利要求8所述的装置,其特征在于,所述触发单元包括:
关键帧关联单元,被配置为将所述第一角色动作的当前关键帧与所述第二角色动作的初始关键帧相关联。
10.根据权利要求7所述的装置,其特征在于,所述矩阵获取单元包括:
第一获取子单元,被配置为获取所述根骨骼在播放所述第一角色动作时的世界矩阵;
第二获取子单元,被配置为获取所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵;
第一计算单元,被配置为根据所述根骨骼在播放所述第一角色动作时的世界矩阵和所述根骨骼在第一角色动作的当前关键帧对应的骼偏移矩阵,确定所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵。
11.根据权利要求10所述的装置,其特征在于,所述矩阵计算单元包括:
第三获取子单元,被配置为获取所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵;
第二计算单元,被配置为根据所述根骨骼在第二角色动作的初始关键帧对应的偏移矩阵和所述根骨骼在第一角色动作的当前关键帧对应的世界矩阵,确定所述根骨骼在播放所述第二角色动作时的世界矩阵。
12.根据权利要求7所述的装置,其特征在于,所述第二播放模块包括:
关键帧串联单元,被配置为在所述第一角色动作的当前关键帧结束后停止所述第一角色动作的播放,并从所述第二角色动作的初始关键帧开始所述第二角色动作的播放。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910600532.1A CN110298907B (zh) | 2019-07-04 | 2019-07-04 | 一种虚拟角色动作控制方法及装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910600532.1A CN110298907B (zh) | 2019-07-04 | 2019-07-04 | 一种虚拟角色动作控制方法及装置、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110298907A CN110298907A (zh) | 2019-10-01 |
CN110298907B true CN110298907B (zh) | 2023-07-25 |
Family
ID=68030273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910600532.1A Active CN110298907B (zh) | 2019-07-04 | 2019-07-04 | 一种虚拟角色动作控制方法及装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110298907B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110969682B (zh) * | 2019-11-27 | 2021-03-02 | 深圳追一科技有限公司 | 虚拟形象切换方法、装置、电子设备及存储介质 |
CN111063013A (zh) * | 2019-12-26 | 2020-04-24 | 珠海金山网络游戏科技有限公司 | 一种角色动作拼接方法及装置 |
CN111273783B (zh) * | 2020-03-25 | 2023-01-31 | 北京百度网讯科技有限公司 | 数字人的控制方法及装置 |
CN111768474B (zh) * | 2020-05-15 | 2021-08-20 | 完美世界(北京)软件科技发展有限公司 | 动画生成方法、装置、设备 |
CN111659115B (zh) * | 2020-07-02 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 虚拟角色控制方法、装置、计算机设备和存储介质 |
CN113546423B (zh) * | 2021-07-22 | 2024-04-30 | 网易(杭州)网络有限公司 | 一种动作生成方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528804A (zh) * | 2015-12-17 | 2016-04-27 | 网易(杭州)网络有限公司 | 计算机动画中骨骼链的处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090262118A1 (en) * | 2008-04-22 | 2009-10-22 | Okan Arikan | Method, system and storage device for creating, manipulating and transforming animation |
JP6325581B2 (ja) * | 2013-03-15 | 2018-05-16 | 株式会社ソニー・インタラクティブエンタテインメント | スケルタルアニメーションのユーザ生成記録 |
CN104268920B (zh) * | 2014-09-05 | 2017-08-18 | 无锡梵天信息技术股份有限公司 | 一种利用布娃娃物理系统模拟人物角色死亡的方法 |
CN105976417B (zh) * | 2016-05-27 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 动画生成方法和装置 |
CN106780766B (zh) * | 2016-11-24 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 匹配实现方法及相关装置 |
-
2019
- 2019-07-04 CN CN201910600532.1A patent/CN110298907B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528804A (zh) * | 2015-12-17 | 2016-04-27 | 网易(杭州)网络有限公司 | 计算机动画中骨骼链的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110298907A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298907B (zh) | 一种虚拟角色动作控制方法及装置、计算设备及存储介质 | |
WO2022001652A1 (zh) | 虚拟角色控制方法、装置、计算机设备和存储介质 | |
CN111744177B (zh) | 游戏数据处理方法和装置、存储介质和电子设备 | |
CN109621419B (zh) | 游戏角色表情的生成装置方法及装置、存储介质 | |
CN109902820A (zh) | Ai模型训练方法、装置、存储介质及设备 | |
CN111111192B (zh) | 一种游戏角色的移动方法及装置 | |
US11978145B2 (en) | Expression generation for animation object | |
EP3832604A1 (en) | Animation control method and device, storage medium, and electronic device | |
US11833433B2 (en) | Online virtual narration method and device, and medium | |
CN111729291B (zh) | 一种交互方法、装置、电子设备和存储介质 | |
CN112604287B (zh) | 一种虚拟角色的状态控制方法及装置 | |
CN112604286B (zh) | 一种游戏技能同步执行方法及装置 | |
CN111054073A (zh) | 一种双游戏角色的移动方法及装置 | |
CN111773669B (zh) | 一种在虚拟环境中生成虚拟对象方法及装置 | |
CN110841296A (zh) | 游戏角色技能的生成方法、装置、电子设备及存储介质 | |
WO2022198971A1 (zh) | 一种虚拟角色的动作切换方法、装置及存储介质 | |
CN111135580B (zh) | 一种游戏角色待机动画生成方法及装置 | |
CN114531406A (zh) | 界面展示方法、装置及存储介质 | |
CN111063013A (zh) | 一种角色动作拼接方法及装置 | |
CN112604304B (zh) | 一种虚拟对象的交互控制方法及装置 | |
CN113230657B (zh) | 一种角色交互方法及装置 | |
CN116650957B (zh) | 游戏技能动画播放方法、设备和存储介质 | |
CN113209621B (zh) | 虚拟角色控制方法及装置、计算设备及存储介质 | |
CN114047998B (zh) | 对象更新方法及装置 | |
JP7530496B1 (ja) | プログラム |
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 | ||
CB02 | Change of applicant information |
Address after: 510660 No. 309, Huangpu Avenue, Tianhe District, Guangzhou City, Guangdong Province 3-04-1 Applicant after: Guangzhou Xishanju Network Technology Co.,Ltd. Address before: 510660 No. 309, Huangpu Avenue, Tianhe District, Guangzhou City, Guangdong Province 3-04-1 Applicant before: GUANGZHOU SEASUN ENTERTAINMENT NETWORK TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |