CN116485958B - 对动作文件进行修复处理的方法、装置及电子设备 - Google Patents

对动作文件进行修复处理的方法、装置及电子设备 Download PDF

Info

Publication number
CN116485958B
CN116485958B CN202310274639.8A CN202310274639A CN116485958B CN 116485958 B CN116485958 B CN 116485958B CN 202310274639 A CN202310274639 A CN 202310274639A CN 116485958 B CN116485958 B CN 116485958B
Authority
CN
China
Prior art keywords
action
file
data
determining
standard
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
CN202310274639.8A
Other languages
English (en)
Other versions
CN116485958A (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.)
Beijing Youku Technology Co Ltd
Original Assignee
Beijing Youku 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 Beijing Youku Technology Co Ltd filed Critical Beijing Youku Technology Co Ltd
Priority to CN202310274639.8A priority Critical patent/CN116485958B/zh
Publication of CN116485958A publication Critical patent/CN116485958A/zh
Application granted granted Critical
Publication of CN116485958B publication Critical patent/CN116485958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

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

Abstract

本申请实施例公开了对动作文件进行修复处理的方法、装置及电子设备,所述方法包括:确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的;读取所述动作文件中的动作数据;根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。通过本申请实施例,能够缩短动作文件中的异常问题处理时间并保证动作数据的可用性,进而提升动漫或动画制作整体流程的效率。

Description

对动作文件进行修复处理的方法、装置及电子设备
技术领域
本申请涉及动画制作技术领域,特别是涉及对动作文件进行修复处理的方法、装置及电子设备。
背景技术
在动漫或者动画领域中,关于其中角色的动作设计是很重要的环节。动作设计是对动漫或者动画片中的角色的运动状态进行设计。通过动作设计,可以使每个角色的性格等得以充分而合理地表现出来,同时,也是角色在周围环境或角色之间关键的矛盾冲突中产生的心理活动的反映。
在传统的方式下,需要通过纸质绘画来完成角色的动作设计,但是,涉及到大量的手工绘画,因此,工作量非常大。例如,纸质绘画方式下,需要为同一个角色绘制多页静态动作,相邻两页的动作需要非常接近,才能够在连续播放多页内容时,让人物看上去能够流畅地动起来。
为了提升动作设计的效率,出现了数字绘画、3D动画等方式。其中,数字动画可以复用原画,不像纸质动画那样每一幅原话都重新绘制,因此,节省了绘画的时间。而3D引擎的出现,使得设计人员可以通过3D建模生成人物的轮廓、场景等,并在此基础上进行动作设计,而不涉及2D的手工绘制等工作,因此,进一步缩短了动作设计周期。
但是,由于一部动漫或者动画片中涉及的角色数量可能比较众多,每个角色的动作又是多种多样,因此,即使有了3D引擎技术的加持,数字动画制作的周期依然会比较长。例如,如今的动画更新速度通常在一周一集,而画面真正比较考究的动画往往需要数月的时间才能够完成。
因此,如何进一步提升动漫或者动画制作流程的效率,成为需要本领域技术人员解决的技术问题。
发明内容
本申请提供了对动作文件进行修复处理的方法、装置及电子设备,能够缩短动作文件中的异常问题处理时间并保证动作数据的可用性,进而提升动动漫或动画制作整体流程的效率。
本申请提供了如下方案:
一种对动作文件进行修复处理的方法,包括:
确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的;
读取所述动作文件中的动作数据;
根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。
其中,所述动作文件包括由多帧动作数据组成的动作序列;
所述对所述动作文件中的动作数据进行自动修复处理,包括:
根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量;
根据所述位置和/或旋转偏移量,确定所述动作数据存在的异常问题类型;
根据所述异常问题类型以及所述位置和/或旋转偏移量,对所述动作序列中的首帧以及多个后续帧中的动作数据进行自动修复处理。
其中,所述对所述动作文件中的动作数据进行自动修复处理,包括:
确定所述首帧动作数据中标准骨骼树上的根骨骼节点相对于世界坐标系原点的位置偏移量;
根据所述位置偏移量,确定所述标准模型是否存在偏离世界坐标系原点位置的异常问题;
如果是,则根据所述位置偏移量重新生成所述根骨骼的位置动作数据,以便对所述标准模型偏离世界坐标系原点位置的异常问题进行修复。
其中,所述对所述动作文件中的动作数据进行自动修复处理,包括:
根据所述首帧动作数据分析所述标准模型的姿态信息,并根据所述姿态信息确定所述标准骨骼树中的处于最低点的关节点,并确定所述处于最低点的关节相对于世界坐标系中Y轴原点的位置偏移量;其中,Y轴为屏幕平面的垂直方向;
根据所述位置偏移量,确定所述标准模型是否存在穿入地下或悬在空中的异常问题;
如果是,则将所述位置偏移量作用于所述根骨骼上,以便对所述标准模型穿入地下或悬在空中的异常问题进行修复。
其中,所述对所述动作文件中的动作数据进行自动修复处理,包括:
根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量;其中,X轴为屏幕平面的水平方向,Z轴为垂直于屏幕平面的方向;
根据所述旋转偏移量,确定所述标准模型是否存在朝向异常问题;
如果所述标准模型存在朝向异常问题,则对所述标准模型的朝向进行修复。
其中,所述对所述标准模型的朝向进行修复,包括:
为所述标准骨骼树增加父骨骼节点;
将所述根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量进行取反处理,并将取反后的旋转偏移量作用于所述父骨骼节点,以便将所述标准骨骼树中的多个骨骼节点进行整体的旋转处理。
其中,还包括:
将修复后的动作文件保存到动作资产数据库中,以便在新的动画工程中引用所述动作文件。
一种对动作文件进行修复处理的装置,包括:
动作文件确定单元,用于确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的;
动作数据读取单元,用于读取所述动作文件中的动作数据;
动作修复单元,用于根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述的方法的步骤。
一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,可以从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成动作文件,之后,可以通过读取动作文件中的动作数据,根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并且可以根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。这样,不仅可以利用已有的动画工程丰富动作文件库中的动作类型,还可以实现对动作文件中存在的异常问题的自动修复,相对于手动修复而言,可以大幅缩短动作文件中的异常问题处理时间并保证动作数据的可用性,进而可以提升动漫或动画制作整体流程的效率。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统架构的示意图;
图2是本申请实施例提供的方法的流程图;
图3是本申请实施例提供的对“穿入地下”问题进行修复的示意图;
图4是本申请实施例提供的对朝向异常问题进行修复的示意图;
图5是本申请实施例提供的一种具体实现方式下的流程示意图;
图6是本申请实施例提供的装置的示意图;
图7是本申请实施例提供的电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
首先需要说明的是,在动漫或者动画片中对角色模型进行动作设计时,虽然可能需要通过动作来在表现性格等,但同时又不能脱离角色本身的物理动作。其中,物理动作是根据日常生活中的物理现象和人物的工作提炼出来的,夸张变形的成分较少,但又是动漫或者动画片中不可缺少的一部分。例如,物理动作可以包括常规运动,比如人的走路、跑步等,另外,也可以包括人的表情、口型等,在动画片中强调动作、配合,使动作和表情融为一体,而这种动作带有普遍性。因此,在实际应用中,可以提供动作文件库,其中可以包括一些具有通用性的动作文件,每个动作文件可以对应一种动作,并可以添加对应的标签之后,进行分类保存。这样,具体在新的动画工程中为角色设计动作时,可以通过引用这种通用动作文件,并在通用动作文件基础上进行一些个性化设计的方式,完成对角色模型的动作设计。相对于从零开始进行动作设计而言,这种通过引用动作文件进行动作设计的方案可以进一步提升效率,同时还可以提升代码的复用率。
但是,在已有的技术方案中,上述动作文件库中的通用动作文件通常是由设计师进行设计的,然后保存到数据库中。而在本申请实施例中,为了进一步丰富动作文件库中的动作类型,同时也降低设计师的工作量,采用了从已有的动画工程中提取动作数据,并生成动作文件后,可以作为通用的动作文件保存到数据库中,以提供给新的动画工程使用。关于该方案,作为一项单独的专利另行申请,本申请实施例是在该方案的基础上,提供了对从已有的动画工程生成的动作文件进行自动修复的实现方案。为了便于理解本申请实施例提供的方案,这里对前述从已有的动画工程中提取动作数据并生成动作文件的实现方案及其相关背景进行简单的介绍。
在实际应用中,一些视频播放平台等中可能会出于多种目的收购一些动漫资产,另外,平台内部可能也会存在一些自主设计的动漫资产,这些资产就是用来做动漫、动画片的原始素材。最初,这些资产通常是被存放到硬盘等存储系统中,没有被有效利用,使得这些素材被浪费。因此,可以将这些资产利用起来,使得其中包括的一些素材可以被复用。其中就包括从中提取出具体角色模型的动作数据,以动作文件的形式保存到动作文件库中,其他的动漫公司等如果在新的动画工程需要用到类似的动作,则可以通过该文件库中导出对应的文件,并导入自己的动画工程中,等等。
其中,由于原始资产是一个动画工程,其中包括场景、角色等,具体的处理过程就是要把依附在角色骨架的动作数据提取出来。具体实现时,可以在后台打开已有的动画工程文件,判断动画工程里是否有角色模型,例如,可以通过是否包含关键的关节节点,如手臂、大腿、小腿等,判断是否为人物、动物等角色,等等,具体在进行关节节点判断时,可以根据动画工程引用的骨骼树结构(原始工程文件引用了一些外部文件,其中就包括骨骼树结构,其中定义了关节节点,节点之间的位置关系等)。如果判断出有人物、动物等角色,还可以继续判断骨骼树上的动作是否有效,例如,有些可能是类似于“群众演员”之类的角色,基本没什么动作,或者动作幅度很小,因此,这些角色的动作属于无用的动作,可以把这些无用动作排除掉。然后,剩下的有效动作可以导出为多份动作数据。其中,具体的动作数据通常是角色模型上的数据,而角色模型是一个单独的文件,动作数据是在一个控制器上的(动画师在做动作时,通常涉及到多个骨骼节点,因此,通常需要做个控制器来控制多个骨骼节点,做动作的处理),而在本申请实施例中,需要得到的是作用于骨骼树的动作,因此,还可以把控制器上的动作数据映射到标准模型关联的标准骨骼树上。得到作用于标准骨骼树上的动作数据后,可以将其导出,生成FBX(Autodesk Filmbox)等格式的动作文件,之后,还可以通过增加皮肤等,为其增加可视化效果。
也就是说,通过对已有的动画工程文件进行分析及数据提取,可以生成多个FBX等格式的动作文件,但是,通常情况下,这些动作文件并不能直接保存到动作文件库中,而是还需要进行一些处理。这是因为:在动作文件库中,为了便于使用者判断具体的动作文件是否符合其需求,通常还可以为使用者提供动作的预览,而在提供预览时,最好是将标准模型放置在世界中心原点处,不要出现“穿入地下”或者“悬在空中”等情况;另外,标准模型最好朝向更便于观察动作细节的方向,例如,可以面朝正前方,以便于使用者更好的观察动作的细节,以判断是否符合自己的需求,等等。而在本申请实施例中,是从已有的动画工程文件中生成的动作文件,而已有的动画工程文件中,具体的人物等角色都是在具体的场景里,这使得生成的动作文件中,角色模型的位置、朝向等可能都不适合直接进行保存。例如,在具体的场景中,由于具体的角色通常会发生一些运动等,使得提取具体的动作数据时,角色所处的环境本身可能已经不是在世界坐标系的原点位置,例如,某场景中,世界中心的原点位于某个树林的中心处,但是,某角色发生某动作的事件时,是在另一个地方,此时,该角色已经不在世界坐标系的原点。或者,某角色可能位于山坡上,此时,直接提取处该角色模型后,该角色模型可能会出现“悬在空中”的情况。再或者,如果某角色可能正在侧身与其他角色进行打斗等,还可能使得角色模型没有面朝正前方,使得其动作细节不利于被观察清楚,等等。
可见,以上情况的存在,使得从已有动画工程中生成的动作文件无法直接保存到动作文件库中,而是需要进行一些处理操作。为了达到该目的,在现有技术下,只能由动画师等通过人工观察角色模型的动作过程,并对上述动作文件中存在的各种异常问题进行手动修复,包括手动改写动作文件中的动作数据等等。但是,这种方式的识别率会比较差,效率也会很低。并且,在手动改写动作数据的过程中,可能会由于一些误操作等,导致动作数据的可用性受到影响,等等。
为此,在本申请实施例中,还提供了对上述从已有动画工程中生成的动作文件进行自动修复的实现方案。具体的,如图1所示,可以为用户提供修复工具,用于运行在用户的终端设备中,用户可以将上述从已有动画工程中生成的动作文件保存在终端设备本地,在打开该修复工具后,可以从本地批量选择具体需要进行修复的动作文件(例如,可以将从多个已有动画工程中生成的动作文件同时进行选择,等等)。之后,该修复工具中的算法便可以分别从这些动作文件中提取其中的动作数据,并根据动作数据确定骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,之后,可以根据所述位置和/或旋转偏移量,对动作文件中的动作数据进行自动修复处理。其中,具体的修复的异常问题可以包括多种,例如,包括前述偏离世界坐标系原点位置,“穿入地下”或“悬在空中”,未面朝某目标方向,等等。修复后的动作文件可以进行保存,之后,可以将这些动作文件保存到动作文件库中,在保存时,还可以为具体的动作文件添加标签等,以便于进行分类及查询。通过这种方式,可以大幅缩短动作文件中的异常问题处理时间并保证动作数据的可用性,从而提升动动漫或动画制作整体流程的效率。
下面对本申请实施例提供的具体实现方案进行详细介绍。
首先,本申请实施例从前述修复工具的角度,提供了一种对动作文件进行修复处理的方法,参见图2,该方法可以包括:
S201:确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的。
具体的,动作文件可以是预先生成的,如前文所述,可以是从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的。关于具体生成上述动作文件的实现细节这里不进行详述。
在预先生成动作文件之后,可以将从多个已有动画工程中生成的多个动作文件保存在修复工具所在的终端设备本地。另外,可以在修复工具中提供用于选择文件的入口,用户可以通过该入口对预先保存在本地的动作文件进行选择,具体的,可以一次性选择多个动作文件,实现对多个动作文件的批量自动修复。
S202:读取所述动作文件中的动作数据。
在确定出具体需要修复的动作文件后,对于每个动作文件都可以按照同样的流程进行处理。具体的,首先就可以从动作文件中读取具体的动作数据。其中,由于动作文件是通过将提取出的动作数据作用于标准骨骼树得到的,因此,可以从动作文件中提取出动作数据,以便基于这种动作数据进行分析,以发现其中是否存在某些异常问题。
S203:根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。
在读取出动作数据后,可以确定出关联的标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,进而,可以根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。具体实现时,由于具体的动作文件通常可以包括由多帧动作数据组成的动作序列,而运动的过程中通常是基于首帧(也即第一帧)所在的位置进行运动,之后的很多帧连贯起来,因此,具体实现时,可以首先基于首帧中的动作数据进行判断,后续帧可以基于首帧中的判断结果进行同样的处理即可。例如,具体的,首先可以根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,然后,可以根据所述位置和/或旋转偏移量,确定所述动作数据存在的异常问题类型;之后,可以根据所述异常问题类型以及所述位置和/或旋转偏移量,对所述动作序列中的首帧以及多个后续帧中的动作数据进行自动修复处理。当然,具体实现时,也可以分别针对多个帧进行偏移量的确定并修复。
其中,关于关键骨骼点,对于各种不同的异常问题而言,可以选择不同的骨骼节点作为关键骨骼点。例如,针对标准模型不在世界坐标系原点的情况,可以将标准骨骼树中的根骨骼节点作为关键骨骼点进行判断。其中,骨骼树是一个树形数据结构,该树形数据结构的根节点就是根骨骼节点。具体在判断时,首先可以确定所述首帧动作数据中骨骼树上的根骨骼节点相对于世界坐标系原点的位置偏移量,然后,可以根据所述位置偏移量,确定所述标准模型是否存在偏离世界坐标系原点位置的异常问题。其中,可以首先确定出根骨骼节点在世界坐标系中的坐标等信息,该坐标信息可以从运动数据中进行获得;之后,可以确定出该根骨骼节点相对于世界坐标系原点(坐标为(0,0,0))的位置偏移量。例如,根骨骼节点在世界坐标系中的坐标是(x,y,z),则相对于世界坐标系原点的位置偏移量分别为x,y,z。只x和z不为零,就意味着具体的角色模型并未位于世界坐标系的原点位置。之后,可以根据所述位置偏移量重新生成所述根骨骼的位置动作数据,具体的,可以将角色模型在各个坐标轴向相反的方向移动对应的偏移量,以便对所述角色模型偏离世界坐标系原点位置的异常问题进行修复。
另外,对于“穿入地下”或者“悬在空中”的异常情况,可以将骨骼树中的处于最低点的关节点确定为关键骨骼点,并通过确定该处于最低点的关节点在世界坐标系中的位置,判断是否存在该类型的异常。具体的,首先可以根据首帧动作数据分析角色模型的姿态信息,并根据姿态信息确定所述骨骼树中的处于最低点的关节点。其中,关于姿态的分析,具体可以根据预先训练的算法等根据各个骨骼点之间的相对位置关系等进行识别。之后,可以根据各种姿态下与最低关节点之间的对应关系,确定出最低关节点。例如,假设角色为站姿,则处于最低点的关节点为脚掌关节,若角色当前为双腿跪地姿势,则处于最低的关节点则为膝盖关节,等等。在确定出处于最低点的关节点后,可以确定出该处于最低点的关节点相对于世界坐标系中Y轴原点(也即,Y轴上坐标为0的位置通常为地面)的位置偏移量;其中,Y轴为屏幕平面的垂直方向。之后,可以根据该位置偏移量,确定出标准模型是否存在穿入地下或悬在空中的异常问题。如果存在,则可以将该位置偏移量作用于各动作序列帧的根骨骼上,以便对所述标准模型穿入地下或悬在空中的异常问题进行修复。
例如,在一个例子中,假设修复之前,某一帧中标准模型的状态如图3(A)所示,其中,假设31所示为地面,可见,标准模型存在“穿入地下”的异常,也即,该标准模型的脚掌并没有踩在地面上,而是位于地面以下的位置。通过本申请实施例提供的方案进行修复后,可以如图3(B)所示。
再者,对于标准模型的朝向不理想的情况,则仍然可以将根骨骼节点作为关键骨骼点,然后可以根据动作序列中的首帧动作数据,确定出骨骼树上的根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量;其中,X轴为屏幕平面的水平方向,Z轴为垂直于屏幕平面的方向。之后,可以根据该旋转偏移量,确定所述标准模型是否存在朝向异常问题,如果存在,则可以对所述标准模型的朝向进行修复。
例如,假设某动作需要在标准模型朝向正前方时,才更便于观察动作细节,因此,在提供预览时,可以使得该标准模型朝向正前方做动作。此时,就可以确定出标准模型相对于X轴、Z轴的旋转偏移量,例如,假设为分别为x,z,只要两者不为0,就意味着该标准模型并未朝向正前方,因此,可以对朝向进行修复。
其中,具体在对标准模型的朝向进行修复时,在一种具体的实现方式下,可以首先在现有骨骼树上增加一个父骨骼节点,并将该父骨骼节点设置为原来的根骨骼节点的父级节点)。这样,可以将原来的根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量进行取反处理后,将取反后的旋转偏移量作用于所述父骨骼节点,以此可以实现整个骨骼树的朝向变化。通过这种增加父骨骼节点进行朝向调整的方式,可以提升修复的效率,当然,在具体实现时,也可以通过其他方式进行朝向调整,例如,分别将取反后的旋转偏移量作用于各个骨骼节点,等等,这里不进行限定。
例如,在一个例子中,假设修复之前,某一帧中角色模型的状态如图4(A)所示,其中,该角色模型面朝右前方,通过本申请实施例提供的方案进行修复后,可以如图4(B)所示,也即,该角色模型面朝正前方,从而更便于观察角色模型的动作细节。
需要说明的是,具体实现时,可能并不是每个动作文件中都包括上述各种异常问题,但是可以对各种异常问题进行逐一排查,如果存在,则可以按照对应的方式进行修复处理。
例如,在实际应用的例子中,具体的修复流程可以如图5所示,包括以下步骤:
S501:根据用户的选择操作,确定待处理的动作文件所在的目录;
S502:批量读取目录下各个动作文件中的角色动作数据;
S503:判断角色是否处于世界坐标系原点;如果是,进入步骤S505,否则进入步骤S504;
S504:重置原点;
S505:分析角色的首帧姿态;
S506:根据不同姿态分析出角色最低点的关节点;
S507:计算根骨骼节点的偏移值,以便对“穿入地下”或者“浮在空中”的情况进行修复;
S508:判断角色是否面朝正前方;如果是,进入S512,否则进入S509;
S509:计算角色朝向纠偏旋转数据;
S510:增加父骨骼节点,并设置为当前骨骼树的根节点;
S511:设置父骨骼节点的旋转数据(对角色朝向的旋转数据进行取反处理之后,再作用于父骨骼节点);
S512:输出修复后的动作数据。
完成修复后,可以将修复后的动作文件保存到动作资产数据库中,以便在新的动画工程中引用所述动作文件。其中,如前文所述,具体在进行保存时,还可以为具体的动作文件添加标签,还可以对多个动作文件进行分类保存,以便在新的动画工程中进行引用。
总之,通过本申请实施例,可以从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成动作文件,之后,可以通过读取动作文件中的动作数据,根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并且可以根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。这样,不仅可以利用已有的动画工程丰富动作文件库中的动作类型,还可以实现对动作文件中存在的异常问题的自动修复,相对于手动修复而言,可以大幅缩短动作文件中的异常问题处理时间并保证动作数据的可用性,进而可以提升动漫或动画制作整体流程的效率。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
与前述方法实施例相对应,本申请实施例还提供了一种对动作文件进行修复处理的装置,参见图6,该装置可以包括:
动作文件确定单元601,用于确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的;
动作数据读取单元602,用于读取所述动作文件中的动作数据;
动作修复单元603,用于根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理。
具体实现时,所述动作文件包括由多帧动作数据组成的动作序列;
所述动作修复单元具体可以包括:
首帧偏移量确定子单元,用于根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量;
问题类型确定子单元,用于根据所述位置和/或旋转偏移量,确定所述动作数据存在的异常问题类型;
修复子单元,用于根据所述异常问题类型以及所述位置和/或旋转偏移量,对所述动作序列中的首帧以及多个后续帧中的动作数据进行自动修复处理。
具体的,所述首帧偏移量确定子单元具体可以用于:
确定所述首帧动作数据中标准骨骼树上的根骨骼节点相对于世界坐标系原点的位置偏移量;
此时,问题类型确定子单元具体可以用于,根据所述位置偏移量,确定所述标准模型是否存在偏离世界坐标系原点位置的异常问题;
修复子单元具体可以用于:如果是,则根据所述位置偏移量重新生成所述根骨骼的位置动作数据,以便对所述标准模型偏离世界坐标系原点位置的异常问题进行修复。
或者,另一种情况下,所述首帧偏移量确定子单元具体可以用于:
根据所述首帧动作数据分析标准模型的姿态信息,并根据所述姿态信息确定所述骨骼树中的处于最低点的关节点,并确定所述处于最低点的关节点相对于世界坐标系中Y轴原点的位置偏移量;其中,Y轴为屏幕平面的垂直方向;
此时,问题类型确定子单元具体可以用于,根据所述位置偏移量,确定所述标准模型是否存在穿入地下或悬在空中的异常问题;
修复子单元具体可以用于:如果是,则将所述位置偏移量作用于所述根骨骼上,以便对所述标准模型穿入地下或悬在空中的异常问题进行修复。
再者,所述首帧偏移量确定子单元具体可以用于:
根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量;其中,X轴为屏幕平面的水平方向,Z轴为垂直于屏幕平面的方向;
此时,问题类型确定子单元具体可以用于,根据所述旋转偏移量,确定所述标准模型是否存在朝向异常问题;
修复子单元具体可以用于:如果所述标准模型存在朝向异常问题,则对所述标准模型的朝向进行修复。
具体的,所述修复子单元具体可以用于:
为所述标准骨骼树增加父骨骼节点;
将所述根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量进行取反处理,并将取反后的旋转偏移量作用于所述父骨骼节点,以便将标准骨骼树中的多个骨骼节点进行整体的旋转处理。
具体实现时,该装置还可以包括:
保存单元,用于将修复后的动作文件保存到动作资产数据库中,以便在新的动画工程中引用所述动作文件。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
其中,图7示例性的展示出了电子设备的架构,具体可以包括处理器710,视频显示适配器711,磁盘驱动器712,输入/输出接口713,网络接口714,以及存储器720。上述处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720之间可以通过通信总线730进行通信连接。
其中,处理器710可以采用通用的CPU(Central Processing Unit,处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器720可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器720可以存储用于控制电子设备700运行的操作系统721,用于控制电子设备700的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器723,数据存储管理系统724,以及动作文件修复处理系统725等等。上述动作文件修复处理系统725就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器720中,并由处理器710来调用执行。
输入/输出接口713用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口714用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线730包括一通路,在设备的各个组件(例如处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,存储器720,总线730等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的对动作文件进行修复处理的方法、装置及电子设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种对动作文件进行修复处理的方法,其特征在于,包括:
确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型在所处环境场景中执行目标动作状态下的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的;
读取所述动作文件中的动作数据;
根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理,其中,修复后的动作文件用于保存到动作文件库中,以便被新的动画工程所引用。
2.根据权利要求1所述的方法,其特征在于,
所述动作文件包括由多帧动作数据组成的动作序列;
所述对所述动作文件中的动作数据进行自动修复处理,包括:
根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量;
根据所述位置和/或旋转偏移量,确定所述动作数据存在的异常问题类型;
根据所述异常问题类型以及所述位置和/或旋转偏移量,对所述动作序列中的首帧以及多个后续帧中的动作数据进行自动修复处理。
3.根据权利要求2所述的方法,其特征在于,
所述对所述动作文件中的动作数据进行自动修复处理,包括:
确定所述首帧动作数据中标准骨骼树上的根骨骼节点相对于世界坐标系原点的位置偏移量;
根据所述位置偏移量,确定所述标准模型是否存在偏离世界坐标系原点位置的异常问题;
如果是,则根据所述位置偏移量重新生成所述根骨骼的位置动作数据,以便对所述标准模型偏离世界坐标系原点位置的异常问题进行修复。
4.根据权利要求2所述的方法,其特征在于,
所述对所述动作文件中的动作数据进行自动修复处理,包括:
根据所述首帧动作数据分析所述标准模型的姿态信息,并根据所述姿态信息确定所述标准骨骼树中的处于最低点的关节点,并确定所述处于最低点的关节相对于世界坐标系中Y轴原点的位置偏移量;其中,Y轴为屏幕平面的垂直方向;
根据所述位置偏移量,确定所述标准模型是否存在穿入地下或悬在空中的异常问题;
如果是,则将所述位置偏移量作用于根骨骼上,以便对所述标准模型穿入地下或悬在空中的异常问题进行修复。
5.根据权利要求2所述的方法,其特征在于,
所述对所述动作文件中的动作数据进行自动修复处理,包括:
根据所述动作序列中的首帧动作数据,确定所述标准骨骼树上的根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量;其中,X轴为屏幕平面的水平方向,Z轴为垂直于屏幕平面的方向;
根据所述旋转偏移量,确定所述标准模型是否存在朝向异常问题;
如果所述标准模型存在朝向异常问题,则对所述标准模型的朝向进行修复。
6.根据权利要求5所述的方法,其特征在于,
所述对所述标准模型的朝向进行修复,包括:
为所述标准骨骼树增加父骨骼节点;
将所述根骨骼节点相对于世界坐标系的X轴、Z轴的旋转偏移量进行取反处理,并将取反后的旋转偏移量作用于所述父骨骼节点,以便将所述标准骨骼树中的多个骨骼节点进行整体的旋转处理。
7.一种对动作文件进行修复处理的装置,其特征在于,包括:
动作文件确定单元,用于确定待进行动作修复处理的动作文件,所述动作文件是从已有的动画工程中提取出角色模型在所处环境场景中执行目标动作状态下的动作数据,并将所述动作数据映射到标准模型关联的标准骨骼树上之后生成的;
动作数据读取单元,用于读取所述动作文件中的动作数据;
动作修复单元,用于根据动作数据确定所述标准骨骼树上的关键骨骼点相对于世界坐标系的位置和/或旋转偏移量,并根据所述位置和/或旋转偏移量,对所述动作文件中的动作数据进行自动修复处理,其中,修复后的动作文件用于保存到动作文件库中,以便被新的动画工程所引用。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任一项所述的方法的步骤。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至6任一项所述的方法的步骤。
CN202310274639.8A 2023-03-17 2023-03-17 对动作文件进行修复处理的方法、装置及电子设备 Active CN116485958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310274639.8A CN116485958B (zh) 2023-03-17 2023-03-17 对动作文件进行修复处理的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310274639.8A CN116485958B (zh) 2023-03-17 2023-03-17 对动作文件进行修复处理的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN116485958A CN116485958A (zh) 2023-07-25
CN116485958B true CN116485958B (zh) 2024-02-06

Family

ID=87218544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310274639.8A Active CN116485958B (zh) 2023-03-17 2023-03-17 对动作文件进行修复处理的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116485958B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043057A (ja) * 2010-08-16 2012-03-01 Copcom Co Ltd 顔画像編集用プログラム、その顔画像編集用プログラムを記録した記録媒体及び顔画像編集システム
CN104680188A (zh) * 2015-03-24 2015-06-03 重庆大学 一种人体姿态基准图像库的构建方法
CN110992449A (zh) * 2019-11-29 2020-04-10 网易(杭州)网络有限公司 舞蹈动作合成方法、装置、设备及存储介质
CN114100138A (zh) * 2021-12-06 2022-03-01 珠海金山数字网络科技有限公司 位置更新方法及装置
CN114332317A (zh) * 2021-12-29 2022-04-12 天津亚克互动科技有限公司 动画数据处理方法、装置、程序产品、介质及电子设备
CN115601480A (zh) * 2022-09-27 2023-01-13 北京达佳互联信息技术有限公司(Cn) 虚拟对象驱动方法、装置、电子设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2408193A3 (en) * 2004-04-16 2014-01-15 James A. Aman Visible and non-visible light sensing camera for videoing and object tracking
JP2010170279A (ja) * 2009-01-21 2010-08-05 Namco Bandai Games Inc 骨格動作制御システム、プログラムおよび情報記憶媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043057A (ja) * 2010-08-16 2012-03-01 Copcom Co Ltd 顔画像編集用プログラム、その顔画像編集用プログラムを記録した記録媒体及び顔画像編集システム
CN104680188A (zh) * 2015-03-24 2015-06-03 重庆大学 一种人体姿态基准图像库的构建方法
CN110992449A (zh) * 2019-11-29 2020-04-10 网易(杭州)网络有限公司 舞蹈动作合成方法、装置、设备及存储介质
CN114100138A (zh) * 2021-12-06 2022-03-01 珠海金山数字网络科技有限公司 位置更新方法及装置
CN114332317A (zh) * 2021-12-29 2022-04-12 天津亚克互动科技有限公司 动画数据处理方法、装置、程序产品、介质及电子设备
CN115601480A (zh) * 2022-09-27 2023-01-13 北京达佳互联信息技术有限公司(Cn) 虚拟对象驱动方法、装置、电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于骨骼信息的虚拟角色控制方法;李红波等;重庆邮电大学学报(自然科学版);28(01);第78-82页 *
游戏动画中的动作捕捉;殷俊 等;江苏大学学报(自然科学版);27(05);第454-457页 *

Also Published As

Publication number Publication date
CN116485958A (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US11610331B2 (en) Method and apparatus for generating data for estimating three-dimensional (3D) pose of object included in input image, and prediction model for estimating 3D pose of object
Engelke et al. Content first: a concept for industrial augmented reality maintenance applications using mobile devices
EP3454302B1 (en) Approximating mesh deformation for character rigs
US20120259594A1 (en) Bim based 3-d visualization
US8466919B1 (en) Re-rendering a portion of an image
Eyre et al. Immersive applications of industrial digital twins
Hutabarat et al. Combining virtual reality enabled simulation with 3D scanning technologies towards smart manufacturing
CN110930515B (zh) 一种三维建模的方法、装置、存储介质和电子设备
CN112199751A (zh) 一种墙体模型的生成方法、装置、电子设备及存储介质
CN116485958B (zh) 对动作文件进行修复处理的方法、装置及电子设备
NO20023653D0 (no) Fremgangsmåte, system og dataprogram for fremstilling av en beskrivelse av et ikke-regul¶rt nett og en innkapslet geometriskbeskrivelse i et datagrafikksystem
CN108597025B (zh) 基于人工智能面向虚拟现实的快速模型构建方法和装置
CN113297639A (zh) 数据处理方法、系统及电子设备
US11574002B1 (en) Image tracing system and method
CN107103636A (zh) 多表示相关图
US11900514B2 (en) Digital content editing using a procedural model
Patibandla et al. Augmented reality for assistive maintenance and real-time failure analysis in industries
CN115170765A (zh) 一种模型处理系统、方法及装置
CN110990104B (zh) 一种基于Unity3D的纹理渲染方法及装置
Gimeno et al. An easy-to-use AR authoring tool for industrial applications
Ćuković et al. Augmented reality simulation of cam spatial tool paths in prismatic milling sequences
Annable et al. Nubugger: A visual real-time robot debugging system
CN112199753A (zh) 剪力墙生成方法、装置、电子设备及存储介质
Hempe et al. A semantics-based, active render framework to realize complex eRobotics applications with realistic virtual testing environments
CN112233208A (zh) 机器人状态处理方法、装置、计算设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant