CN108198234A - 可实时互动的虚拟角色生成系统及方法 - Google Patents
可实时互动的虚拟角色生成系统及方法 Download PDFInfo
- Publication number
- CN108198234A CN108198234A CN201810030220.7A CN201810030220A CN108198234A CN 108198234 A CN108198234 A CN 108198234A CN 201810030220 A CN201810030220 A CN 201810030220A CN 108198234 A CN108198234 A CN 108198234A
- Authority
- CN
- China
- Prior art keywords
- virtual
- model
- bone
- facial
- skeleton model
- 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.)
- Granted
Links
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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种可实时互动的虚拟角色生成系统及方法,包括制作虚拟角色的虚拟整体模型,所述虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型与虚拟附属部位模型,再将所述虚拟整体模型导入驱动引擎,以借由所述驱动引擎依据实时导入的虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,依据实时导入的虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,以及依据所述虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色。
Description
技术领域
本申请实施例涉及三维虚拟角色处理技术,尤其涉及一种可实时互动的虚拟角色生成系统及方法。
背景技术
随着计算机技术的发展以及多媒体技术的进步,三维动画由于其强烈的空间感和逼真感而越来越多的受到人们的欢迎。
现有三维动作制作技术可通过在人体身上佩戴传感器,以捕捉人体的动作轨迹而生成动作驱动数据,通过将所述动作驱动数据映射至三维动画的虚拟模型中,以驱动虚拟模型执行相应的表情动作或骨骼动作,从而生成三维动画。
而如何解决在互联网或者线下展演环境中,由实时真人捕捉的动作数据实时驱动三维角色模型,以制作可实时互动的虚拟角色的三维动画,即为本申请待解决的技术课题。
发明内容
有鉴于此,本发明的主要目的在于提供一种可实时互动的虚拟角色生成系统及方法,可生成实时互动的虚拟角色的三维动画,且所生成的三维动画更加逼真。
本申请实施例提供了一种可实时互动的虚拟角色生成系统,其特征在于,包括:模型生成模块,其用于生成虚拟角色的虚拟整体模型,所述虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型与虚拟附属部位模型;以及模型驱动模块,其用于将所述虚拟整体模型导入驱动引擎中,并实时导入虚拟面部模型动作指令与虚拟骨骼模型动作指令,以借由所述驱动引擎依据所述虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,依据所述虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,以及依据所述虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色的三维动画。
可选地,在本申请的任一实施例中,所述模型生成模块还包括:三维顶点定义单元,其定义用于构成所述虚拟整体模型的三维顶点;面部模型制作单元,其依据用于构成所述虚拟整体模型的面部部分的所述三维顶点,生成所述虚拟面部模型;骨骼模型制作单元,其依据用于构成所述虚拟整体模型的骨骼部分的所述三维顶点,生成所述虚拟骨骼模型;以及附属模型制作单元,其依据用于构成所述虚拟整体模型的附属部分的所述三维顶点,生成所述虚拟附属部位模型。
可选地,在本申请的任一实施例中,所述模型驱动模块还包括面部模型驱动单元,其具有:切割子单元,其用于针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类,以形成多个第一三维顶点子集合,且依据所述第一三维顶点子集合切割所述虚拟面部模型而生成局部面部模型;表情制作子单元,其用于定义各所述局部面部模型中的所述第一三维顶点子集合的初始位移状态及最大位移状态,并依据所述初始位移状态与所述最大位移状态定义中间位移状态;以及融合子单元,其用于针对多个所述第一三维顶点子集合之间所产生交集进行效果融合处理。
可选地,在本申请的任一实施例中,所述切割子单元依据面部肌肉分布特征,针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类。
可选地,在本申请的任一实施例中,所述模型驱动模块还包括骨骼模型驱动单元,其具有:骨骼层级定义子单元,用于以所述虚拟骨骼模型的臀部骨骼为根节点骨骼,依据所述虚拟骨骼模型中各主要骨骼之间的连接关系而定义各所述主要骨骼之间的层级关系,从而形成对应于所述虚拟骨骼模型的骨骼树形结构;缺省姿态定义子单元,用于依据所述虚拟骨骼模型中各主要骨骼的位置与相对角度,以定义并生成所述虚拟骨骼模型的缺省姿态;骨骼初始状态定义子单元,用于定义所述虚拟骨骼模型中各所述主要骨骼的初始轴向信息;以及顶点运动定义子单元,用于针对构成所述虚拟整体模型的骨骼部分的所述三维顶点进行分类,以生成分别对应所述虚拟骨骼模型的各所述主要骨骼的多个第二三维顶点子集合,并定义各所述主要骨骼与各所述第二三维顶点子集合之间的映射关系,以使所述虚拟骨骼模型中的各所述主要骨骼于运动时,可驱动对应的所述第二三维顶点子集合执行同步运动。
可选地,在本申请的任一实施例中,所述模型驱动模块还包括附属模型驱动单元,其具有:外部层级定义子单元,其用于定义所述虚拟附属部位模型与所述虚拟骨骼模型中的所述主要骨骼之间的连接依附关系;以及内部层级定义子单元,其用于定义所述虚拟附属部位模型中各次要骨骼之间的层级关系。
可选地,在本申请的任一实施例中,所述模型驱动模块还包括定义所述虚拟面部模型动作指令与虚拟骨骼模型动作指令的数据格式,其中,用于驱动所述虚拟面部模型动作的所述虚拟面部模型动作指令的数据格式为1至100之间的任意数值,且其中用于驱动所述根节点骨骼动作的所述虚拟骨骼模型动作指令的数据格式包括三维位移数据与三维旋转数据,用于驱动其他所述主要骨骼动作的所述虚拟骨骼模型动作指令包括所述三维旋转数据。
此外,本申请还提供一种可实时互动的虚拟角色生成方法,其特征在于,包括:制作虚拟角色的虚拟整体模型,所述虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型以及虚拟附属部位模型;将所述虚拟整体模型导入驱动引擎中,并实时导入虚拟面部模型动作指令与虚拟骨骼模型动作指令;以及借由所述驱动引擎以依据所述虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,依据所述虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,并依据所述虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色的三维动画。
可选地,在本申请的任一实施例中,所述生成虚拟整体模型的步骤还包括:定义用于构成所述虚拟整体模型的三维顶点;以及依据用于构成所述虚拟整体模型的面部部分的所述三维顶点生成所述虚拟面部模型,依据用于构成所述虚拟整体模型的骨骼部分的所述三维顶点生成所述虚拟骨骼模型,依据用于构成所述虚拟整体模型的附属部分的所述三维顶点生成所述虚拟附属部位模型。
可选地,在本申请的任一实施例中,驱动所述虚拟面部模型的步骤还包括:针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类,以形成多个第一三维顶点子集合,且依据所述第一三维顶点子集合切割所述虚拟面部模型而生成局部面部模型;定义各所述局部面部模型中的所述第一三维顶点子集合的初始位移状态及最大位移状态,并依据所述初始位移状态与所述最大位移状态定义中间位移状态;以及针对多个所述第一三维顶点子集合之间所产生交集进行效果融合处理。
可选地,在本申请的任一实施例中,依据面部肌肉分布特征,针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类。
可选地,在本申请的任一实施例中,驱动所述虚拟骨骼模型的步骤还包括定义并生成所述虚拟骨骼模型的缺省姿态。
可选地,在本申请的任一实施例中,驱动所述虚拟骨骼模型的步骤还包括:以所述虚拟骨骼模型的臀部骨骼为根节点骨骼,依据所述虚拟骨骼模型中各主要骨骼之间的连接关系而定义各所述主要骨骼之间的层级关系,从而形成对应于所述虚拟骨骼模型的骨骼树形结构;定义所述虚拟骨骼模型中各所述主要骨骼的初始轴向信息;以及针对构成所述虚拟整体模型的所述骨骼部分的所述三维顶点进行分类,以生成分别对应所述虚拟骨骼模型的各所述主要骨骼的多个第二三维顶点子集合,并定义各所述主要骨骼与各所述第二三维顶点子集合之间的映射关系,以使所述虚拟骨骼模型中的各所述主要骨骼于运动时,可驱动对应的所述第二三维顶点子集合执行同步运动。
可选地,在本申请的任一实施例中,,驱动作所述虚拟附属部位模型的步骤还包括:定义所述虚拟附属部位模型与所述虚拟骨骼模型中的所述主要骨骼之间的连接依附关系;以及定义所述虚拟附属部位模型中各次要骨骼之间的层级关系。
可选地,在本申请的任一实施例中,所述方法还包括定义所述虚拟面部模型动作指令与虚拟骨骼模型动作指令的数据格式,其中,用于驱动所述虚拟面部模型动作的所述虚拟面部模型动作指令的数据格式为1至100之间的任意数值,且其中,用于驱动所述根节点骨骼动作的所述虚拟骨骼模型动作指令的数据格式包括三维位移数据与三维旋转数据,用于驱动其他所述主要骨骼动作的所述虚拟骨骼模型动作指令包括所述三维旋转数据。
由上可知,本申请所提供的可实时互动的虚拟角色生成系统,通过制作虚拟角色的虚拟整体模型,所述虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型,通过将虚拟整体模型导入驱动引擎中,以利用所述驱动引擎依据实时导入的所述虚拟面部模型动作指令和虚拟骨骼模型动作指令分别实时驱动所述虚拟面部模型以及所述虚拟骨骼模型执行动作,以实现动作指令在虚拟引擎中实时驱动虚拟整体模型,而生成实时三维动画视频的技术功效。
此外,所制作的虚拟整体模型还通过单独定义虚拟附属部位模型,以借由驱动引擎进一步依据虚拟骨骼模型所执行的动作而实时驱动虚拟附属部位模型执行动作,从而使得所生成的所述虚拟角色的三维动画更为生动。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请的一实施例所示的可实时互动的虚拟角色生成系统的基本架构示意图;
图2至图5为显示图1的虚拟角色生成系统的不同实施例示意图;
图6是根据本申请的另一实施例中所示的可实时互动的虚拟角色生成方法的基本流程示意图;以及
图7至图8为显示图6的虚拟角色生成方法的不同实施例示意图。
具体实施方式
实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
图1是根据本申请的一实施例所示的可实时互动的虚拟角色生成系统的基本架构示意图。如图所示,本申请的可实时互动的虚拟角色生成系统1主要由模型生成模块11以及模型驱动模块12所构成。
模型生成模块11其用于生成虚拟角色的虚拟整体模型,于本实施例中,虚拟整体模型至少包括有虚拟面部模型、虚拟骨骼模型与虚拟附属部位模型,其中,上述各模型可通过建模软件予以制作生成。
请配合参阅图2,于具体实施例中,模型生成模块11还包括三维顶点定义单元111、面部模型制作单元112、骨骼模型制作单元113、附属模型制作单元114。
三维顶点定义单元111定义用于构成虚拟整体模型的三维顶点。
面部模型制作单元112依据用于构成虚拟整体模型中的面部部分的三维顶点而生成相应的虚拟面部模型。
骨骼模型制作单元113依据用于构成虚拟整体模型中的骨骼部分的三维顶点而生成相应的虚拟骨骼模型。
附属模型制作单元114则依据用于构成虚拟整体模型中的附属部分的三维顶点而生成所述虚拟附属部位模型。于本实施例中,虚拟整体模型中的附属部位例如为马尾辫或裙摆等可摇动的部位(请容后详述)。
模型驱动模块12则用于将虚拟整体模型导入驱动引擎中,并实时导入虚拟面部模型动作指令与虚拟骨骼模型动作指令,以借由驱动引擎依据虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,依据虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,以及依据虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色的三维动画。
具体而言,模型驱动模块12可从建模软件中导出虚拟整体模型,并将虚拟整体模型转换为与驱动引擎相匹配的数据格式以导入驱动引擎中。模型驱动模块12还包括有面部模型驱动单元121、骨骼模型驱动单元122以及附属模型驱动单元123。
请配合参阅图3,于本实施例中,面部模型驱动单元121还具有切割子单元1211、表情制作子单元1212与融合子单元1213。
切割子单元1211用于针对构成虚拟整体模型的面部部分的三维顶点进行逻辑分类,以形成多个第一三维顶点子集合,并依据所形成的第一三维顶点子集合而切割虚拟面部模型,以生成多个局部面部模型。于本实施例中,切割子单元1211可依据实际人体的面部肌肉分布特征,针对构成虚拟整体模型的面部部分的三维顶点进行逻辑分类,进一步的,切割子单元1211还可针对各第一三维顶点子集合定义命名,例如,对应于面部的左脸颊部分肌肉的第一三维顶点子集合可定义为Left_Cheek。
表情制作子单元1212用于定义各局部面部模型中的第一三维顶点子集合的初始位移状态及最大位移状态,并依据所述初始位移状态与所述最大位移状态定义中间位移状态。于本实施例中,用于驱动虚拟面部模型动作的虚拟面部模型动作指令的数据格式可以为1至100之间的任意数值,继续以Left_Cheek举例,当人体发生表情动作时,左脸颊部分可以向上移动不同的距离,通过表情制作子单元1212以定义左脸颊部分的初始位移状态Left_Cheek_MIN,以及最大位移状态Left_Cheek_MAX,而中间位移状态则以1/100而进行一百份平均分布。此外,对应于不同局部面部模型(即不同面部肌肉部位)的第一三维顶点子集合可具有不同的位移状态。
融合子单元1213用于针对多个第一三维顶点子集合之间所产生交集进行效果融合处理。具体而言,各第一三维顶点子集合在当发生表情动作而位移时,不同的第一三维顶点子集合之间可能会产生交集,融合子单元1213即用于将产生交集的各第一三维顶点子集合进行融合,以使所生成的三维动画更为生动细腻。于具体操作过程中,各第一三维顶点子集合在不同状态下所产生的交集的状态是不可预估的,故本申请还可提供技术人员进一步针对融合子单元1212所生成的融合效果进行检查,若发现其中有不符合人体常规表情的,将针对第一三维顶点子集合的逻辑分类进行调整。
请参阅图4,在不同驱动引擎下,都有一个抽象的骨骼控制模块,骨骼模型驱动单元122即用于将驱动引擎下的骨骼与骨骼模型制作单元113所生成的虚拟骨骼模型中的骨骼进行对应。且于本申请的实施例中,骨骼模型驱动单元122还具有缺省姿态定义子单元1221、骨骼层级定义子单元1222、骨骼初始状态定义子单元1223与顶点运动定义子单元1224。
骨骼层级定义子单元1221用于以虚拟骨骼模型的臀部骨骼为根节点骨骼,依据虚拟骨骼模型中各主要骨骼之间的连接关系而定义各主要骨骼之间的层级关系,从而形成对应于虚拟骨骼模型的骨骼树形结构。例如,骨骼层级定义子单元1221以臀部骨骼为根节点,向上展开为腰、胸、颈、头、左肩、右肩、左大臂、右大臂、左小臂、右小臂、左手、右手;向下展开为左大腿、右大腿、左小腿、右小腿、左脚、右脚,从而形成骨骼树形结构。再者,有鉴于所述骨骼树形结构的组成架构,于本实施例中,用于驱动根节点骨骼(即臀部骨骼)动作的虚拟骨骼模型动作指令的数据格式包括有三维位移数据以及三维旋转数据两者,而用于驱动其他主要骨骼(即除了臀部骨骼以外)动作的虚拟骨骼模型动作指令则仅包括三维旋转数据。
缺省姿态定义子单元1221用于依据虚拟骨骼模型中各主要骨骼的位置与相对角度,定义并生成虚拟骨骼模型的缺省姿态。于本实施例中,缺省姿态即T-pose,是人体侧平举的姿势,缺省姿态定义子单元1221即用于建立这样的骨骼姿势。
骨骼初始状态定义子单元1223用于定义虚拟骨骼模型中的各主要骨骼的初始轴向信息。于本实施例中,初始轴向是以世界坐标系为参考,在三维软件中使虚拟骨骼模型中的所有骨骼的自身坐标系与世界坐标系相一致,并配置所有骨骼的局部旋转清零。
顶点运动定义子单元1224用于针对构成虚拟整体模型的骨骼部分的各三维顶点进行分类,以生成分别对应虚拟骨骼模型中各主要骨骼的多个第二三维顶点子集合,并定义各主要骨骼与各第二三维顶点子集合之间的映射关系,以使虚拟骨骼模型中的各主要骨骼于运动时,可驱动与之对应的第二三维顶点子集合执行同步运动。
于本实施例中,附属模型驱动单元123可通过程序的方式,控制虚拟附属部位模型骨骼的三维旋转数据,使得虚拟附属部位模型的运动符合物理规律。
请参阅图5,其中,附属模型驱动单元123还具有外部层级定义子单元1231与内部层级定义子单元1232。
外部层级定义子单元1231用于定义虚拟附属部位模型与虚拟骨骼模型中的主要骨骼之间的连接依附关系。具体而言,为了解决可摇动部位的实时运动模拟问题,本申请单独定义了虚拟附属部位模型,而虚拟附属部位模型与虚拟骨骼模型之间的层级关系(例如父子层级)是根据模型的外表特征来定义的,例如针对一个马尾辫而言,虚拟附属部位模型是马尾辫,则其对应的父骨骼即为头部骨骼;又如,当所欲制作的虚拟角色有裙子,则裙子是虚拟附属部位模型,其对应的父骨骼即为腰部骨骼。
内部层级定义子单元1232用于定义虚拟附属部位模型中各次要骨骼之间的层级关系。继续以马尾辫举例,马尾辫的运动需要由多根次要骨骼来模拟,以马尾辫连接头部骨骼的次要骨骼为马尾辫的根节点骨骼,而马尾辫的发梢为末端节点骨骼,其中可能存在多个发梢,也就是多个末端节点骨骼,据此可形成由一根节点骨骼以及多个末端节点骨骼所构成的树形结构,此外,在每一个末端节点骨骼与根节点骨骼之间还可具有多个中间节点骨骼。
图6是根据本申请的另一实施例中所示的可实时互动的虚拟角色生成方法的基本流程示意图。如图所示,本申请的可实时互动的虚拟角色生成方法主要包括以下处理步骤:
步骤S61,制作虚拟角色的虚拟整体模型,虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型以及虚拟附属部位模型。
于本实施例中,制作虚拟整体模型的步骤具体包括:首先,定义用于构成虚拟整体模型的三维顶点;而后,依据用于构成虚拟整体模型的面部部分的所述三维顶点生成虚拟面部模型,依据用于构成虚拟整体模型的骨骼部分的三维顶点生成虚拟骨骼模型,依据用于构成虚拟整体模型的附属部分的三维顶点生成所述虚拟附属部位模型。于本实施例中,所谓的虚拟整体模型中的附属部位例如为马尾辫或裙摆等可摇动的部位。
步骤S62,将所述虚拟整体模型导入驱动引擎中,并实时导入虚拟面部模型动作指令与虚拟骨骼模型动作指令。
步骤S63,借由驱动引擎以依据所述虚拟面部模型动作指令而实时驱动虚拟面部模型执行动作,依据所述虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,并依据所述虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色的三维动画。
具体而言,可从建模软件中导出虚拟整体模型,并将虚拟整体模型转换为与驱动引擎相匹配的数据格式以导入驱动引擎中。以下,将分别针对虚拟整体模型中的虚拟面部模型、虚拟骨骼模型以及虚拟附属部位模型的驱动分别进行详细介绍。
请配合参阅图7,于本实施例中,驱动虚拟面部模型的步骤还包括:
步骤S71,针对构成虚拟整体模型的面部部分的三维顶点进行逻辑分类,以形成多个第一三维顶点子集合,且依据第一三维顶点子集合切割虚拟面部模型而生成局部面部模型。
于本实施例中,是依据面部肌肉分布特征,针对构成虚拟整体模型的面部部分的三维顶点进行逻辑分类,也就是说所生成的局部面部模型与面部肌肉分布相对应。进一步的,本步骤还可针对各第一三维顶点子集合定义命名,例如,对应于面部的左脸颊部分肌肉的第一三维顶点子集合可定义为Left_Cheek。
步骤S72,定义各所述局部面部模型中的所述第一三维顶点子集合的初始位移状态及最大位移状态,并依据所述初始位移状态与所述最大位移状态定义中间位移状态。
以Left_Cheek举例,当人体发生表情动作时,左脸颊部分可以向上移动不同的距离,可定义左脸颊部分的初始位移状态Left_Cheek_MIN,以及最大位移状态Left_Cheek_MAX,而中间位移状态则以1/100而进行一百份平均分布。此外,对应于不同局部面部模型(即不同面部肌肉部位)的第一三维顶点子集合都可具有不同的位移状态。
步骤S73,针对多个所述第一三维顶点子集合之间所产生交集进行效果融合处理。
具体而言,各第一三维顶点子集合在当发生表情动作而位移时,不同的第一三维顶点子集合之间可能会产生交集,有鉴于此,本申请通过将产生交集的各第一三维顶点子集合进行融合,以使所生成的三维动画更为生动细腻。于具体操作过程中,由于各第一三维顶点子集合在不同状态下所产生的交集的状态是不可预估的,故本申请还可提供技术人员进一步针对融合效果进行检查,若发现其中有不符合人体常规表情的,则将针对第一三维顶点子集合的逻辑分类进行调整。
请配合参阅图8,于本实施例中,驱动虚拟骨骼模型的步骤还包括:
步骤S81,以虚拟骨骼模型的臀部骨骼为根节点骨骼,依据虚拟骨骼模型中各主要骨骼之间的连接关系而定义各主要骨骼之间的层级关系,从而形成对应于所述虚拟骨骼模型的骨骼树形结构。
例如,本申请以臀部骨骼为根节点,向上展开为腰、胸、颈、头、左肩、右肩、左大臂、右大臂、左小臂、右小臂、左手、右手;向下展开为左大腿、右大腿、左小腿、右小腿、左脚、右脚,从而形成骨骼树形结构。再者,有鉴于所述骨骼树形结构的组成架构,于本实施例中,用于驱动根节点骨骼(即臀部骨骼)动作的虚拟骨骼模型动作指令的数据格式包括有三维位移数据以及三维旋转数据两者,而用于驱动其他主要骨骼(即除了臀部骨骼以外)动作的虚拟骨骼模型动作指令则仅包括三维旋转数据。
步骤S82,定义虚拟骨骼模型中各主要骨骼的初始轴向信息。于本实施例中,初始轴向是以世界坐标系为参考,在三维软件中使虚拟骨骼模型中的所有骨骼的自身坐标系与世界坐标系相一致,并配置所有骨骼的局部旋转清零。
步骤S83,针对构成虚拟整体模型的骨骼部分的三维顶点进行分类,以生成分别对应虚拟骨骼模型的各主要骨骼的多个第二三维顶点子集合。
步骤S84,定义各主要骨骼与各第二三维顶点子集合之间的映射关系,以使虚拟骨骼模型中的各主要骨骼于运动时,可驱动对应的所述第二三维顶点子集合执行同步运动。
此外,于其他实施例中,驱动所述虚拟骨骼模型的步骤还包括定义并生成所述虚拟骨骼模型的缺省姿态。于本实施例中,缺省姿态即T-pose,是人体侧平举的姿势。
另外,于本申请的其他实施例中,驱动作所述虚拟附属部位模型的步骤还包括定义虚拟附属部位模型与虚拟骨骼模型中的主要骨骼之间的连接依附关系,以及定义虚拟附属部位模型中各次要骨骼之间的层级关系的步骤。
具体而言,为了解决可摇动部位的实时运动模拟问题,本申请单独定义了虚拟附属部位模型,而虚拟附属部位模型与虚拟骨骼模型之间的层级关系(例如父子层级)是根据模型的外表特征来定义的,例如针对一个马尾辫而言,虚拟附属部位模型是马尾辫,则其对应的父骨骼即为头部骨骼;又如,当所欲制作的虚拟角色有裙子,则裙子是虚拟附属部位模型,其对应的父骨骼即为腰部骨骼。
此外,由于马尾辫的运动需要由多根次要骨骼来模拟,因此,以马尾辫连接头部骨骼的次要骨骼为马尾辫的根节点骨骼,而马尾辫的发梢为末端节点骨骼,其中可能存在多个发梢,也就是多个末端节点骨骼,据此可形成由一根节点骨骼以及多个末端节点骨骼所构成的树形结构。于其他实施例中,在每一个末端节点骨骼与根节点骨骼之间还可具有多个中间节点骨骼。
综上所述,本申请的可实时互动的虚拟角色生成系统,利用所述驱动引擎依据实时导入的所述虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,以及依据实时导入的虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,并依据虚拟骨骼模型所执行的动作而实时驱动虚拟附属部位模型执行动作,不仅可生成可实时互动的虚拟角色的三维动画,且使所生成的三维动画的显示效果更为生动、逼真。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
本领域的技术人员应明白,本发明实施例的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (15)
1.一种可实时互动的虚拟角色生成系统,其特征在于,包括:
模型生成模块,其用于生成虚拟角色的虚拟整体模型,所述虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型与虚拟附属部位模型;以及
模型驱动模块,其用于将所述虚拟整体模型导入驱动引擎中,并实时导入虚拟面部模型动作指令与虚拟骨骼模型动作指令,以借由所述驱动引擎依据所述虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,依据所述虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,以及依据所述虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色的三维动画。
2.根据权利要求1所述的虚拟角色生成系统,其特征在于,所述模型生成模块还包括:
三维顶点定义单元,其定义用于构成所述虚拟整体模型的三维顶点;
面部模型制作单元,其依据用于构成所述虚拟整体模型的面部部分的所述三维顶点,生成所述虚拟面部模型;
骨骼模型制作单元,其依据用于构成所述虚拟整体模型的骨骼部分的所述三维顶点,生成所述虚拟骨骼模型;以及
附属模型制作单元,其依据用于构成所述虚拟整体模型的附属部分的所述三维顶点,生成所述虚拟附属部位模型。
3.根据权利要求2所述的虚拟角色生成系统,其特征在于,所述模型驱动模块还包括面部模型驱动单元,其具有:
切割子单元,其用于针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类,以形成多个第一三维顶点子集合,且依据所述第一三维顶点子集合切割所述虚拟面部模型而生成局部面部模型;
表情制作子单元,其用于定义各所述局部面部模型中的所述第一三维顶点子集合的初始位移状态及最大位移状态,并依据所述初始位移状态与所述最大位移状态定义中间位移状态;以及
融合子单元,其用于针对多个所述第一三维顶点子集合之间所产生交集进行效果融合处理。
4.根据权利要求3所述的虚拟角色生成系统,其特征在于,所述切割子单元依据面部肌肉分布特征,针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类。
5.根据权利要求2所述的虚拟角色生成系统,其特征在于,所述模型驱动模块还包括骨骼模型驱动单元,其具有:
骨骼层级定义子单元,用于以所述虚拟骨骼模型的臀部骨骼为根节点骨骼,依据所述虚拟骨骼模型中各主要骨骼之间的连接关系而定义各所述主要骨骼之间的层级关系,从而形成对应于所述虚拟骨骼模型的骨骼树形结构;
缺省姿态定义子单元,用于依据所述虚拟骨骼模型中各主要骨骼的位置与相对角度,以定义并生成所述虚拟骨骼模型的缺省姿态;
骨骼初始状态定义子单元,用于定义所述虚拟骨骼模型中各所述主要骨骼的初始轴向信息;以及
顶点运动定义子单元,用于针对构成所述虚拟整体模型的骨骼部分的所述三维顶点进行分类,以生成分别对应所述虚拟骨骼模型的各所述主要骨骼的多个第二三维顶点子集合,并定义各所述主要骨骼与各所述第二三维顶点子集合之间的映射关系,以使所述虚拟骨骼模型中的各所述主要骨骼于运动时,可驱动对应的所述第二三维顶点子集合执行同步运动。
6.根据权利要求5所述的虚拟角色生成系统,其特征在于,所述模型驱动模块还包括附属模型驱动单元,其具有:
外部层级定义子单元,其用于定义所述虚拟附属部位模型与所述虚拟骨骼模型中的所述主要骨骼之间的连接依附关系;以及
内部层级定义子单元,其用于定义所述虚拟附属部位模型中各次要骨骼之间的层级关系。
7.根据权利要求6所述的虚拟角色生成系统,其特征在于,所述模型驱动模块还包括定义所述虚拟面部模型动作指令与虚拟骨骼模型动作指令的数据格式,其中,用于驱动所述虚拟面部模型动作的所述虚拟面部模型动作指令的数据格式为1至100之间的任意数值,且其中用于驱动所述根节点骨骼动作的所述虚拟骨骼模型动作指令的数据格式包括三维位移数据与三维旋转数据,用于驱动其他所述主要骨骼动作的所述虚拟骨骼模型动作指令包括所述三维旋转数据。
8.一种可实时互动的虚拟角色生成方法,其特征在于,包括:
制作虚拟角色的虚拟整体模型,所述虚拟整体模型至少包括虚拟面部模型、虚拟骨骼模型以及虚拟附属部位模型;
将所述虚拟整体模型导入驱动引擎中,并实时导入虚拟面部模型动作指令与虚拟骨骼模型动作指令;以及
借由所述驱动引擎以依据所述虚拟面部模型动作指令而实时驱动所述虚拟面部模型执行动作,依据所述虚拟骨骼模型动作指令而实时驱动所述虚拟骨骼模型执行动作,并依据所述虚拟骨骼模型所执行的所述动作而实时驱动所述虚拟附属部位模型执行动作,从而生成可实时互动的所述虚拟角色的三维动画。
9.根据权利要求8所述的虚拟角色生成方法,其特征在于,所述生成虚拟整体模型的步骤还包括:
定义用于构成所述虚拟整体模型的三维顶点;以及
依据用于构成所述虚拟整体模型的面部部分的所述三维顶点生成所述虚拟面部模型,依据用于构成所述虚拟整体模型的骨骼部分的所述三维顶点生成所述虚拟骨骼模型,依据用于构成所述虚拟整体模型的附属部分的所述三维顶点生成所述虚拟附属部位模型。
10.根据权利要求9所述的虚拟角色生成方法,其特征在于,驱动所述虚拟面部模型的步骤还包括:
针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类,以形成多个第一三维顶点子集合,且依据所述第一三维顶点子集合切割所述虚拟面部模型而生成局部面部模型;
定义各所述局部面部模型中的所述第一三维顶点子集合的初始位移状态及最大位移状态,并依据所述初始位移状态与所述最大位移状态定义中间位移状态;以及
针对多个所述第一三维顶点子集合之间所产生交集进行效果融合处理。
11.根据权利要求10所述的虚拟角色生成方法,其特征在于,依据面部肌肉分布特征,针对构成所述虚拟整体模型的面部部分的所述三维顶点进行逻辑分类。
12.根据权利要求9所述的虚拟角色生成方法,其特征在于,驱动所述虚拟骨骼模型的步骤还包括定义并生成所述虚拟骨骼模型的缺省姿态。
13.根据权利要求9所述的虚拟角色生成方法,其特征在于,驱动所述虚拟骨骼模型的步骤还包括:
以所述虚拟骨骼模型的臀部骨骼为根节点骨骼,依据所述虚拟骨骼模型中各主要骨骼之间的连接关系而定义各所述主要骨骼之间的层级关系,从而形成对应于所述虚拟骨骼模型的骨骼树形结构;
定义所述虚拟骨骼模型中各所述主要骨骼的初始轴向信息;以及
针对构成所述虚拟整体模型的所述骨骼部分的所述三维顶点进行分类,以生成分别对应所述虚拟骨骼模型的各所述主要骨骼的多个第二三维顶点子集合,并定义各所述主要骨骼与各所述第二三维顶点子集合之间的映射关系,以使所述虚拟骨骼模型中的各所述主要骨骼于运动时,可驱动对应的所述第二三维顶点子集合执行同步运动。
14.根据权利要求13所述的虚拟角色生成方法,其特征在于,驱动作所述虚拟附属部位模型的步骤还包括:
定义所述虚拟附属部位模型与所述虚拟骨骼模型中的所述主要骨骼之间的连接依附关系;以及
定义所述虚拟附属部位模型中各次要骨骼之间的层级关系。
15.根据权利要求14所述的虚拟角色生成方法,其特征在于,所述方法还包括定义所述虚拟面部模型动作指令与虚拟骨骼模型动作指令的数据格式,其中,用于驱动所述虚拟面部模型动作的所述虚拟面部模型动作指令的数据格式为1至100之间的任意数值,且其中,用于驱动所述根节点骨骼动作的所述虚拟骨骼模型动作指令的数据格式包括三维位移数据与三维旋转数据,用于驱动其他所述主要骨骼动作的所述虚拟骨骼模型动作指令包括所述三维旋转数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810030220.7A CN108198234B (zh) | 2018-01-12 | 2018-01-12 | 可实时互动的虚拟角色生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810030220.7A CN108198234B (zh) | 2018-01-12 | 2018-01-12 | 可实时互动的虚拟角色生成系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108198234A true CN108198234A (zh) | 2018-06-22 |
CN108198234B CN108198234B (zh) | 2021-06-25 |
Family
ID=62588815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810030220.7A Active CN108198234B (zh) | 2018-01-12 | 2018-01-12 | 可实时互动的虚拟角色生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108198234B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115079979A (zh) * | 2022-06-17 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种虚拟角色驱动方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885348A (zh) * | 2005-06-21 | 2006-12-27 | 中国科学院计算技术研究所 | 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法 |
CN103035022A (zh) * | 2012-12-07 | 2013-04-10 | 大连大学 | 基于特征点的人脸表情合成方法 |
CN103198508A (zh) * | 2013-04-07 | 2013-07-10 | 河北工业大学 | 人脸表情动画生成方法 |
CN104077797A (zh) * | 2014-05-19 | 2014-10-01 | 无锡梵天信息技术股份有限公司 | 三维游戏动画系统 |
CN104658038A (zh) * | 2015-03-12 | 2015-05-27 | 南京梦宇三维技术有限公司 | 基于动作捕捉的三维数字内容智能制作方法及制作系统 |
CN105654537A (zh) * | 2015-12-30 | 2016-06-08 | 中国科学院自动化研究所 | 一种实现与虚拟角色实时互动的表情克隆方法及装置 |
CN106296778A (zh) * | 2016-07-29 | 2017-01-04 | 网易(杭州)网络有限公司 | 虚拟对象运动控制方法与装置 |
CN107274466A (zh) * | 2017-05-31 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种实时全身动作捕捉的方法、装置和系统 |
CN107274464A (zh) * | 2017-05-31 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种实时交互3d动画的方法、装置和系统 |
-
2018
- 2018-01-12 CN CN201810030220.7A patent/CN108198234B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885348A (zh) * | 2005-06-21 | 2006-12-27 | 中国科学院计算技术研究所 | 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法 |
CN103035022A (zh) * | 2012-12-07 | 2013-04-10 | 大连大学 | 基于特征点的人脸表情合成方法 |
CN103198508A (zh) * | 2013-04-07 | 2013-07-10 | 河北工业大学 | 人脸表情动画生成方法 |
CN104077797A (zh) * | 2014-05-19 | 2014-10-01 | 无锡梵天信息技术股份有限公司 | 三维游戏动画系统 |
CN104658038A (zh) * | 2015-03-12 | 2015-05-27 | 南京梦宇三维技术有限公司 | 基于动作捕捉的三维数字内容智能制作方法及制作系统 |
CN105654537A (zh) * | 2015-12-30 | 2016-06-08 | 中国科学院自动化研究所 | 一种实现与虚拟角色实时互动的表情克隆方法及装置 |
CN106296778A (zh) * | 2016-07-29 | 2017-01-04 | 网易(杭州)网络有限公司 | 虚拟对象运动控制方法与装置 |
CN107274466A (zh) * | 2017-05-31 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种实时全身动作捕捉的方法、装置和系统 |
CN107274464A (zh) * | 2017-05-31 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种实时交互3d动画的方法、装置和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115079979A (zh) * | 2022-06-17 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种虚拟角色驱动方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108198234B (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11527030B2 (en) | System for neurobehavioural animation | |
Magnenat-Thalmann et al. | Handbook of virtual humans | |
Magnenat-Thalmann et al. | Virtual humans: thirty years of research, what next? | |
CN107274464A (zh) | 一种实时交互3d动画的方法、装置和系统 | |
US20030184544A1 (en) | Modeling human beings by symbol manipulation | |
CN101149840A (zh) | 一种复杂表情仿真系统及其实现方法 | |
CN109035373A (zh) | 三维特效程序文件包的生成及三维特效生成方法与装置 | |
Ping et al. | Computer facial animation: A review | |
CN113763518A (zh) | 基于虚拟数字人的多模态无限表情合成方法及装置 | |
Kallmann et al. | Hierarchical motion controllers for real-time autonomous virtual humans | |
CN108198234A (zh) | 可实时互动的虚拟角色生成系统及方法 | |
Kumar | BEAPS: Incorporating Shape Dynamics in Virtual Agents Focusing on Customizing the Mesh for Pose Space Actions | |
Rajendran | Understanding the Desired Approach for Animating Procedurally | |
Li et al. | Improved radial basis function based parameterization for facial expression animation | |
Morawetz | A high-level approach to the animation of human secondary movement | |
Shusong et al. | From character animation to robot motion | |
Jovanova et al. | The role of interoperability in virtual worlds, analysis of the specific cases of avatars | |
Ragab | Supervised by | |
TW202244852A (zh) | 用於擷取臉部表情且產生網格資料之人工智慧 | |
Gutiérrez A et al. | Virtual Characters | |
CN117765155A (zh) | 一种表情重定向驱动方法及虚拟显示设备 | |
WO2022019777A1 (en) | Animation control rig generation | |
Magnenat-Thalmann et al. | 1 Innovations in Virtual Humans | |
Magnenat-Thalmann et al. | Real-time individualized virtual humans | |
Huang et al. | Facial Expressions for Embodied Agents in STEP |
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 |