CN114432703A - 基于嵌套骨骼分离运动的角色模型自定义方法 - Google Patents
基于嵌套骨骼分离运动的角色模型自定义方法 Download PDFInfo
- Publication number
- CN114432703A CN114432703A CN202210118362.5A CN202210118362A CN114432703A CN 114432703 A CN114432703 A CN 114432703A CN 202210118362 A CN202210118362 A CN 202210118362A CN 114432703 A CN114432703 A CN 114432703A
- Authority
- CN
- China
- Prior art keywords
- animation
- information storage
- skeleton
- human
- 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.)
- Withdrawn
Links
Images
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/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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
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
技术领域
本发明涉及工业生产仿真设计的技术领域,特别涉及基于嵌套骨骼分离运动的角色模型自定义方法。
背景技术
在三维动画游戏中,玩家用户对自身在游戏中的角色形象具有较高的要求。玩家用户通常利用三维动画游戏自带的游戏角色自定义功能来搭建相应的游戏角色形象。现有的游戏角色自定义功能都是将动画角色骨骼与动画变形器相结合来实现的。但是上述游戏角色自定义功能的实现方式直接对动画角色骨骼进行缩放,若缩放变形幅度过大,在后续将人体模型套用到三维动画时,会发生动画角色骨骼被三维动画帧强行拉回的情况。为了避免发生上述情况,玩家用户通常只对动画角色骨骼进行小幅度的缩放变形,这样会降低玩家用户对游戏角色自定义的自由度和体验性,并且还无法将游戏角色自定义功能扩展到不同类型的三维动画游戏中。
发明内容
针对现有技术存在的缺陷,本发明提供基于嵌套骨骼分离运动的角色模型自定义方法,其根据人形动画骨骼中获取若干人形骨骼的位置坐标信息,创建人形骨骼对应的缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼,并对其中特定骨骼进行蒙皮处理;接着利用缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼制作得到动画帧,并将动画帧转换成二进制数据文件;再将二进制数据文件作为三维动画角色模型自定义的数据源文件,这样能够将人形动画骨骼与三维动画游戏中存储的角色自定义模型数据进行分离,以保证角色自定义模型数据不会被人型动画覆盖,玩家用户可根据自身需要对游戏角色进行大幅度的变形定义,从而提高对游戏角色自定义的自由度和体验性,以及将游戏角色自定义功能扩展到不同类型的三维动画游戏中。
本发明提供基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于,其包括如下步骤:
步骤S1,根据人体模型构建人形动画骨骼;从所述人形动画骨骼中获取若干人形骨骼的位置坐标信息,并根据所述人形骨骼的位置坐标信息,创建所述人形骨骼对应的缩放信息存储骨骼;
步骤S2,根据所述人形骨骼的位置坐标信息,创建所述人形骨骼的平移信息存储骨骼和旋转信息存储骨骼;
步骤S3,确定所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼之间的骨骼从属层次关系;根据所述骨骼从属层次关系,在三维人体模型中对特定骨骼进行蒙皮处理;
步骤S4,利用所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼制作得到动画帧,并将所述动画帧转换成二进制数据文件;再将所述二进制数据文件作为三维动画角色模型自定义的数据源文件;
进一步,在所述步骤S1中,根据人体模型构建人形动画骨骼具体包括:
从人体骨骼分布模型中,获得人体所有骨骼各自的形状尺寸信息以及不同骨骼之间的相对位置关系信息;并根据所述形状尺寸信息和所述相对位置关系信息,构建人形动画骨骼,同时不对所述人形动画骨骼进行蒙皮处理;
进一步,在所述步骤S1中,从所述人形动画骨骼中获取若干人形骨骼的位置坐标信息,并根据所述人形骨骼的位置坐标信息,创建所述人形骨骼对应的缩放信息存储骨骼具体包括:
从所述人形动画骨骼中获取其中一个骨骼及与其邻接的另一个骨骼各自对应的骨骼位置坐标点A1和A2,在连接坐标点A1和A2的直线上任意选取三个坐标点S1、S2、S3;将所述三个坐标点S1、S2、S3各自相对于所述坐标点A1的三维位置坐标,作为其中一个骨骼及与其邻接的另一个骨骼对应的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼;
进一步,在所述步骤S2中,根据所述人形骨骼的位置坐标信息,创建所述人形骨骼的平移信息存储骨骼和旋转信息存储骨骼具体包括:
在所述坐标点S1所处的坐标系中,根据第一预设平移距离和第一预设旋转姿态角,分别创建与所述第一缩放信息存储骨骼对应的平移信息存储骨骼T1和旋转信息存储骨骼R1;
在所述坐标点S2所处的坐标系中,根据第二预设平移距离和第二预设旋转姿态角,分别创建与所述第二缩放信息存储骨骼对应的平移信息存储骨骼T2和旋转信息存储骨骼R2;
在所述坐标点S3所处的坐标系中,根据第三预设平移距离和第三预设旋转姿态角,分别创建与所述第三缩放信息存储骨骼对应的平移信息存储骨骼T3和旋转信息存储骨骼R3;
进一步,在所述步骤S3中,确定所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼之间的骨骼从属层次关系具体包括:
将所述平移信息存储骨骼T1和所述旋转信息存储骨骼R1作为父骨骼,将第一缩放信息存储骨骼作为对应的子骨骼;
将所述平移信息存储骨骼T2和所述旋转信息存储骨骼R2作为父骨骼,将第二缩放信息存储骨骼作为对应的子骨骼;
将所述平移信息存储骨骼T3和所述旋转信息存储骨骼R3作为父骨骼,将第三缩放信息存储骨骼作为对应的子骨骼;
进一步,在所述步骤S3中,根据所述骨骼从属层次关系,在三维人体模型中对特定骨骼进行蒙皮处理具体包括:
在人体模型中,对作为子骨骼的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼进行蒙皮处理,对所有父骨骼不进行蒙皮处理;
进一步,在所述步骤S4中,利用所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼制作得到动画帧,并将所述动画帧转换成二进制数据文件具体包括:
利用所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼分别对所述人形骨骼相应的原始动画形式人体骨骼进行缩放处理、平移处理和旋转处理,从而制作得到动画帧;同时记录所述原始动画形式人体骨骼进行所述缩放处理、所述平移处理和所述旋转处理之前与之后各自对应的最小坐标值和最大坐标值;并在所述最小坐标值和所述最大坐标值之间对所述动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件;
进一步,在所述步骤S4中,在所述最小坐标值和所述最大坐标值之间对所述动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件具体包括:
步骤S401,利用下面公式(1),根据所述缩放处理、所述平移处理和所述旋转处理之前与之后各自对应的最小坐标值和最大坐标值确定所述缩放处理、所述平移处理和所述旋转处理之后动画帧的插值数量,
在上述公式(1)中,k(d)表示经过第d类处理之后动画帧的插值数量,其中d=1,2,3分别表示所述缩放处理、所述平移处理和所述旋转处理;[Xmin(d),Ymin(d)]表示经过第d类处理之前对应的动画帧的最小坐标值;[Xmax(d),Ymax(d)]表示经过第d类处理之前对应的动画帧的最大坐标值;表示经过第d类处理之后对应的动画帧的最小坐标值;表示经过第d类处理之后对应的动画帧的最大坐标值;
按照上述第d类处理之后动画帧的插值数量对相应的动画帧进行插值处理,其过程为:先在两两相邻动画帧中间插入一帧的动画,然后判断动画帧的数量是否超过k(d),若动画帧的数量超过k(d),则对新插入的动画帧进行随机剔除,直至动画帧的数量等于k(d)为止;若动画帧的数量不超过k(d),则继续在两两相邻动画帧中间插入一帧的动画,然后判断数量是否超过k(d)并继续按照上述方式进行增添剔除,直至动画帧的数量等于k(d)为止;
步骤S402,上述步骤S401中在两两相邻动画帧中间插入一帧的动画的方式为:利用下面公式(2),根据所述缩放处理、所述平移处理和所述旋转处理之后的动画帧的插值数量对所述缩放处理、所述平移处理和所述旋转处理之后的动画帧进行插值处理,
在上述公式(2)中,Ha→b(i,j)表示在第a帧动画帧和第b帧动画帧中间插入的动画帧的第i行第j列像素点的像素值;Ha(i,j)表示第a帧动画帧的第i行第j列像素点的像素值;Hb(i,j)表示第b帧动画帧的第i行第j列像素点的像素值;n表示每一帧动画帧中每一列像素点的个数;m表示每一帧动画帧中每一行像素点的个数;
步骤S403,利用下面公式(3),根据进行插值处理后的动画帧进行采样得到二进制数据文件,
在上述公式(3)中,D表示二进制数据文件中的二进制形式;r表示所述动画帧采样的帧数变量;[Hc(i,j)]2(r)表示被采样的第r帧动画帧的第i行第j列像素点的像素值的二进制形式;表示二进制连接符,即把两个二进制数首尾相连连接为一个二进制数;
利用上述步骤S401-S403,将所述动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件;
进一步,在所述步骤S4中,将所述二进制数据文件作为三维动画角色模型自定义的数据源文件具体包括:
将所述二进制数据文件存储在三维动画游戏引擎中,从而作为三维动画游戏的三维动画角色模型自定义的数据源文件。
相比于现有技术,该基于嵌套骨骼分离运动的角色模型自定义方法根据人形动画骨骼中获取若干人形骨骼的位置坐标信息,创建人形骨骼对应的缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼,并对其中特定骨骼进行蒙皮处理;接着利用缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼制作得到动画帧,并将动画帧转换成二进制数据文件;再将二进制数据文件作为三维动画角色模型自定义的数据源文件,这样能够将人形动画骨骼与三维动画游戏中存储的角色自定义模型数据进行分离,以保证角色自定义模型数据不会被人型动画覆盖,玩家用户可根据自身需要对游戏角色进行大幅度的变形定义,从而提高对游戏角色自定义的自由度和体验性,以及将游戏角色自定义功能扩展到不同类型的三维动画游戏中。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于嵌套骨骼分离运动的角色模型自定义方法的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,为本发明实施例提供的基于嵌套骨骼分离运动的角色模型自定义方法的结构示意图。该基于嵌套骨骼分离运动的角色模型自定义方法包括如下步骤:
步骤S1,根据人体模型构建人形动画骨骼;从该人形动画骨骼中获取若干人形骨骼的位置坐标信息,并根据该人形骨骼的位置坐标信息,创建该人形骨骼对应的缩放信息存储骨骼;
步骤S2,根据该人形骨骼的位置坐标信息,创建该人形骨骼的平移信息存储骨骼和旋转信息存储骨骼;
步骤S3,确定该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼之间的骨骼从属层次关系;根据该骨骼从属层次关系,在三维人体模型中对特定骨骼进行蒙皮处理;
步骤S4,利用该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼制作得到动画帧,并将该动画帧转换成二进制数据文件;再将该二进制数据文件作为三维动画角色模型自定义的数据源文件。
上述技术方案的有益效果为:该基于嵌套骨骼分离运动的角色模型自定义方法根据人形动画骨骼中获取若干人形骨骼的位置坐标信息,创建人形骨骼对应的缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼,并对其中特定骨骼进行蒙皮处理;接着利用缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼制作得到动画帧,并将动画帧转换成二进制数据文件;再将二进制数据文件作为三维动画角色模型自定义的数据源文件,这样能够将人形动画骨骼与三维动画游戏中存储的角色自定义模型数据进行分离,以保证角色自定义模型数据不会被人型动画覆盖,玩家用户可根据自身需要对游戏角色进行大幅度的变形定义,从而提高对游戏角色自定义的自由度和体验性,以及将游戏角色自定义功能扩展到不同类型的三维动画游戏中。
优选地,在该步骤S1中,根据人体模型构建人形动画骨骼具体包括:
从人体骨骼分布模型中,获得人体所有骨骼各自的形状尺寸信息以及不同骨骼之间的相对位置关系信息;并根据该形状尺寸信息和该相对位置关系信息,构建人形动画骨骼,同时不对该人形动画骨骼进行蒙皮处理。
上述技术方案的有益效果为:该人体骨骼分布模型可为但不限于是预先设定的人体骨骼分布模型,该预先设定的人体骨骼分布模型可通过对特定人体对象进行分析得到的。从该人体骨骼分布模型中获得人体所有骨骼各自的形状尺寸信息以及紧邻的不同骨骼之间的相对位置关系信息,这样能够通过CG动画技术等方式构建相应的人形动画骨骼,并且不对该人形动画骨骼进行蒙皮处理,实际上该人形动画骨骼并不是直接用于生成三维动画角色,而是用于后续骨骼缩放、平移和旋转计算的,这样能够便于将该人形动画骨骼作为原始数据进行不同设计场合的应用。
优选地,在该步骤S1中,从该人形动画骨骼中获取若干人形骨骼的位置坐标信息,并根据该人形骨骼的位置坐标信息,创建该人形骨骼对应的缩放信息存储骨骼具体包括:
从该人形动画骨骼中获取其中一个骨骼及与其邻接的另一个骨骼各自对应的骨骼位置坐标点A1和A2,在连接坐标点A1和A2的直线上任意选取三个坐标点S1、S2、S3;将该三个坐标点S1、S2、S3各自相对于该坐标点A1的三维位置坐标,作为其中一个骨骼及与其邻接的另一个骨骼对应的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼。
上述技术方案的有益效果为:从该人形动画骨骼中选择其中一个骨骼及与其邻接的另一个骨骼各自对应的骨骼位置坐标点A1和A2,比如可选择大腿根部骨骼以及与其邻接的膝盖骨骼,随后在该骨骼位置坐标点A1和A2之间连接的直线上任意选取三个坐标点S1、S2、S3,其中坐标点S1可位于大腿骨四头肌鼓点位置,坐标点S3可位于大腿骨四头肌末端位置,坐标点S2可位于坐标点S1与S3的中点位置,这样该坐标点S1、S2、S3能够表征骨骼位置坐标点A1和A2之间的相对距离,通过对该坐标点S1、S2、S3进行等比线性移动能够对选择的骨骼进行相应的大小缩放操作。
优选地,在该步骤S2中,根据该人形骨骼的位置坐标信息,创建该人形骨骼的平移信息存储骨骼和旋转信息存储骨骼具体包括:
在该坐标点S1所处的坐标系中,根据第一预设平移距离和第一预设旋转姿态角,分别创建与该第一缩放信息存储骨骼对应的平移信息存储骨骼T1和旋转信息存储骨骼R1;
在该坐标点S2所处的坐标系中,根据第二预设平移距离和第二预设旋转姿态角,分别创建与该第二缩放信息存储骨骼对应的平移信息存储骨骼T2和旋转信息存储骨骼R2;
在该坐标点S3所处的坐标系中,根据第三预设平移距离和第三预设旋转姿态角,分别创建与该第三缩放信息存储骨骼对应的平移信息存储骨骼T3和旋转信息存储骨骼R3。
上述技术方案的有益效果为:在设计三维动画角色过程中,三维动画角色还需要进行平移和旋转等动作,此时根据三维动画角色的平移距离和旋转姿态角,对该坐标点S1、S2、S3进行相应的平移变换和旋转变换,并形成相应的平移信息存储骨骼T1、T2、T3以及旋转信息存储骨骼R1、R2、R3,这样能够便于对在后续三维动画角色设计过程中根据设计需求获取相应的平移信息存储骨骼以及旋转信息存储骨骼,从而提高对三维动画角色的运动状态设计便捷性。
优选地,在该步骤S3中,确定该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼之间的骨骼从属层次关系具体包括:
将该平移信息存储骨骼T1和该旋转信息存储骨骼R1作为父骨骼,将第一缩放信息存储骨骼作为对应的子骨骼;
将该平移信息存储骨骼T2和该旋转信息存储骨骼R2作为父骨骼,将第二缩放信息存储骨骼作为对应的子骨骼;
将该平移信息存储骨骼T3和该旋转信息存储骨骼R3作为父骨骼,将第三缩放信息存储骨骼作为对应的子骨骼。
上述技术方案的有益效果为:通过确定该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼之间的父骨骼和子骨骼关系,这样能够根据不同类型存储骨骼之间的从属层次关系对相应的存储骨骼进行蒙皮处理,从而实现三维动画角色的快速准确设计。
优选地,在该步骤S3中,根据该骨骼从属层次关系,在三维人体模型中对特定骨骼进行蒙皮处理具体包括:
在人体模型中,对作为子骨骼的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼进行蒙皮处理,对所有父骨骼不进行蒙皮处理。
上述技术方案的有益效果为:对作为子骨骼的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼进行蒙皮处理,能够将蒙皮处理得到的缩放信息存储骨骼对应的三维动画角色,以实现三维动画角色的自由缩放处理。
优选地,在该步骤S4中,利用该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼制作得到动画帧,并将该动画帧转换成二进制数据文件具体包括:
利用该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼分别对该人形骨骼相应的原始动画形式人体骨骼进行缩放处理、平移处理和旋转处理,从而制作得到动画帧;同时记录该原始动画形式人体骨骼进行该缩放处理、该平移处理和该旋转处理之前与之后各自对应的最小坐标值和最大坐标值;并在该最小坐标值和该最大坐标值之间对该动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件。
上述技术方案的有益效果为:利用该缩放信息存储骨骼、该平移信息存储骨骼和该旋转信息存储骨骼分别对原始动画形式人体骨骼进行缩放处理、平移处理和旋转处理,这样能够将原始动画形式人体骨骼进行动态变换,以此得到具有不同缩放、平移和旋转状态的动画帧,从而组合形成相应的动画。此外,对该动画帧进行插值采样,以此将该动画帧对应的坐标值信息转换为二进制形式的数据文件,以便于后续从该二进制形式的数据文件获得相应的缩放处理、平移处理和旋转处理相关数据。
优选地,在该步骤S4中,在该最小坐标值和该最大坐标值之间对该动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件具体包括:
步骤S401,利用下面公式(1),根据该缩放处理、该平移处理和该旋转处理之前与之后各自对应的最小坐标值和最大坐标值确定该缩放处理、该平移处理和该旋转处理之后动画帧的插值数量,
在上述公式(1)中,k(d)表示经过第d类处理之后动画帧的插值数量,其中d=1,2,3分别表示该缩放处理、该平移处理和该旋转处理;[Xmin(d),Ymin(d)]表示经过第d类处理之前对应的动画帧的最小坐标值;[Xmax(d),Ymax(d)]表示经过第d类处理之前对应的动画帧的最大坐标值;表示经过第d类处理之后对应的动画帧的最小坐标值;表示经过第d类处理之后对应的动画帧的最大坐标值;
按照上述第d类处理之后动画帧的插值数量对相应的动画帧进行插值处理,其过程为:先在两两相邻动画帧中间插入一帧的动画,然后判断动画帧的数量是否超过k(d),若动画帧的数量超过k(d),则对新插入的动画帧进行随机剔除,直至动画帧的数量等于k(d)为止;若动画帧的数量不超过k(d),则继续在两两相邻动画帧中间插入一帧的动画,然后判断数量是否超过k(d)并继续按照上述方式进行增添剔除,直至动画帧的数量等于k(d)为止;
步骤S402,上述步骤S401中在两两相邻动画帧中间插入一帧的动画的方式为:利用下面公式(2),根据该缩放处理、该平移处理和该旋转处理之后的动画帧的插值数量对该缩放处理、该平移处理和该旋转处理之后的动画帧进行插值处理,
在上述公式(2)中,Ha→b(i,j)表示在第a帧动画帧和第b帧动画帧中间插入的动画帧的第i行第j列像素点的像素值;Ha(i,j)表示第a帧动画帧的第i行第j列像素点的像素值;Hb(i,j)表示第b帧动画帧的第i行第j列像素点的像素值;n表示每一帧动画帧中每一列像素点的个数;m表示每一帧动画帧中每一行像素点的个数;
步骤S403,利用下面公式(3),根据进行插值处理后的动画帧进行采样得到二进制数据文件,
在上述公式(3)中,D表示二进制数据文件中的二进制形式;r表示该动画帧采样的帧数变量;[Hc(i,j)]2(r)表示被采样的第r帧动画帧的第i行第j列像素点的像素值的二进制形式;表示二进制连接符,即把两个二进制数首尾相连连接为一个二进制数;
利用上述步骤S401-S403,将该动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件。
上述技术方案的有益效果为:利用上述公式(1)缩放处理、平移处理和旋转处理之前与之后各自对应的最小坐标值和最大坐标值确定缩放处理、平移处理和旋转处理之后动画帧的插值数量,进而保证插值后的动画帧可以最大限度的避免缩放处理、平移处理和旋转处理前后的动作差异,保证动画帧的保真效果;然后利用上述公式(2)根据缩放处理、平移处理和旋转处理之后的动画帧的插值数量对缩放处理、平移处理和旋转处理之后的动画帧进行插值处理,利用上述公式(2)进行插值处理,即可以保证插入的动画帧可以与未插入的动画帧衔接良好,还能更好的将插入的动画帧中的每一个像素点都进行均值误差处理,以确保插入动画帧的平滑性;最后利用上述公式(3)根据进行插值处理后的动画帧进行采样得到二进制数据文件,进而将动画帧文件转换为二进制数据文件,即有利于保存数据还可以方便数据传输,提高数据处理的效率。
优选地,在该步骤S4中,将该二进制数据文件作为三维动画角色模型自定义的数据源文件具体包括:
将该二进制数据文件存储在三维动画游戏引擎中,从而作为三维动画游戏的三维动画角色模型自定义的数据源文件。
上述技术方案的有益效果为:将该二进制数据文件存储在三维动画游戏引擎中,这样游戏玩家用户能够根据自身对三维游戏角色的设计需要,选择合适的二进制数据文件作为三维动画角色模型自定义的数据源文件,从而提高对游戏角色自定义的自由度和体验性,以及将游戏角色自定义功能扩展到不同类型的三维动画游戏中。
从上述实施例的内容可知,该基于嵌套骨骼分离运动的角色模型自定义方法根据人形动画骨骼中获取若干人形骨骼的位置坐标信息,创建人形骨骼对应的缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼,并对其中特定骨骼进行蒙皮处理;接着利用缩放信息存储骨骼、平移信息存储骨骼和旋转信息存储骨骼制作得到动画帧,并将动画帧转换成二进制数据文件;再将二进制数据文件作为三维动画角色模型自定义的数据源文件,这样能够将人形动画骨骼与三维动画游戏中存储的角色自定义模型数据进行分离,以保证角色自定义模型数据不会被人型动画覆盖,玩家用户可根据自身需要对游戏角色进行大幅度的变形定义,从而提高对游戏角色自定义的自由度和体验性,以及将游戏角色自定义功能扩展到不同类型的三维动画游戏中。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于,其包括如下步骤:
步骤S1,根据人体模型构建人形动画骨骼;从所述人形动画骨骼中获取若干人形骨骼的位置坐标信息,并根据所述人形骨骼的位置坐标信息,创建所述人形骨骼对应的缩放信息存储骨骼;
步骤S2,根据所述人形骨骼的位置坐标信息,创建所述人形骨骼的平移信息存储骨骼和旋转信息存储骨骼;
步骤S3,确定所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼之间的骨骼从属层次关系;根据所述骨骼从属层次关系,在三维人体模型中对特定骨骼进行蒙皮处理;
步骤S4,利用所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼制作得到动画帧,并将所述动画帧转换成二进制数据文件;再将所述二进制数据文件作为三维动画角色模型自定义的数据源文件。
2.如权利要求1所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S1中,根据人体模型构建人形动画骨骼具体包括:
从人体骨骼分布模型中,获得人体所有骨骼各自的形状尺寸信息以及不同骨骼之间的相对位置关系信息;并根据所述形状尺寸信息和所述相对位置关系信息,构建人形动画骨骼,同时不对所述人形动画骨骼进行蒙皮处理。
3.如权利要求2所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S1中,从所述人形动画骨骼中获取若干人形骨骼的位置坐标信息,并根据所述人形骨骼的位置坐标信息,创建所述人形骨骼对应的缩放信息存储骨骼具体包括:
从所述人形动画骨骼中获取其中一个骨骼及与其邻接的另一个骨骼各自对应的骨骼位置坐标点A1和A2,在连接坐标点A1和A2的直线上任意选取三个坐标点S1、S2、S3;将所述三个坐标点S1、S2、S3各自相对于所述坐标点A1的三维位置坐标,作为其中一个骨骼及与其邻接的另一个骨骼对应的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼。
4.如权利要求3所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S2中,根据所述人形骨骼的位置坐标信息,创建所述人形骨骼的平移信息存储骨骼和旋转信息存储骨骼具体包括:
在所述坐标点S1所处的坐标系中,根据第一预设平移距离和第一预设旋转姿态角,分别创建与所述第一缩放信息存储骨骼对应的平移信息存储骨骼T1和旋转信息存储骨骼R1;
在所述坐标点S2所处的坐标系中,根据第二预设平移距离和第二预设旋转姿态角,分别创建与所述第二缩放信息存储骨骼对应的平移信息存储骨骼T2和旋转信息存储骨骼R2;
在所述坐标点S3所处的坐标系中,根据第三预设平移距离和第三预设旋转姿态角,分别创建与所述第三缩放信息存储骨骼对应的平移信息存储骨骼T3和旋转信息存储骨骼R3。
5.如权利要求4所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S3中,确定所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼之间的骨骼从属层次关系具体包括:
将所述平移信息存储骨骼T1和所述旋转信息存储骨骼R1作为父骨骼,将第一缩放信息存储骨骼作为对应的子骨骼;
将所述平移信息存储骨骼T2和所述旋转信息存储骨骼R2作为父骨骼,将第二缩放信息存储骨骼作为对应的子骨骼;
将所述平移信息存储骨骼T3和所述旋转信息存储骨骼R3作为父骨骼,将第三缩放信息存储骨骼作为对应的子骨骼。
6.如权利要求5所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S3中,根据所述骨骼从属层次关系,在三维人体模型中对特定骨骼进行蒙皮处理具体包括:
在人体模型中,对作为子骨骼的第一缩放信息存储骨骼、第二缩放信息存储骨骼、第三缩放信息存储骨骼进行蒙皮处理,对所有父骨骼不进行蒙皮处理。
7.如权利要求1所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S4中,利用所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼制作得到动画帧,并将所述动画帧转换成二进制数据文件具体包括:
利用所述缩放信息存储骨骼、所述平移信息存储骨骼和所述旋转信息存储骨骼分别对所述人形骨骼相应的原始动画形式人体骨骼进行缩放处理、平移处理和旋转处理,从而制作得到动画帧;同时记录所述原始动画形式人体骨骼进行所述缩放处理、所述平移处理和所述旋转处理之前与之后各自对应的最小坐标值和最大坐标值;并在所述最小坐标值和所述最大坐标值之间对所述动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件。
8.如权利要求7所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S4中,在所述最小坐标值和所述最大坐标值之间对所述动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件具体包括:
步骤S401,利用下面公式(1),根据所述缩放处理、所述平移处理和所述旋转处理之前与之后各自对应的最小坐标值和最大坐标值确定所述缩放处理、所述平移处理和所述旋转处理之后动画帧的插值数量,
在上述公式(1)中,k(d)表示经过第d类处理之后动画帧的插值数量,其中d=1,2,3分别表示所述缩放处理、所述平移处理和所述旋转处理;[Xmin(d),Ymin(d)]表示经过第d类处理之前对应的动画帧的最小坐标值;[Xmax(d),Ymax(d)]表示经过第d类处理之前对应的动画帧的最大坐标值;表示经过第d类处理之后对应的动画帧的最小坐标值;表示经过第d类处理之后对应的动画帧的最大坐标值;
按照上述第d类处理之后动画帧的插值数量对相应的动画帧进行插值处理,其过程为:先在两两相邻动画帧中间插入一帧的动画,然后判断动画帧的数量是否超过k(d),若动画帧的数量超过k(d),则对新插入的动画帧进行随机剔除,直至动画帧的数量等于k(d)为止;若动画帧的数量不超过k(d),则继续在两两相邻动画帧中间插入一帧的动画,然后判断数量是否超过k(d)并继续按照上述方式进行增添剔除,直至动画帧的数量等于k(d)为止;
步骤S402,上述步骤S401中在两两相邻动画帧中间插入一帧的动画的方式为:利用下面公式(2),根据所述缩放处理、所述平移处理和所述旋转处理之后的动画帧的插值数量对所述缩放处理、所述平移处理和所述旋转处理之后的动画帧进行插值处理,
在上述公式(2)中,Ha→b(i,j)表示在第a帧动画帧和第b帧动画帧中间插入的动画帧的第i行第j列像素点的像素值;Ha(i,j)表示第a帧动画帧的第i行第j列像素点的像素值;Hb(i,j)表示第b帧动画帧的第i行第j列像素点的像素值;n表示每一帧动画帧中每一列像素点的个数;m表示每一帧动画帧中每一行像素点的个数;
步骤S403,利用下面公式(3),根据进行插值处理后的动画帧进行采样得到二进制数据文件,
在上述公式(3)中,D表示二进制数据文件中的二进制形式;r表示所述动画帧采样的帧数变量;[Hc(i,j)]2(r)表示被采样的第r帧动画帧的第i行第j列像素点的像素值的二进制形式;表示二进制连接符,即把两个二进制数首尾相连连接为一个二进制数;
利用上述步骤S401-S403,将所述动画帧进行插值采样,以此将插值采样得到的数据作为二进制数据文件。
9.如权利要求1所述的基于嵌套骨骼分离运动的角色模型自定义方法,其特征在于:
在所述步骤S4中,将所述二进制数据文件作为三维动画角色模型自定义的数据源文件具体包括:
将所述二进制数据文件存储在三维动画游戏引擎中,从而作为三维动画游戏的三维动画角色模型自定义的数据源文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210118362.5A CN114432703A (zh) | 2022-02-08 | 2022-02-08 | 基于嵌套骨骼分离运动的角色模型自定义方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210118362.5A CN114432703A (zh) | 2022-02-08 | 2022-02-08 | 基于嵌套骨骼分离运动的角色模型自定义方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114432703A true CN114432703A (zh) | 2022-05-06 |
Family
ID=81372074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210118362.5A Withdrawn CN114432703A (zh) | 2022-02-08 | 2022-02-08 | 基于嵌套骨骼分离运动的角色模型自定义方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114432703A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578493A (zh) * | 2022-10-20 | 2023-01-06 | 武汉两点十分文化传播有限公司 | 一种Maya表情编码方法及其系统 |
-
2022
- 2022-02-08 CN CN202210118362.5A patent/CN114432703A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578493A (zh) * | 2022-10-20 | 2023-01-06 | 武汉两点十分文化传播有限公司 | 一种Maya表情编码方法及其系统 |
CN115578493B (zh) * | 2022-10-20 | 2023-05-30 | 武汉两点十分文化传播有限公司 | 一种Maya表情编码方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540817B2 (en) | System and method for creating a full head 3D morphable model | |
CN110390704B (zh) | 图像处理方法、装置、终端设备及存储介质 | |
CN109961507B (zh) | 一种人脸图像生成方法、装置、设备及存储介质 | |
US6999084B2 (en) | Method and apparatus for computer graphics animation utilizing element groups with associated motions | |
JP2021193599A (ja) | 仮想オブジェクトのフィギュア合成方法、装置、電子機器、記憶媒体 | |
CN111553968B (zh) | 一种三维人体重构动画的方法 | |
US6400368B1 (en) | System and method for constructing and using generalized skeletons for animation models | |
KR20120006610A (ko) | 얼굴 애니메이션 시스템 및 방법 | |
CN112598773B (zh) | 骨骼蒙皮动画的实现方法及装置 | |
CN102999934A (zh) | 计算机三维动画系统及动画方法 | |
CN113763518A (zh) | 基于虚拟数字人的多模态无限表情合成方法及装置 | |
EP3855386B1 (en) | Method, apparatus, device and storage medium for transforming hairstyle and computer program product | |
CN115797851B (zh) | 一种动漫视频处理方法及系统 | |
CN111462274A (zh) | 一种基于smpl模型的人体图像合成方法及系统 | |
CN114432703A (zh) | 基于嵌套骨骼分离运动的角色模型自定义方法 | |
Jung et al. | Learning free-form deformation for 3D face reconstruction from in-the-wild images | |
CN111932659A (zh) | 骨骼模型数据的处理方法、计算机设备及存储介质 | |
CN115115752A (zh) | 虚拟服装的形变预测方法和装置、存储介质及电子设备 | |
WO2024066549A1 (zh) | 一种数据处理方法及相关设备 | |
Mao et al. | A sketch-based gesture interface for rough 3D stick figure animation | |
CN115908651A (zh) | 一种三维人体模型与骨架的同步更新方法及电子设备 | |
CN114581288A (zh) | 一种图像生成方法、装置、电子设备以及存储介质 | |
Park et al. | A feature‐based approach to facial expression cloning | |
CN112435316A (zh) | 一种游戏中的防穿模方法、装置、电子设备及存储介质 | |
JP2015203860A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220506 |
|
WW01 | Invention patent application withdrawn after publication |