CN115526967A - 虚拟模型的动画生成方法、装置、计算机设备及存储介质 - Google Patents
虚拟模型的动画生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115526967A CN115526967A CN202211257262.7A CN202211257262A CN115526967A CN 115526967 A CN115526967 A CN 115526967A CN 202211257262 A CN202211257262 A CN 202211257262A CN 115526967 A CN115526967 A CN 115526967A
- Authority
- CN
- China
- Prior art keywords
- animation
- target
- virtual model
- sub
- frame
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种虚拟模型的动画生成方法、装置、计算机设备及存储介质,通过获取目标虚拟模型的目标控制器;获取源动画对应的源虚拟模型;获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画;本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,从而提升了制作效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种虚拟模型的动画生成方法、装置、计算机设备及存储介质。
背景技术
随着计算机通信技术的不断发展,智能手机、平板电脑及笔记本电脑等终端的大量普及应用,终端向着多样化、个性化的方向发展,日益成为人们在生活与工作中不可或缺的终端,为了满足人们对精神生活的追求,能够在终端上操作的娱乐游戏应运而生,例如,基于客户端或服务器架构开发的多人在线战术竞技游戏(Multiplayer Online BattleArena,MOBA)和大型多人在线游戏(Massive Multiplayer Online,MMO)等类型的游戏,由于具有高流畅度、操作手感好、即时战斗等特点,深受用户喜爱,为了满足玩家在游戏中的真实感,游戏制作人员常常会基于虚拟骨骼模型构建游戏虚拟角色或游戏虚拟物体,以供玩家操控游戏虚拟角色或游戏虚拟物体进行游戏。
目前,游戏制作人员通常会为虚拟角色提供动画,例如骨骼蒙皮动画的基本原理是在骨骼的控制下通过顶点混合动态算法计算蒙皮网络的顶点,且子骨骼相对于根骨骼运动,并且由动画关键帧数据驱动。为了减少游戏制作人员的工作量,通常会采用重定向技术使拥有相同骨骼结构的不同虚拟模型使用同一动画效果。然而,现有的重定向技术仅仅只能在拥有相同骨骼结构的虚拟模型中使用,不同骨骼结构的虚拟模型使用同一套动画时存在某些虚拟模型的动画效果表现存在不合理的现象,游戏制作人员需要为不同骨骼模型的虚拟模型单独制作不同的动画效果,导致制作效率低。
发明内容
本申请实施例提供一种虚拟模型的动画生成方法、装置、计算机设备及存储介质,通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,从而提升了制作效率。
本申请实施例提供一种虚拟模型的动画生成方法,该方法包括:
获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;
获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
相应的,本申请实施例还提供了一种虚拟模型的动画生成装置,该虚拟模型的动画生成装置包括:
第一获取单元,用于获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
第二获取单元,用于获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;
第三获取单元,用于获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
确定单元,用于根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
生成单元,用于基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
本申请实施例还提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的虚拟模型的动画生成方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的虚拟模型的动画生成方法中的步骤。
本申请实施例提供了一种虚拟模型的动画生成方法、装置、计算机设备及存储介质,通过获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;然后,获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;接着,获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;之后,根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;最后,基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,游戏制作人员无需为不同骨骼模型的虚拟模型单独制作不同的动画效果,从而提升了制作效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的虚拟模型的动画生成系统的场景示意图。
图2是本申请实施例提供的虚拟模型的动画生成方法的一种流程示意图;
图3是本申请实施例提供的虚拟模型的动画生成方法的一种场景示意图;
图4是本申请实施例提供的虚拟模型的动画生成方法的另一种流程示意图;
图5是本申请实施例提供的虚拟模型的动画生成装置的结构示意图。
图6是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中的动画重定向技术,指的是让一个没有动画、没有状态的初始虚拟模型,使用其他已经创建好的参考虚拟模型的动画和状态,从而使初始虚拟模型具有和参考模型相同动画效果。然而,现有的动画重定向技术存在骨骼重定向的位置不准确的问题,例如,对于小狗虚拟模型和鳄鱼虚拟模型,小狗虚拟模型的鼻子动画在脸上,鳄鱼虚拟模型的鼻子动画在上颚,由于骨骼层级不同,小狗虚拟模型的鼻子动画和鳄鱼虚拟模型的鼻子动画并不通用,这使得小狗虚拟模型的鼻子动画并不会被重定向到鳄鱼虚拟模型的脸上;并且,鳄鱼虚拟模型的眼睛动画在左右看时为左右旋转眼球,小狗虚拟模型的眼睛动画在左右看时为眼球左右移动,如果此时进行动画重定向技术,会导致采用小狗虚拟模型的眼睛动画的鳄鱼虚拟模型的眼睛动画为眼球左右移动,存在动画重定向错误。因此,现有技术中的动画重定向技术,需要初始虚拟模型与参考虚拟模型的骨架的层级关系完全一致,不同骨骼结构的虚拟模型使用同一套动画时存在某些虚拟模型的动画效果表现存在不合理的现象,导致动画制作效率低。
为了解决上述问题,本申请实施例提供一种虚拟模型的动画生成方法、装置、计算机设备及存储介质,通过获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;然后,获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;接着,获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;之后,根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;最后,基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,游戏制作人员无需为不同骨骼模型的虚拟模型单独制作不同的动画效果,从而提升了制作效率。
具体地,本申请实施例的虚拟模型的动画生成方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(PersonalDigital Assistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该虚拟模型的动画生成方法运行于终端时,终端设备存储有游戏应用程序并用于呈现游戏画面中的虚拟场景。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。
例如,当该虚拟模型的动画生成方法运行于服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,虚拟模型的动画生成方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑、个人数字助理等,但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
请参阅图1,图1为本申请实施例提供的一种虚拟模型的动画生成系统的场景示意图。该系统可以包括至少一个终端,至少一个服务器,至少一个数据库,以及网络。用户持有的终端可以通过网络连接到不同游戏的服务器。终端是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品。另外,当系统包括多个终端、多个服务器、多个网络时,不同的终端可以通过不同的网络、通过不同的服务器相互连接。网络可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,不同的终端之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。例如,多个用户可以通过不同的终端在线从而通过适当网络连接并且相互同步,以支持多玩家游戏。另外,该系统可以包括多个数据库,多个数据库耦合到不同的服务器,并且可以将与游戏环境有关的信息在不同用户在线进行多玩家游戏时连续地存储于数据库中。
需要说明的是,图1所示的虚拟模型的动画生成系统的场景示意图仅仅是一个示例,本申请实施例描述的虚拟模型的动画生成系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述问题,本申请实施例提供一种虚拟模型的动画生成方法、装置、计算机设备及存储介质,通过给每个虚拟模型的面部增加对应的控制器,每个控制器指代了该虚拟模型的一个面部情况(例如皱眉或撅嘴等表情)。这些单独的面部状况由一个附加动画(Additive Animation)保存。然后,美术人员可以在DCC软件中制作对应的模型姿势,之后将其导入引擎。在引擎中的动画读入每个控制器当前的修正变量,并将之前的AdditiveAnimation混合到当前虚拟模型的动作中,即可获得正确的重定向效果。本申请实施例可以提高同一动画效果在不同虚拟模型中的适用性,从而提升了动画制作效率。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图2,图2为本申请实施例提供的一种虚拟模型的动画生成方法的流程示意图,该虚拟模型的动画生成方法的具体流程可以如下步骤101至步骤105所示:
101,获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势。
具体的,计算机设备可以从目标虚拟模型的所有控制器中获取目标控制器,其中,所述控制器用于控制所述目标虚拟模型的各身体部位,所述身体部位包括头部部位和/或躯干部位,该目标控制器可以用于控制目标虚拟模型的头部部位以得到初始头部模型姿势和指定头部模型姿势,或者,该目标控制器可以用于控制目标虚拟模型的躯干部位以得到初始躯干模型姿势和指定躯干模型姿势,从而进行后续操作的步骤。
可选的,一个虚拟模型的头部部位对应的控制器的数量可以存在一个或者多个。头部部位对应的控制器的数量可以根据对虚拟模型的头部或面部控制的精确度决定。其中,面部的五官数量和控制器数量没有决定性的关系,控制器既可以控制复杂的表情,例如大笑,该大笑动作需要控制眼睛、眉毛以及嘴巴等面部部位,或者只是简单的眼球向左。
又或者,一个虚拟模型的躯干部位对应的控制器的数量可以存在一个或者多个。躯干部位对应的控制器的数量可以根据对虚拟模型的四肢或尾部控制的精确度决定。其中,控制器可以控制尾部的甩动情况,或者尾部的固定姿势,例如,猫或狗的尾部可以通过控制器控制其尾部翘起,牛或羊等动物的尾部可以通过控制器控制其尾部下垂。
在游戏中,通常会使用数字内容创建软件(Digital Content Create,DCC)进行虚拟模型的制作,例如Max以及Maya等数字内容创建软件,在DCC软件中可以创建虚拟模型对应的控制器效果,虚拟模型的姿势可以按照控制器实际控制内容设置对应的参数,例如,请参阅图3,控制器A向下移动10单位为眼球移动,图中显示的是虚拟模型移动眼睛,是通过将控制器向下移动时所产生的效果,从而能够基于初始模型姿势和指定模型姿势。又例如,可以控制器A抬高10单位为撅嘴,当虚拟模型与对应的控制器绑定后,可以将这部分内容导出作为Additive动画,以便于进入引擎内进行动作叠加。
需要说明的是,一个头部部位对应的控制器可以用于指代虚拟模型对应的虚拟角色的一个面部情况,例如皱眉、撅嘴或者闭眼等面部情况,这些单独的面部状况由一个Additive Animation保存。一个躯干部位对应的控制器可以用于指代虚拟模型对应的虚拟角色的一个躯干情况,例如尾部翘起或下垂、四肢伸展、手臂弯曲或者手掌开合等躯干情况,这些单独的躯干状况由一个Additive Animation保存。
其中,Additive Animation是一种叠加动画合成类型,其动画合成的方式可以是:可以由根动画A、叠加动画B和目标动画C组成Additive Animation的组成动画,也即根动画A和叠加动画B的组成叫做Additive Animation。具体可以通过计算根动画A和叠加动画B中每个骨骼的变换(例如骨骼的位移、旋转以及缩放操作),记录下叠加动画B中每帧中相对根动画A的变换数值,最后,将变换的数值叠加到目标动画C上,从而得到叠加后的目标动画C。
需要说明的是,虚拟模型是运行在软件中的模拟现实事物的模型,虚拟模型由设计师设计,包括场景虚拟模型、建筑虚拟模型、游戏角色虚拟模型以及游戏物体虚拟模型等。游戏角色虚拟模型通常可以在软件中由骨骼数据、蒙皮数据以及物理碰撞体组成。
其中,骨骼数据位于游戏角色虚拟模型的内部,可以用于执行游戏角色虚拟模型的物理运动信息。骨骼数据可以是游戏角色虚拟模型的身体骨骼,游戏角色可以是人物角色,也可以是动物角色,还可以是描述除身体外其他部位运动的游戏角色虚拟模型的骨骼,骨骼数据可以构建组成骨骼模型。
蒙皮数据可以包括多个顶点数据,每一个顶点数据都具有对应的权重、顶点位置信息、法线、三角形序列、纹理坐标以及顶点色等属性信息。其中,根据每一个顶点的三角形序列,基于三角形序列以及对应的顶点数据可以构成三角面,多个三角面可以构成图形网格,即三角网格。每一个顶点可以与一个或多个骨骼数据绑定,权重则用于表示该顶点受与之绑定的关节影响的比重。例如,如果权重的数值为1,则该顶点完全受与之绑定的关节影响;如果权重的数值为0,则该顶点完全不受与之绑定的关节影响;如果权重的数值为0至1之间,那么表示该顶点除了受与之绑定的关节影响,还受其他关节影响。
物理碰撞体和刚体的共同作用可以使游戏角色虚拟模型具有物理效果,刚体可使游戏角色虚拟模型受到物理效果的控制和影响,而碰撞体可使游戏角色虚拟模型彼此之间发生碰撞。物理碰撞体可以为球形碰撞体、胶囊碰撞体以及网格碰撞体等。在本申请实施例中,采用的是胶囊碰撞体,由于胶囊碰撞体由一个圆柱体两端分别连接两个半球体组成,与一些其他不规则形状的碰撞结合来使用,适合用在游戏角色模型上。
102,获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位。
本申请实施例提供的源动画对应的源虚拟模型的控制器控制的身体部位,需要包括目标虚拟模型的目标控制器控制的身体部位,或者也可以与目标虚拟模型的目标控制器控制的身体部位相同。
103,获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数。
在本申请实施例中,步骤“所述获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数”,方法可以包括:
获取所述每一帧子动画中源虚拟模型的骨骼变换矩阵;
基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数。
具体的,在数字内容创建软件中,骨骼变换矩阵常用一个4x4矩阵进行表示,例如三维空间中的向量通过乘以该变换矩阵来进行转换,如平移、旋转、剪切、缩放、反射、正交或透视投影等。例如,对虚拟模型中的所有骨骼,根据当前时间和动画关键帧,插值得到属性(例如x坐标、y坐标以及旋转角度rotation等),然后计算所有骨骼的变换矩阵(localtransformation),最后从根骨骼开始,从上到下计算所有骨骼在骨骼根节点空间上的变换矩阵(world transformation),例如,可以采用下述的4x4矩阵来存储骨骼变换的变换信息,具体变换矩阵如下所示:
其中,a为scale x×cos(shear x+A),b为scale x×sin(shear x+A),c为-scaley×sin(shear y+A),d为scale y×cos(shear y+A),x、y分别为轴心点相对于该骨骼节点平移得到的偏移量,A为旋转角度,shearX和shearY为斜切角度(shearX,shearY),scaleX和scaleY为缩放向量。需要说明的是,还可以用其他4x4矩阵来存储骨骼变换的变换信息,在此不做赘述。
具体的,步骤“所述基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数”,方法可以包括:
根据所述骨骼变换矩阵确定所述子动画中源虚拟模型对应的初身体模型姿势和末身体模型姿势;
获取所述初身体模型姿势的初骨骼数据与所述末身体模型姿势的末骨骼数据的差值,将所述差值作为控制器的移动参数。
例如,可以获取源虚拟模型对应的附加动画(Additive Animation),即可以获取源虚拟模型对应的根姿势A和偏移后姿势B,其中,根姿势A即为初身体模型姿势,偏移后姿势B即为末身体模型姿势,控制器在软件中是以偏移的方式可以修改关联骨骼变换的。因此,通过为引擎中提供根姿势A和偏移后姿势B,则可以按照偏移后姿势B相对与根姿势A中的差值求出路径长度,再按照引擎和DCC软件中长度单位换算出对应的实际偏移量,该实际偏移量即为控制器的移动参数。具体的,附加动画的骨骼中存在位移的xyz、缩放的xyz以及旋转的xyzw。其中,位移和缩放代表xyz轴上的移动。但是,旋转上需要用4x4的旋转矩阵(由于代码底层原因)实现。因此需要存在额外的轴w,也即表现上虽然旋转参数是xyz轴绕轴旋转,但是实际是四元组相乘。
在一具体实施例中,可以通过获得源动画中每一帧子动画中源虚拟模型中骨骼的变换矩阵,以该变换矩阵为输入,反求出DCC软件中该源虚拟模型的控制器的移动量。由于Additive动画的特殊性,当源动画完成动作文件后,会存在根动作A和偏移后动作B,而控制器在软件中以偏移的方式可以修改关联骨骼的变换。因此,反求的方式是给到引擎中根动作A和偏移后动作B,引擎则可以按照偏移后动作B相对应根动作A的差值求出路径长度,再按照引擎和DCC软件中长度单位换算出对应的实际偏移量(例如虚幻引擎是一单位一厘米,DCC中默认是一单位一英寸)。
104,根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势。
在一具体实施例中,在步骤“根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势”之前,方法可以包括:
获取所述初始身体模型姿势对应的初始骨骼数据,以及所述指定身体模型姿势对应的指定骨骼数据;
基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据。
其中,初始身体模型姿势对应的初始骨骼数据为初始身体模型在初始姿势下的各多边形网格顶点的位置数据,指定身体模型姿势对应的指定骨骼数据为初始身体模型在指定姿势下各多边形网格顶点的位置数据,骨骼偏移数据则是根据初始身体模型在初始姿势下的各多边形网格顶点的位置数据、以及指定姿势下各多边形网格顶点的位置数据的差值,也即初始骨骼数据与指定身体模型姿势之间的路径长度。
进一步的,步骤“所述基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据”,方法可以包括:
获取所述初始骨骼数据与所述指定骨骼数据的差值,将所述差值作为骨骼偏移数据。
具体的,步骤“所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势”,方法可以包括:
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势。
进一步的,步骤“所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势”,方法可以包括:
获取所述每一帧子动画对应控制器的移动参数和所述骨骼偏移数据的目标乘积;
获取所述目标乘积与所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据的目标和值,将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据。
需要说明的是,移动参数为美术人员在进行控制器调整时基于预设比例对移动长度进行计算后得到的百分比数值。
可选的,在步骤“将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据”之后,方法可以包括:
基于所述目标骨骼数据确定所述目标虚拟模型该帧子动画对应的目标身体模型姿势。
具体的,目标身体模型姿势可以根据模型姿势公式确定,模型姿势公式的具体公式如下所示:
模型姿势=根动作+骨骼偏移数据*偏移系数
其中,模型姿势为目标虚拟模型的目标模型姿势,根动作为目标虚拟模型的初始模型姿势对应的骨骼数据,骨骼偏移数据为目标虚拟模型的初始模型姿势和指定模型姿势的差值,偏移系数为源动画中某一帧子动画对应的源虚拟模型的控制器的移动参数。
需要说明的是,本申请实施例中不仅可以对目标虚拟模型中身体模型姿势进行重定向,还可以对目标虚拟模型的其他部位进行重定向,例如目标虚拟模型的手部、脚部以及尾巴等部位,此处仅为举例说明,在此不做赘述。
105,基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
在本申请实施例中,可以通过依次连续播放目标虚拟模型每一帧子动画从而形成目标虚拟模型的目标动画。
综上所述,本申请实施例提供一种虚拟模型的动画生成方法,通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,游戏制作人员无需为不同骨骼模型的虚拟模型单独制作不同的动画效果,从而提升了制作效率。
为了对本申请实施例提供的虚拟模型的动画生成方法进行进一步说明,下面将以虚拟模型的动画生成方法在具体实施场景中的应用为例进行说明,例如,请参阅图4,头部部位对应控制器的具体实施场景中的应用如下所述:
(1)游戏制作人员可以确定一个没有设置模型动画的目标虚拟模型,计算机设备可以获取目标虚拟模型对应的目标控制器,该目标控制器可以用于指代虚拟模型对应的虚拟角色头部部位的一个面部情况,例如皱眉、撅嘴或者闭眼等面部情况。具体的,该目标控制器用于控制所述目标虚拟模型的各头部部位以得到初始头部模型姿势和指定头部模型姿势。
(2)计算机设备可以根据初始头部模型姿势和指定头部模型姿势,获取所述初始头部模型姿势对应的初始骨骼数据,以及所述指定头部模型姿势对应的指定骨骼数据,然后,获取所述初始骨骼数据与所述指定骨骼数据的差值,将所述差值作为骨骼偏移数据。
(3)计算机设备可以获取需要进行重定向的源动画以及该源动画对应的源虚拟模型,该源动画对应的源虚拟模型的控制器控制的头部部位,需要包括目标虚拟模型的目标控制器控制的头部部位,或者也可以与目标虚拟模型的目标控制器控制的头部部位相同。然后,获取所述每一帧子动画中源虚拟模型的骨骼变换矩阵;基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数。也即可以获取源虚拟模型对应的附加动画(Additive Animation),即可以获取源虚拟模型对应的根姿势A和偏移后姿势B,控制器在软件中是以偏移的方式可以修改关联骨骼变换的。因此,通过为引擎中提供根姿势A和偏移后姿势B,则可以按照偏移后姿势B相对与根姿势A中的差值求出路径长度,再按照引擎和DCC软件中长度单位换算出对应的实际偏移量作为控制器的移动参数。
(4)计算机设备可以根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始头部模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标头部模型姿势。具体的,计算机设备可以根据模型姿势公式(模型姿势=根动作+骨骼偏移数据*偏移系数)计算得到目标骨骼数据,即获取所述每一帧子动画对应控制器的移动参数和所述骨骼偏移数据的目标乘积;获取所述目标乘积与所述目标虚拟模型每一帧子动画对应的初始头部模型姿势的骨骼数据的目标和值,将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据。
(5)计算机设备可以基于所述目标虚拟模型每一帧子动画对应的目标头部模型姿势生成所述目标虚拟模型的目标动画。在本申请实施例中,可以通过依次连续播放目标虚拟模型每一帧子动画从而形成目标虚拟模型的目标动画。
综上所述,本申请实施例提供一种虚拟模型的动画生成方法,通过获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;然后,获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;接着,获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;之后,根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;最后,基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,游戏制作人员无需为不同骨骼模型的虚拟模型单独制作不同的动画效果,从而提升了制作效率。
为便于更好的实施本申请实施例提供的虚拟模型的动画生成方法,本申请实施例还提供一种基于上述虚拟模型的动画装置。其中名词的含义与上述虚拟模型的动画生成方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5为本申请实施例提供的一种虚拟模型的动画生成装置的结构示意图,该装置包括:
第一获取单元201,用于获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
第二获取单元202,用于获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;
第三获取单元203,用于获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
确定单元204,用于根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
生成单元205,用于基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
在一些实施例中,该虚拟模型的动画生成装置包括:
第一获取子单元,用于获取所述初始身体模型姿势对应的初始骨骼数据,以及所述指定身体模型姿势对应的指定骨骼数据;
第一确定子单元,用于基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据。
在一些实施例中,该虚拟模型的动画生成装置包括:
第二获取子单元,用于获取所述初始骨骼数据与所述指定骨骼数据的差值,将所述差值作为骨骼偏移数据。
在一些实施例中,该虚拟模型的动画生成装置包括:
第二确定子单元,用于根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势。
在一些实施例中,该虚拟模型的动画生成装置包括:
第三获取子单元,用于获取所述每一帧子动画对应控制器的移动参数和所述骨骼偏移数据的目标乘积;
第三获取子单元,还用于获取所述目标乘积与所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据的目标和值,将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据。
在一些实施例中,该虚拟模型的动画生成装置包括:
第三确定子单元,用于基于所述目标骨骼数据确定所述目标虚拟模型该帧子动画对应的目标身体模型姿势。
在一些实施例中,该虚拟模型的动画生成装置包括:
第四获取子单元,用于获取所述每一帧子动画中源虚拟模型的骨骼变换矩阵;
第四确定子单元,用于基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数。
在一些实施例中,该虚拟模型的动画生成装置包括:
第五确定子单元,用于根据所述骨骼变换矩阵确定所述子动画中源虚拟模型对应的初身体模型姿势和末身体模型姿势;
第五获取子单元,用于获取所述初身体模型姿势的初骨骼数据与所述末身体模型姿势的末骨骼数据的差值,将所述差值作为控制器的移动参数。
本申请实施例提供一种虚拟模型的动画生成装置,通过第一获取单元获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;第二获取单元202获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;第三获取单元203获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;确定单元204根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;生成单元205基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,从而提升了制作效率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图6所示,图6为本申请实施例提供的计算机设备的结构示意图。该计算机设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器301是计算机设备300的控制中心,利用各种接口和线路连接整个计算机设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行计算机设备300的各种功能和处理数据,从而对计算机设备300进行整体监控。
在本申请实施例中,计算机设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能:
获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;
获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
在一实施例中,在根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势之前,还包括:
获取所述初始身体模型姿势对应的初始骨骼数据,以及所述指定身体模型姿势对应的指定骨骼数据;
基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据。
在一实施例中,所述基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据,包括:
获取所述初始骨骼数据与所述指定骨骼数据的差值,将所述差值作为骨骼偏移数据。
在一实施例中,所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势,包括:
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势。
在一实施例中,所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势,包括:
获取所述每一帧子动画对应控制器的移动参数和所述骨骼偏移数据的目标乘积;
获取所述目标乘积与所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据的目标和值,将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据。
在一实施例中,在将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据之后,还包括:
基于所述目标骨骼数据确定所述目标虚拟模型该帧子动画对应的目标身体模型姿势。
在一实施例中,所述获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数,包括:
获取所述每一帧子动画中源虚拟模型的骨骼变换矩阵;
基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数。
在一实施例中,所述基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数,包括:
根据所述骨骼变换矩阵确定所述子动画中源虚拟模型对应的初身体模型姿势和末身体模型姿势;
获取所述初身体模型姿势的初骨骼数据与所述末身体模型姿势的末骨骼数据的差值,将所述差值作为控制器的移动参数。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图6所示,计算机设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏303可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
在本申请实施例中,通过处理器301执行游戏应用程序在触控显示屏303上生成图形用户界面。该触控显示屏303用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路305可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器301处理后,经射频电路304以发送给比如另一计算机设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源307用于给计算机设备300的各个部件供电。可选的,电源307可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图6中未示出,计算机设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,通过获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;然后,获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;接着,获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;之后,根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;最后,基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,游戏制作人员无需为不同骨骼模型的虚拟模型单独制作不同的动画效果,从而提升了制作效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟模型的动画生成方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;
获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
在一实施例中,在根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势之前,还包括:
获取所述初始身体模型姿势对应的初始骨骼数据,以及所述指定身体模型姿势对应的指定骨骼数据;
基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据。
在一实施例中,所述基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据,包括:
获取所述初始骨骼数据与所述指定骨骼数据的差值,将所述差值作为骨骼偏移数据。
在一实施例中,所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势,包括:
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势。
在一实施例中,所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势,包括:
获取所述每一帧子动画对应控制器的移动参数和所述骨骼偏移数据的目标乘积;
获取所述目标乘积与所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据的目标和值,将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据。
在一实施例中,在将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据之后,还包括:
基于所述目标骨骼数据确定所述目标虚拟模型该帧子动画对应的目标身体模型姿势。
在一实施例中,所述获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数,包括:
获取所述每一帧子动画中源虚拟模型的骨骼变换矩阵;
基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数。
在一实施例中,所述基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数,包括:
根据所述骨骼变换矩阵确定所述子动画中源虚拟模型对应的初身体模型姿势和末身体模型姿势;
获取所述初身体模型姿势的初骨骼数据与所述末身体模型姿势的末骨骼数据的差值,将所述差值作为控制器的移动参数。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,通过获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;然后,获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;接着,获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;之后,根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;最后,基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。本申请实施例通过目标动画对应的控制器参数,对虚拟模型对应的骨骼数据进行调整,从而能够提高同一动画效果在不同虚拟模型中的适用性,游戏制作人员无需为不同骨骼模型的虚拟模型单独制作不同的动画效果,从而提升了制作效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种虚拟模型的动画生成方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (11)
1.一种虚拟模型的动画生成方法,其特征在于,包括:
获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位;
获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
2.根据权利要求1所述的虚拟模型的动画生成方法,其特征在于,在根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势之前,还包括:
获取所述初始身体模型姿势对应的初始骨骼数据,以及所述指定身体模型姿势对应的指定骨骼数据;
基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据。
3.根据权利要求2所述的虚拟模型的动画生成方法,其特征在于,所述基于所述初始骨骼数据和所述指定骨骼数据确定骨骼偏移数据,包括:
获取所述初始骨骼数据与所述指定骨骼数据的差值,将所述差值作为骨骼偏移数据。
4.根据权利要求2所述的虚拟模型的动画生成方法,其特征在于,所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势,包括:
根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势。
5.根据权利要求4所述的虚拟模型的动画生成方法,其特征在于,所述根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据以及骨骼偏移数据,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势,包括:
获取所述每一帧子动画对应控制器的移动参数和所述骨骼偏移数据的目标乘积;
获取所述目标乘积与所述目标虚拟模型每一帧子动画对应的初始身体模型姿势的骨骼数据的目标和值,将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据。
6.根据权利要求5所述的虚拟模型的动画生成方法,其特征在于,在将所述目标和值作为所述目标虚拟模型该帧子动画对应的目标骨骼数据之后,还包括:
基于所述目标骨骼数据确定所述目标虚拟模型该帧子动画对应的目标身体模型姿势。
7.根据权利要求1所述的虚拟模型的动画生成方法,其特征在于,所述获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数,包括:
获取所述每一帧子动画中源虚拟模型的骨骼变换矩阵;
基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数。
8.根据权利要求7所述的虚拟模型的动画生成方法,其特征在于,所述基于所述骨骼变换矩阵确所述子动画中源虚拟模型对应的控制器的移动参数,包括:
根据所述骨骼变换矩阵确定所述子动画中源虚拟模型对应的初身体模型姿势和末身体模型姿势;
获取所述初身体模型姿势的初骨骼数据与所述末身体模型姿势的末骨骼数据的差值,将所述差值作为控制器的移动参数。
9.一种虚拟模型的动画生成装置,其特征在于,包括:
第一获取单元,用于获取目标虚拟模型的目标控制器,其中,所述目标控制器用于控制所述目标虚拟模型的各身体部位以得到初始身体模型姿势和指定身体模型姿势;
第二获取单元,用于获取源动画对应的源虚拟模型,其中,所述源虚拟模型的控制器控制的身体部位包含所述目标虚拟模型的目标控制器控制的身体部位,所述身体部位包括头部部位和躯干部位;
第三获取单元,用于获取所述源动画中每一帧子动画中源虚拟模型对应控制器的移动参数;
确定单元,用于根据每一帧子动画对应控制器的移动参数、所述目标虚拟模型每一帧子动画对应的初始身体模型姿势以及指定身体模型姿势,确定所述目标虚拟模型每一帧子动画对应的目标身体模型姿势;
生成单元,用于基于所述目标虚拟模型每一帧子动画对应的目标身体模型姿势生成所述目标虚拟模型的目标动画。
10.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1至8任一项所述的虚拟模型的动画生成方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如权利要求1至8任一项所述的虚拟模型的动画生成方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211257262.7A CN115526967A (zh) | 2022-10-14 | 2022-10-14 | 虚拟模型的动画生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211257262.7A CN115526967A (zh) | 2022-10-14 | 2022-10-14 | 虚拟模型的动画生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115526967A true CN115526967A (zh) | 2022-12-27 |
Family
ID=84702097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211257262.7A Pending CN115526967A (zh) | 2022-10-14 | 2022-10-14 | 虚拟模型的动画生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115526967A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116152404A (zh) * | 2023-04-19 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 动画重定向方法、装置、计算机设备及存储介质 |
-
2022
- 2022-10-14 CN CN202211257262.7A patent/CN115526967A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116152404A (zh) * | 2023-04-19 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 动画重定向方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018095273A1 (zh) | 图像合成方法、装置以及匹配实现方法、装置 | |
WO2022001652A1 (zh) | 虚拟角色控制方法、装置、计算机设备和存储介质 | |
CN109885367B (zh) | 互动聊天实现方法、装置、终端和存储介质 | |
CN111714880B (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
US11238667B2 (en) | Modification of animated characters | |
CN112206517B (zh) | 一种渲染方法、装置、存储介质及计算机设备 | |
WO2024012007A9 (zh) | 一种动画数据生成方法、装置及相关产品 | |
CN114742925A (zh) | 虚拟对象的蒙皮方法、装置、电子设备和存储介质 | |
CN115526967A (zh) | 虚拟模型的动画生成方法、装置、计算机设备及存储介质 | |
CN114797108A (zh) | 游戏角色模型渲染方法、装置、电子设备和存储介质 | |
CN113101666B (zh) | 游戏角色模型方法、装置、计算机设备及存储介质 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
US20230298297A1 (en) | Layered clothing that conforms to an underlying body and/or clothing layer | |
CN117058284A (zh) | 图像生成方法、装置和计算机可读存储介质 | |
CN113546420B (zh) | 虚拟对象的控制方法、装置、存储介质及电子设备 | |
US20230120883A1 (en) | Inferred skeletal structure for practical 3d assets | |
CN113362435B (zh) | 虚拟对象模型的虚拟部件变化方法、装置、设备及介质 | |
CN116109737A (zh) | 动画生成方法、装置、计算机设备及计算机可读存储介质 | |
US11980818B2 (en) | Game system, processing method, and information storage medium | |
CN116385605A (zh) | 目标对象的飞行动画生成方法、装置及电子设备 | |
CN113350801B (zh) | 模型处理方法、装置、存储介质及计算机设备 | |
CN113559500B (zh) | 动作数据的生成方法、装置、电子设备及存储介质 | |
CN113345059B (zh) | 动画生成方法、装置、存储介质及电子设备 | |
US20240221270A1 (en) | Computer-implemented method for controlling a virtual avatar | |
CN116958338A (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 |