CN113209625B - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN113209625B
CN113209625B CN202110556052.7A CN202110556052A CN113209625B CN 113209625 B CN113209625 B CN 113209625B CN 202110556052 A CN202110556052 A CN 202110556052A CN 113209625 B CN113209625 B CN 113209625B
Authority
CN
China
Prior art keywords
source
action
skeleton
mirror
target
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
Application number
CN202110556052.7A
Other languages
English (en)
Other versions
CN113209625A (zh
Inventor
朱汉斌
杨鹏
苏泰梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Kingsoft Digital Network Technology Co Ltd filed Critical Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority to CN202110556052.7A priority Critical patent/CN113209625B/zh
Publication of CN113209625A publication Critical patent/CN113209625A/zh
Application granted granted Critical
Publication of CN113209625B publication Critical patent/CN113209625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供数据处理方法及装置,其中所述数据处理方法包括:获取针对源骨骼提交的镜像动作创建请求;根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵;按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据;基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼;实现在不考虑骨骼类型的情况下即可完成镜像动作的创建,有效的提高了镜像动作的创建效率。

Description

数据处理方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及数据处理方法及装置。
背景技术
随着互联网技术的发展,游戏成为了大多数用户的休闲娱乐方式,而各大游戏厂商为了能够向用户提供更加优质的游戏服务,无论是游戏机制还是游戏中的模型都不断的在革新,以此寻求创造出满足用户需求的游戏供用户游玩。而在游戏制作过程中,通常都会赋予虚拟对象大量的动作,以使得玩家可以根据动作指令控制游戏中的虚拟对象做出不同的动作;这些动作在制作的过程中,往往会涉及到大量的镜像动作,如虚拟对象的左右手做出相同的动作,此时左右手的动作即为镜像关系;在制作镜像动作的过程中,如果还是采用制作源动作(制作镜像动作时参考的原始动作)相同的方式进行制作,不仅需要消耗较多的计算资源,而且很大程度上会降低针对虚拟对象制作各种类型动作的制作效率,因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本申请实施例提供了一种数据处理方法,以解决现有技术中存在的技术缺陷。本申请实施例同时提供了一种数据处理装置,一种计算设备,以及一种计算机可读存储介质。
根据本申请实施例的第一方面,提供了一种数据处理方法,包括:
获取针对源骨骼提交的镜像动作创建请求;
根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵;
按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据;
基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
可选地,所述根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,包括:
根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;
基于所述源动作数据确定所述源骨骼的所述源位置数据以及所述变换矩阵。
可选地,所述根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据,包括:
根据所述镜像动作创建请求确定所述源骨骼对应的源动作;
确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;
根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;
按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
可选地,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,包括:
基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;
利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
可选地,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作步骤执行之后,还包括:
根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
可选地,所述基于所述源动作数据确定所述源骨骼的所述源位置数据,包括:
对所述源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;
将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
按照所述预设的位置变换算法对所述多个源动作帧的第一位置数据和所述变换矩阵进行计算,获得所述目标骨骼对应的多个第二位置数据;
将所述多个第二位置数据进行整合,获得所述目标骨骼的所述目标位置数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据步骤执行之前,还包括:
根据所述镜像动作创建请求确定所述源骨骼所属的目标虚拟模型;
在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼。
根据本申请实施例的第二方面,提供了一种数据处理装置,包括:
获取模块,被配置为获取针对源骨骼提交的镜像动作创建请求;
确定模块,被配置为根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵;
计算模块,被配置为按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据;
创建模块,被配置为基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
根据本申请实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述数据处理方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述数据处理方法的步骤。
本申请提供的数据处理方法,在获取到针对源骨骼提交的镜像动作创建请求后,将根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,之后按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,以获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,最后基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,实现了快速的对镜像动作进行制作,同时由于镜像动作是通过结合位置数据创建的,因此不需要考虑虚拟对象的骨骼类型,即可实现对任意类型骨骼或多类型组合骨骼进行镜像动作的制作,有效的降低了镜像动作制作过程中消耗的计算资源。
附图说明
图1是本申请一实施例提供的一种数据处理方法的流程图;
图2是本申请一实施例提供的一种数据处理方法中插件功能的示意图;
图3是本申请一实施例提供的一种数据处理方法中静态模型的示意图;
图4是本申请一实施例提供的一种数据处理方法中镜像动作的示意图;
图5是本申请一实施例提供的一种应用于镜像动作创建场景中的数据处理方法的处理流程图;
图6是本申请一实施例提供的一种数据处理装置的结构示意图;
图7是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
在本申请中,提供了一种数据处理方法。本申请同时涉及一种数据处理装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
实际应用中,在针对虚拟对象创建镜像动作时,通常是针对不同类型的骨骼单独制作,即对虚拟对象对应的目标模型进行拆分,获得各个类型分别对应的骨骼,之后针对各种类型的骨骼单独创建镜像动作,从而实现镜像动作的创建处理,这种方式不仅需要消耗较多的计算机资源才能够完成,并且镜像动作创建前的准备工作较为复杂,导致镜像动作的创建效率低下,因此针对任意类型的骨骼创建镜像动作是急需解决的问题。
本申请提供的数据处理方法,在获取到针对源骨骼提交的镜像动作创建请求后,将根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,之后按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,以获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,最后基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,实现了快速的对镜像动作进行制作,同时由于镜像动作是通过结合位置数据创建的,因此不需要考虑虚拟对象的骨骼类型,即可实现对任意类型骨骼或多类型组合骨骼进行镜像动作的制作,有效的降低了镜像动作制作过程中消耗的计算资源。
图1示出了根据本申请一实施例提供的一种数据处理方法的流程图,具体包括以下步骤:
步骤S102,获取针对源骨骼提交的镜像动作创建请求。
在游戏开发过程中,为了能够向玩家提供更加丰富的游戏体验,通常会赋予游戏中的虚拟对象大量的动作,实现玩家可以通过控制指令控制虚拟对象运动,而与控制指令所对应的动作都需要在开发游戏过程中制作完成,才能够实现虚拟对象的运动,因此虚拟对象的动作创建是在游戏开发中较为重要的处理过程。
而由于大多数虚拟对象都具有对称的骨骼,如人物虚拟对象,左手和右手,左脚和右脚都是具有对称关系的骨骼,而创建出的动作需要通过虚拟对象的骨骼运动才能够展示,因此针对每个骨骼都需要预先创建出满足虚拟对象运动需求的动作,才能够实现虚拟对象的运动。而在此过程中,由于具有对称关系的骨骼虽然处于虚拟对象的目标模型的不同位置,但是大多数情况下具有对称关系的骨骼所对应的动作都是存在镜像关系的,如人物虚拟对象在行走过程中,左手和右手的摆动虽然是通过左手骨骼和右手骨骼分别完成,但是二者的运动轨迹和运动过程中产生的变换都是呈镜像对称的;如果在此之前分别针对各个骨骼进行动作的创建,不仅需要消耗较多的计算资源,而且很大程度上会降低动作创建效率,因此会影响游戏开发的进度。
本申请提供的数据处理方法,通过采用对源骨骼的位置数据进行变换的方式确定目标骨骼的位置数据,以此创建应用于目标骨骼的镜像动作,不仅可以提高进行动作的创建效率,而且可以很大程度上减少计算机资源的消耗,同时由于位置数据并不涉及骨骼本身的属性,因此即使在多类型骨骼组合的模型中也可以采用上述方式完成镜像动作的创建,以此实现更加广泛的通用性。
进一步的,所述源骨骼具体是指处于目标模型中且需要针对该骨骼对应的骨骼创建镜像动作的骨骼,如目标模型为人物模型,则源骨骼可以是人物模型的左手骨骼或右手骨骼,左耳骨骼或右耳骨骼,左脚骨骼或右脚骨骼等,相应的,所述目标骨骼具体是指与源骨骼具有对称关系且处于目标模型中的骨骼,如源骨骼为左手骨骼,则目标骨骼为右手骨骼;或者源骨骼为左耳骨骼,则目标骨骼为右耳骨骼;再或者源骨骼为左脚骨骼,则目标骨骼为右脚骨骼等。
基于此,所述镜像动作创建请求即为针对源骨骼所对应的目标骨骼创建动作的请求,由于源骨骼的动作已经被创建完成,为了能够快速的对目标骨骼创建与源骨骼的动作相同且呈镜像对称的动作(镜像动作),创建骨骼动作的开发人员可以针对源骨骼提交所述镜像动作创建请求,即可确定需要针对目标骨骼创建与源骨骼的动作相同且呈镜像对称的动作。如目标模型为人物模型,源骨骼为左手骨骼,而左手骨骼所对应的动作为握拳,此时需要针对右手骨骼也创建握拳的动作,则可以针对源骨骼提交镜像动作创建请求,以确定需要针对右手骨骼创建握拳的动作,从而触发后续创建右手骨骼的握拳动作的处理。
具体实施时,采用本实施例提供的数据处理方法可以实现快速的完成镜像动作的创建,并且再创建过程中无需开发人员进行冗余的操作,因此可以将本实施例提供的数据处理方法以功能插件的方式进行封装,即参见图2所示的插件功能的示意图,当开发人员需要针对“zhanshi_L_Z”动作创建镜像动作时,只需要点击前端插件一级目录中的动作镜像,再点击二级目录中的生成镜像动作即可完成针对“zhanshi_L_Z”的镜像动作创建,以生成镜像动作“zhanshi_L_Z_Mirror”。
步骤S104,根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵。
具体的,在上述获取到所述镜像动作创建请求的基础上,进一步的,为了能够快速的创建出镜像动作,且能够不受骨骼类型的影响,可以根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及所述变换矩阵,其中,所述源位置数据具体是指所述源骨骼在施展源动作时在每一帧动作中的坐标数据,所述源动作即为源骨骼所施展的动作,需要创建的镜像动作与所述源动作的具有镜像关系。
实际应用中,由于静态模型数据存储在蒙皮网络(Mesh)中,而Mesh中存有该模型所有顶点数据,因此每个顶点存储的是该顶点在Mesh上的相对位置(即Mesh空间坐标),也就是说,所述源骨骼的位置数据即为每个顶点在Mesh上的相对位置,参见图3所示的静态模型的示意图,即为Mesh的可视化展示,其中Mesh由多个顶点拼接成图3所示的静态模型。
进一步的,在Mesh通过骨骼动画(Animation Clip)来实现模型的运动效果时,骨骼动画的文件中存储有若干骨骼点的数据,而每个骨骼点可以影响Mesh上若干个顶点的位置计算,因此在创建源骨骼的动作时,Mesh上每个顶点可以通过某根骨骼的OffsetMatrix(偏移矩阵)转换到源骨骼点上的局部坐标,之后再通过骨骼的LocalToWorldMatrix(局部到世界的变换矩阵)转换到世界空间坐标,以实现通过两次转换的方式得到该源骨骼中的顶点在一个动作中所处的位置,以此类推,将全部顶点都采用上述方式进行位置的确定,即可得到一个作出了动作的模型。
基于上述动作创建原理,应用到镜像动作的创建过程,只需要计算出目标骨骼中的顶点在一个动作中所处的位置,即可得到目标骨骼的运动轨迹,从而实现创建出应用于目标骨骼的镜像动作,因此在获取到镜像动作创建请求后,可以根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,以用于后续针对目标骨骼的位置数据进行计算,从而实现更加快速的创建出所述镜像动作,其中,所述变换矩阵具体是指由Mesh空间坐标转换到世界空间坐标所需要使用的计算系数。
进一步的,在确定所述源位置数据和所述变换矩阵的过程中,由于源骨骼具有不同的源动作,因此此时需要选择符合镜像动作创建请求的源动作数据,用于确定所述源位置数据和所述变换矩阵,本实施例中,具体实现方式如下所述:
根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;
基于所述源动作数据确定所述源骨骼的所述源位置数据以及所述变换矩阵。
具体的,所述源动作数据具体是指所述源骨骼在施展源动作过程中所对应的动作数据,所述源动作数据包括但不限于源骨骼的坐标数据、旋转数据、缩放数据等,并且由于源骨骼在施展所述源动作时是连续进行的,因此源动作数据将包含源骨骼在施展所述源动作起始阶段到结束阶段的全部动作数据,即源骨骼在源动作的每一帧中的数据组成所述源动作数据。
基于此,在获取到所述镜像动作创建请求后,可以根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据,之后再根据所述源动作数据即可确定所述源骨骼的源位置数据和变换矩阵。
实际应用中,由于变换矩阵是Mesh空间坐标转换到世界空间坐标所需要使用的矩阵,并且由于源动作数据所对应的源动作是已经创建完成的,因此可以通过所述源动作数据得到创建源动作时使用的源变换矩阵;而又由于需要针对目标骨骼创建镜像动作,因此此时可以将创建源动作时使用的源变换矩阵作为后续计算目标骨骼的位置数据的变换矩阵,以此实现镜像动作的创建。
综上,通过读取源骨骼对应的源动作数据的方式确定所述源位置数据和变换矩阵,不仅可以确定待创建的镜像动作的原始动作,还能够有效保证镜像动作创建的精准度,从而实现快速的完成镜像动作的创建。
更进一步的,在读取所述源骨骼对应的所述源动作数据的过程中,由于源动作数据所对应的源动作已经创建完成,因此需要在源动作的动画文件中读取源动作数据,以实现后续确定所述源位置数据,本实施例中,具体实现方式如下所述:
根据所述镜像动作创建请求确定所述源骨骼对应的源动作;
确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
具体的,所述源动作即为源骨骼所施展的动作,且待创建的镜像动作与所述源动作应呈镜像关系;相应的,所述源动作动画文件具体是指存储有源动作相关数据的文件。基于此,在获取到所述镜像动作创建请求后,即可根据所述镜像动作创建请求确定所述源骨骼对应的源动作,之后由于源骨骼所对应的动作可能较多,并且不同的动作分别存储在不同的动作动画文件中,因此此时可以确定所述源动作关联的源动作动画文件,之后在所述源动作动画文件中即可读取到所述源骨骼对应的所述源动作数据,以用于后续确定源位置数据和变换矩阵。
此外,由于所述源动作是由源骨骼按照设定的运动轨迹施展出来的,因此源骨骼在施展源动作的过程中,每一帧都会引起骨骼的位置变化,而为了能够创建出与源动作呈镜像关系的镜像动作,需要对每一帧中骨骼的位置变化情况都进行记录,从而才能够确定源骨骼施展源动作过程中的源位置数据,以用于后续的计算处理,本实施例中,具体实现方式如下所述:
对所述源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;
将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据。
具体的,所述多个源动作帧具体是指对源动作进行分帧处理后得到的动作帧,由于所述源动作被所述源骨骼所施展,因此每一帧中源骨骼都具有不同的位置数据,通过将各帧中的位置数据进行整合即可得到所述源骨骼的所述源位置数据,即所述第一位置数据即为所述源骨骼在每帧中所对应的Mesh空间坐标。
基于此,在确定所述源动作之后,可以对所述源动作进行分帧处理获得多个源动作帧,之后根据所述源动作数据即可确定源骨骼在每个源动作帧中的第一位置数据,最后将所述源骨骼在每个源动作帧中的第一位置数据进行整合,即可得到所述源骨骼的所述源位置数据;实现在进行镜像动作创建时,可以保证所述镜像动作与所述源动作的镜像关系,以应用目标骨骼可以正常施展。
以骨骼所属的目标模型是人物模型为例,对数据处理方法进行说明;当游戏开发人员创建了人物模型的左手握拳动作后,还需要创建人物模型的右手握拳动作,此时开发人员可以通过镜像动作创建插件提交右手握拳动作的创建请求,根据创建请求确定左手骨骼对应的源动作是左手握拳动作,此时通过读取左手握拳动作的动画文件,获得左手骨骼的左手握拳动作的源动作数据。
进一步的,通过对左手握拳动作进行分帧处理即可获得N个左手握拳动作帧,并根据源动作数据可以确定左手骨骼在每个左手握拳动作帧的第一位置数据,即确定左手骨骼上的各个顶点在N=1左手握拳动作帧中的Mesh空间坐标,确定左手骨骼上的各个顶点在N=2左手握拳动作帧中的Mesh空间坐标…确定左手骨骼上的各个顶点在N左手握拳动作帧中的Mesh空间坐标;最后将各帧中的Mesh空间坐标进行整合,即可得到左手骨骼所对应的源位置数据,以用于后续的镜像动作(右手握拳动作)的创建。
综上,通过逐帧确定所述第一位置数据,不仅可以保证源位置数据确定的精准度,还能够促进后续计算目标位置数据的准确度,从而实现创建出与源动作呈镜像关系的镜像动作。
步骤S106,按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据。
具体的,在上述确定所述变换矩阵和所述源位置数据的基础上,进一步的,即可结合所述变换矩阵和所述源位置数据计算所述目标骨骼的目标位置数据,即确定所述目标骨骼在运动的过程中各个Mesh空间坐标在每帧所对应的位置,以实现根据所述目标位置数据创建出应用于所述目标骨骼的镜像动作。
基于此,所述预设的位置变换算法具体是指结合源位置数据和所述变换矩阵进行计算目标位置数据的算法,相应的,所述目标骨骼具体是指与所述源骨骼具有关联关系的骨骼,所述关联关系具体是指对称关系,如源骨骼是左手骨骼,则目标骨骼可以是右手骨骼;或者源骨骼是左脚骨骼,则目标骨骼可以是右脚骨骼;即按照所述预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,即可得到所述目标骨骼的目标位置数据。
进一步的,在按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算的过程中,由于从Mesh空间坐标到世界空间坐标需要经过两次转换,因此再进行目标位置数据的计算时,也需要经过两次计算处理,本实施例中,具体实现方式如下所述:
对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;
根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;
按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
具体的,所述第一变换矩阵具体是指偏移矩阵,所述第二变换矩阵具体是指局部到世界变换矩阵;相应的,所述顶点坐标具体是指源骨骼中的顶点的Mesh空间坐标;所述局部坐标具体是指利用所述第一变换矩阵对顶点坐标进行转换后得到的坐标,所述世界坐标具体是指利用所述第二变换矩阵对局部坐标进行转换后得到的坐标。
基于此,在得到所述源位置数据和所述变换矩阵之后,可以对所述变换矩阵进行解析获得所述第一变换矩阵和所述第二变换矩阵,同时对所述源位置数据进行解析以获得所述顶点坐标,之后根据所述第一变换矩阵和所述顶点坐标即可计算出所述局部坐标,在根据所述第二变换矩阵和所述局部坐标即可计算出所述世界坐标,最后利用所述位置变换算法对所述世界坐标计算,即可实现计算出与世界坐标具有镜像关系的镜像世界坐标,之后根据所述镜像世界坐标即可生成所述目标骨骼的目标位置数据,以用于后续的镜像动作创建。
实际应用中,在基于镜像世界坐标生成所述目标骨骼的目标位置数据时,可以利用所述第一变换矩阵和所述第二变换矩阵进行反向计算,即从镜像世界坐标计算镜像局部坐标,再从所述镜像局部坐标计算镜像顶点坐标,最后基于镜像顶点坐标即可生成所述目标骨骼的目标位置数据,以实现后续应用于目标骨骼从而创建出所述镜像动作。
具体实施时,上述处理过程可以采用如下公式(1)和公式(2)实现,公式(1)和公式(2)如下所述:
P1=S*P2(1)
P1*OM1*LTWM1=S*P2*OM2*LTWM2(2)
其中,P1是指模型的源骨骼上的任意一个顶点,P2是指模型的目标骨骼上的任意一个顶点,并且顶点P1与顶点P2具有镜像关系,也就是说顶点P1与顶点P2在世界坐标中是镜像对称的,即顶点P1与顶点P2满足公式(1)的转换关系;OM1是指OffsetMatrix1矩阵(即偏移矩阵);LTWM1是指LocalToWorldMatrix1矩阵(即局部到世界矩阵);S为x=-1的缩放矩阵;也就是说,将OffsetMatrix1矩阵和LocalToWorldMatrix1矩阵代入公式,即可计算出OM2(OffsetMatrix2矩阵)和LTWM2(LocalToWorldMatrix2矩阵),以此确定所述目标骨骼的目标位置数据,以用于后续的镜像动作创建。
综上,通过采用两次转换的方式进行目标位置数据的计算,不仅可以实现对目标骨骼的目标位置数据的确定,而且不需要考虑源骨骼和目标骨骼的骨骼类型,即使在源骨骼和目标骨骼包含多种类型的骨骼的情况下,也可以通过计算目标位置数据的方式创建所述镜像动作,从而有效的节省了创建镜像动作所消耗的计算资源。
更进一步的,由于源动作的施展是连续的,因此上述采用逐帧确定第一位置数据的方式确定所述源位置数据,当计算所述目标骨骼的目标位置数据时,相应的也需要进行逐帧进行计算,本实施例中,具体实现方式如下所述:
按照所述预设的位置变换算法对所述多个源动作帧的第一位置数据和所述变换矩阵进行计算,获得所述目标骨骼对应的多个第二位置数据;
将所述多个第二位置数据进行整合,获得所述目标骨骼的所述目标位置数据。
具体的,所述第二位置数据具体是指经过所述位置变换算法对各个第一位置数据和变换矩阵进行计算后,得到目标骨骼所对应的Mesh空间坐标;基于此,在得到所述多个源动作帧的第一位置数据后,可以结合所述位置变换算法和所述变换矩阵计算出目标骨骼上的顶点所对应的多个第二位置数据,最后将所述多个第二位置数据进行整合,即可得到所述目标骨骼的所述目标位置数据。
也就是说,通过上述计算方法可以得出与源骨骼上的顶点具有镜像关系的顶点(目标骨骼上)在每个动作帧中所应该处于的位置所对应的数据,最后在创建所述镜像动作时,将目标骨骼移动到每个动作帧所对应的位置,即可创建出所述镜像动作,以保证所述镜像动作和所述源动作呈镜像关系。
沿用上例,在得到左手骨骼上的各个顶点在N个左手握拳动作帧中的Mesh空间坐标后,可以结合上述公式(1)和公式(2)计算出右手骨骼上的各个顶点所对应的Mesh空间坐标,并且每帧中的Mesh空间坐标将组成一个子集合,通过将N帧所对应的子集合进行整合,即可得到右手骨骼所对应的目标位置数据,后续即可根据目标位置数据创建出右手骨骼所对应的握拳动作。
综上,通过采用逐帧计算的方式确定所述目标位置数据,不仅可以保证后续创建出的镜像动作与源动作的镜像关系,还能够避免创建出的镜像动作无法应用于目标骨骼,从而保证镜像动作创建的高效性和复用性。
此外,由于源骨骼所属的模型具有较多的骨骼,如人物模型具有头骨骼,手骨骼,脚骨骼等等,而所需创建的镜像动作需要应用于与源骨骼具有关联关系的目标骨骼,因此在进行计算目标位置数据前,还需要确定与所述源骨骼具有关联关系的目标骨骼,本实施例中,具体实现方式入如下所述:
根据所述镜像动作创建请求确定所述源骨骼所属的目标虚拟模型;
在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼。
具体的,所述目标虚拟模型具体是指所述源骨骼所属的模型,所述目标虚拟模型包括但不限于人物模型、植物模型、机械模型、动物模型等;基于此,根据所述镜像动作创建请求即可确定所述源骨骼所属的目标虚拟模型,之后在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼即可。
参见图4所示人物模型的示意图,若需要针对图4中(a)所示的人物模型的右脚创建镜像动作,此时将接收到游戏开发人员针对人物模型的左脚骨骼提交的镜像动作创建请求,之后根据镜像动作创建请求确定需要创建镜像动作的是人物模型的右脚,而已经创建完成的动作所属于人物模型的左脚骨骼,此时确定与左脚骨骼具有镜像关系的骨骼为人物模型的右脚骨骼,将右脚骨骼作为目标骨骼进行后续的镜像动作创建即可,以实现人物模型的左脚和右脚可以施展呈镜像关系的动作,以提高镜像动作的创建效率,节省计算机创建动作所消耗的资源。
步骤S108,基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
具体的,在上述计算出目标骨骼所对应的目标位置数据之后,进一步的,即可根据所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,其中,所述镜像动作应用于所述目标骨骼,也就是说,通过创建所述镜像动作,可以实现目标骨骼施展所述镜像动作,并且被施展的所述镜像动作与所述源骨骼所施展的源动作呈镜像关系。
进一步的,在根据所述目标位置数据创建所述镜像动作的过程中,由于目标骨骼在施展镜像动作时不仅涉及到位置变化,还会涉及到缩放、旋转、扭动等变换,因此可以基于目标位置数据创建出镜像动作数据,基于镜像动作数据创建所述镜像动作,本实施例中,具体实现方式如下所述:
基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;
利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
具体的,所述镜像动作数据具体是指创建所述镜像动作所需要使用的数据,所述镜像动作数据中存储有目标骨骼的坐标数据、旋转数据、缩放数据等;基于此,在计算出所述目标骨骼所对应的目标位置数据之后,可以基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;最后再利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作即可,以实现创建出应用于所述目标骨骼的所述镜像动作,并且所述镜像动作与所述源骨骼的源动作互为镜像关系。
沿用上例,在得到右手骨骼所对应的目标位置数据后,即可确定右手骨骼上的各个顶点所对应的Mesh空间坐标,之后基于Mesh空间坐标确定右手骨骼在每帧中的位置,并将多帧进行组合,即可得到右手握拳的动作,并且右手握拳的动作和左手握拳的动作呈镜像关系,二者的运动轨迹、动作施展时间都是相同的,从而完成镜像动作的创建。
综上,基于所述目标位置数据生成所述镜像动作数据,并通过镜像动作数据驱动生成所述镜像动作,不仅可以保证源动作和所述镜像动作的镜像关系,还能够提高镜像动作的创建效率,从而实现针对虚拟对象所对应的模型的动作创建,实现快速的完成动作创建维度的开发。
此外,在创建完成所述镜像动作之后,由于通过数据层面无法更直观的向开发人员展示镜像动作的展示效果,无法分析其中的漏洞和问题,因此可以在得到所述镜像动作之后,制作镜像动作动画并播放,以方便开发人员所观看,本实施例中,具体实现方式如下所述:
根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
具体的,所述镜像动作动画具体是指所述目标骨骼施展所述镜像动作的过程中录制的动画,即通过对所述目标骨骼配置所述镜像动作,即可实现目标骨骼按照镜像动作的运动轨迹进行运动,从而创建出所述镜像动作动画,之后并播放所述镜像动作动画即可,实现开发人员可以观看到镜像动作的展示效果,以用于后续的检测分析场景。
参见图4所示,当针对人物模型的右脚创建镜像动作完成后,此时可以将镜像动作赋予右脚骨骼,以生成右脚按照镜像动作的运动轨迹进行运动的动画,当人物模型的右脚进行运动后,即可得到如图4中(b)所示的运动状态。
本申请提供的数据处理方法,在获取到针对源骨骼提交的镜像动作创建请求后,将根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,之后按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,以获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,最后基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,实现了快速的对镜像动作进行制作,同时由于镜像动作是通过结合位置数据创建的,因此不需要考虑虚拟对象的骨骼类型,即可实现对任意类型骨骼或多类型组合骨骼进行镜像动作的制作,有效的降低了镜像动作制作过程中消耗的计算资源。
下述结合附图5,以本申请提供的数据处理方法在镜像动作创建场景中的应用为例,对所述数据处理方法进行进一步说明。其中,图5示出了本申请一实施例提供的一种应用于镜像动作创建场景中的数据处理方法的处理流程图,具体包括以下步骤:
步骤S502,获取针对源骨骼提交的镜像动作创建请求。
步骤S504,根据所述镜像动作创建请求确定所述源骨骼对应的源动作。
步骤S506,确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
步骤S508,基于所述源动作数据确定所述源骨骼的所述源位置数据以及所述变换矩阵。
步骤S510,对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标。
步骤S512,根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标。
步骤S514,按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
步骤S516,基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据。
步骤S518,利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
步骤S520,根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
本申请提供的数据处理方法,在获取到针对源骨骼提交的镜像动作创建请求后,将根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,之后按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,以获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,最后基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,实现了快速的对镜像动作进行制作,同时由于镜像动作是通过结合位置数据创建的,因此不需要考虑虚拟对象的骨骼类型,即可实现对任意类型骨骼或多类型组合骨骼进行镜像动作的制作,有效的降低了镜像动作制作过程中消耗的计算资源。
与上述方法实施例相对应,本申请还提供了数据处理装置实施例,图6示出了本申请一实施例提供的一种数据处理装置的结构示意图。如图6所示,该装置包括:
获取模块602,被配置为获取针对源骨骼提交的镜像动作创建请求;
确定模块604,被配置为根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵;
计算模块606,被配置为按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据;
创建模块608,被配置为基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
一个可选的实施例中,所述确定模块604进一步被配置为:
根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;基于所述源动作数据确定所述源骨骼的所述源位置数据以及所述变换矩阵。
一个可选的实施例中,所述确定模块604进一步被配置为:
根据所述镜像动作创建请求确定所述源骨骼对应的源动作;确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
一个可选的实施例中,所述计算模块606进一步被配置为:
对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
一个可选的实施例中,所述创建模块608进一步被配置为:
基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
一个可选的实施例中,所述数据处理装置,还包括:
播放模块,被配置为根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
一个可选的实施例中,所述确定模块604进一步被配置为:
对所述源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据。
一个可选的实施例中,所述计算模块606进一步被配置为:
按照所述预设的位置变换算法对所述多个源动作帧的第一位置数据和所述变换矩阵进行计算,获得所述目标骨骼对应的多个第二位置数据;将所述多个第二位置数据进行整合,获得所述目标骨骼的所述目标位置数据。
一个可选的实施例中,所述数据处理装置,还包括:
根据所述镜像动作创建请求确定所述源骨骼所属的目标虚拟模型;在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼。
本实施例提供的数据处理装置,在获取到针对源骨骼提交的镜像动作创建请求后,将根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,之后按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,以获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,最后基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,实现了快速的对镜像动作进行制作,同时由于镜像动作是通过结合位置数据创建的,因此不需要考虑虚拟对象的骨骼类型,即可实现对任意类型骨骼或多类型组合骨骼进行镜像动作的制作,有效的降低了镜像动作制作过程中消耗的计算资源。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
图7示出了根据本申请一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令:
获取针对源骨骼提交的镜像动作创建请求;
根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵;
按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据;
基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
可选地,所述根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,包括:
根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;
基于所述源动作数据确定所述源骨骼的所述源位置数据以及所述变换矩阵。
可选地,所述根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据,包括:
根据所述镜像动作创建请求确定所述源骨骼对应的源动作;
确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;
根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;
按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
可选地,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,包括:
基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;
利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
可选地,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作步骤执行之后,还包括:
根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
可选地,所述基于所述源动作数据确定所述源骨骼的所述源位置数据,包括:
对所述源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;
将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
按照所述预设的位置变换算法对所述多个源动作帧的第一位置数据和所述变换矩阵进行计算,获得所述目标骨骼对应的多个第二位置数据;
将所述多个第二位置数据进行整合,获得所述目标骨骼的所述目标位置数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据步骤执行之前,还包括:
根据所述镜像动作创建请求确定所述源骨骼所属的目标虚拟模型;
在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
获取针对源骨骼提交的镜像动作创建请求;
根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵;
按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据;
基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
可选地,所述根据所述镜像动作创建请求确定所述源骨骼的源位置数据以及变换矩阵,包括:
根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;
基于所述源动作数据确定所述源骨骼的所述源位置数据以及所述变换矩阵。
可选地,所述根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据,包括:
根据所述镜像动作创建请求确定所述源骨骼对应的源动作;
确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;
根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;
按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
可选地,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,包括:
基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;
利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
可选地,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作步骤执行之后,还包括:
根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
可选地,所述基于所述源动作数据确定所述源骨骼的所述源位置数据,包括:
对所述源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;
将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
按照所述预设的位置变换算法对所述多个源动作帧的第一位置数据和所述变换矩阵进行计算,获得所述目标骨骼对应的多个第二位置数据;
将所述多个第二位置数据进行整合,获得所述目标骨骼的所述目标位置数据。
可选地,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据步骤执行之前,还包括:
根据所述镜像动作创建请求确定所述源骨骼所属的目标虚拟模型;
在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (9)

1.一种数据处理方法,其特征在于,包括:
获取针对源骨骼提交的镜像动作创建请求;
根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;
基于所述源动作数据确定所述源骨骼的源位置数据以及变换矩阵,其中,所述源位置数据具体是指所述源骨骼在施展源动作时在每一帧动作中的坐标数据;
按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,所述关联关系具体是指对称关系;
基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼;
其中,所述基于所述源动作数据确定所述源骨骼的所述源位置数据,包括:对所述源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据;
其中,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据,包括:
根据所述镜像动作创建请求确定所述源骨骼对应的源动作;
确定所述源动作关联的源动作动画文件,并在所述源动作动画文件中读取所述源骨骼对应的所述源动作数据。
3.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,包括:
基于所述目标位置数据生成所述目标骨骼对应的镜像动作数据;
利用所述镜像动作数据创建响应所述镜像动作创建请求的所述镜像动作,其中,所述镜像动作与所述源骨骼的源动作互为镜像关系。
4.根据权利要求3所述的数据处理方法,其特征在于,所述基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作步骤执行之后,还包括:
根据所述目标骨骼和所述镜像动作创建镜像动作动画,并播放所述镜像动作动画。
5.根据权利要求1所述的数据处理方法,其特征在于,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:
按照所述预设的位置变换算法对所述多个源动作帧的第一位置数据和所述变换矩阵进行计算,获得所述目标骨骼对应的多个第二位置数据;
将所述多个第二位置数据进行整合,获得所述目标骨骼的所述目标位置数据。
6.根据权利要求1所述的数据处理方法,其特征在于,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据步骤执行之前,还包括:
根据所述镜像动作创建请求确定所述源骨骼所属的目标虚拟模型;
在所述目标虚拟模型中选择与所述源骨骼具有镜像关系的骨骼作为所述目标骨骼。
7.一种数据处理装置,其特征在于,包括:
获取模块,被配置为获取针对源骨骼提交的镜像动作创建请求;
确定模块,被配置为根据所述镜像动作创建请求读取所述源骨骼对应的源动作数据;基于所述源动作数据确定所述源骨骼的源位置数据以及变换矩阵,其中,所述源位置数据具体是指所述源骨骼在施展源动作时在每一帧动作中的坐标数据,其中,所述基于所述源动作数据确定所述源骨骼的所述源位置数据,包括:对源动作进行分帧处理获得多个源动作帧,并根据所述源动作数据确定所述源骨骼在每个源动作帧中的第一位置数据;将所述源骨骼在每个源动作帧中的第一位置数据进行整合,获得所述源骨骼的所述源位置数据;
计算模块,被配置为按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,所述关联关系具体是指对称关系,其中,所述按照预设的位置变换算法对所述源位置数据和所述变换矩阵进行计算,获得与所述源骨骼具有关联关系的目标骨骼的目标位置数据,包括:对所述变换矩阵进行解析获得第一变换矩阵和第二变换矩阵,以及对所述源位置数据进行解析获得顶点坐标;根据所述第一变换矩阵和所述顶点坐标确定局部坐标,并根据所述局部坐标和所述第二变换矩阵确定世界坐标;按照所述预设的位置变换算法对所述世界坐标进行计算,获得与所述源骨骼具有关联关系的所述目标骨骼的目标位置数据;
创建模块,被配置为基于所述目标位置数据创建响应所述镜像动作创建请求的镜像动作,所述镜像动作应用于所述目标骨骼。
8.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求1至6任意一项所述数据处理方法的步骤。
9.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至6任意一项所述数据处理方法的步骤。
CN202110556052.7A 2021-05-21 2021-05-21 数据处理方法及装置 Active CN113209625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110556052.7A CN113209625B (zh) 2021-05-21 2021-05-21 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110556052.7A CN113209625B (zh) 2021-05-21 2021-05-21 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN113209625A CN113209625A (zh) 2021-08-06
CN113209625B true CN113209625B (zh) 2023-07-25

Family

ID=77093649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110556052.7A Active CN113209625B (zh) 2021-05-21 2021-05-21 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN113209625B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113706675B (zh) * 2021-08-17 2023-07-21 网易(杭州)网络有限公司 镜像处理方法、装置、存储介质和电子装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530897B (zh) * 2013-09-30 2017-02-15 华为软件技术有限公司 运动重定向处理方法及装置
CN111627094B (zh) * 2020-06-04 2023-08-08 珠海西山居数字科技有限公司 一种骨骼动画生成的方法和装置
CN112819971B (zh) * 2021-01-26 2022-02-25 北京百度网讯科技有限公司 虚拟形象的生成方法、装置、设备和介质

Also Published As

Publication number Publication date
CN113209625A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
US11176725B2 (en) Image regularization and retargeting system
CN111626218B (zh) 基于人工智能的图像生成方法、装置、设备及存储介质
JP7299414B2 (ja) 画像処理方法、装置、電子機器及びコンピュータプログラム
CN110689604B (zh) 个性化脸部模型显示方法、装置、设备及存储介质
CN111464834A (zh) 一种视频帧处理方法、装置、计算设备及存储介质
CN110570500B (zh) 角色绘制方法、装置、设备及计算机可读存储介质
Ren et al. Human motion transfer from poses in the wild
CN113209625B (zh) 数据处理方法及装置
KR101977893B1 (ko) 영상컨텐츠 적용 디지털액터의 운용방법
US20230177755A1 (en) Predicting facial expressions using character motion states
CN110322571B (zh) 一种页面处理方法、装置及介质
CN113127126B (zh) 对象展示方法及装置
CN114359453A (zh) 一种三维特效渲染方法、装置、存储介质及设备
Fu et al. Real-time multimodal human–avatar interaction
US20230120883A1 (en) Inferred skeletal structure for practical 3d assets
CN111447379B (zh) 生成信息的方法和装置
CN116958344A (zh) 虚拟形象的动画生成方法、装置、计算机设备及存储介质
WO2023035725A1 (zh) 虚拟道具展示方法及装置
CN116115995A (zh) 图像渲染处理方法、装置及电子设备
US20240037826A9 (en) Image Regularization and Retargeting System
CN111915708A (zh) 图像处理的方法及装置、存储介质及电子设备
CN113230657B (zh) 一种角色交互方法及装置
CN115937371B (zh) 人物模型的生成方法和系统
CN113559500B (zh) 动作数据的生成方法、装置、电子设备及存储介质
CN111009022B (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
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant