一种角色动作生成方法和装置与流程

文档序号:12472170阅读:413来源:国知局
一种角色动作生成方法和装置与流程

本发明实施例涉及游戏开发技术领域,尤其涉及一种角色动作生成方法和装置。



背景技术:

在3D大型在线网游开发过程中,为了增加游戏的趣味性、社交性,会给人物角色设置丰富的表情和动作。例如,射击类游戏中,角色通常会有游戏预设的跑跳射击等固定动作;角色扮演类游戏中,角色会进一步预设更多的战斗技能动作。传统的角色编辑方式,都是由专业的动画师用专业的编辑器进行编辑生成。近几年,也有许多游戏可由玩家设置人物的表情细节,例如《剑灵》面向玩家的、针对面部形状的捏脸系统,《守望先锋》也可以从选择列表中设置角色表情动作。随着玩家对虚拟世界可控性需求的增高,面向游戏玩家的角色动作编辑系统设计成为一个技术性问题。

对于角色动作的设置,基本的技术方案是在游戏包中存放若干完整的动画文件。在游戏运行时候,可由玩家自行设置播放表情动作,或者根据技能按键操作触发预设技能动作。这种方案已经很成熟,已经运用到大多数3D网游当中。例如《魔兽世界》。

角色的所有动作都是固定不变的,每一个操作触发的人物动作表现对于不同玩家的相同角色都一样,不能满足游戏虚拟世界中角色动作个性化的需求。



技术实现要素:

本发明提供一种角色动作生成方法和装置,以解决游戏中角色动作固定不变,无法满足玩家对个性化角色形象需求的问题。

第一方面,本发明实施例提供了一种角色动作生成方法,包括:

获取角色动作的关键帧姿态信息,所述关键帧姿态信息用于描述所述角色动作的骨架特征;

根据预设算法将所述关键帧姿态信息生成骨骼动画文件,所述骨骼动画文件用于执行游戏角色的预设动作。

第二方面,本发明实施例还提供了一种角色动作生成装置,包括:.

关键帧姿态信息获取模块,用于获取角色动作的关键帧姿态信息,所述关键帧姿态信息用于描述所述角色动作的骨架特征;

骨骼动画文件生成模块,用于根据预设算法将所述关键帧姿态信息生成骨骼动画文件,所述骨骼动画文件用于执行游戏角色的预设动作。

本发明实施例,通过将获取到的角色动作的关键帧姿态信息生成新的骨骼动画文件,解决了游戏中角色动作固定不变,无法满足玩家对个性化角色形象的需求的问题,有效避免了游戏角色的单一乏味,实现根据用户的喜好塑造出与众不同的角色形象,进而生成用户喜欢的角色形象,从而提高游戏的趣味性,提升了用户体验。

附图说明

图1是本发明实施例一中的一种角色动作生成方法流程示意图。

图2是本发明实施例二中的一种角色动作生成方法中骨骼动画文件生成操作流程示意图。

图3是本发明实施例二中的一种骨架特征结构示意图。

图4是本发明实施例二中的一种二维关键点在动作简笔画中的分布示意图。

图5是本发明实施例三中的一种角色动作生成装置结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种角色动作生成方法流程示意图,本实施例可适用于游戏角色自动生成情况,该方法可以由一种角色动作生成装置来执行,该装置可以由软件和/或硬件的方式来实现。如图1所示,该方法包括:

S110、获取角色动作的关键帧姿态信息,所述关键帧姿态信息用于描述所述角色动作的骨架特征。

角色动作可以是游戏中游戏角色执行的动作,本实施例中,所述角色动作为游戏玩家根据自己需求设定的个性化的角色动作。所述关键帧姿态信息为游戏玩家向终端输入的与自己设定的个性化的角色动作相对应的信息。所述关键帧姿态信息可以是图像信息,也可以是对游戏中已有的角色动作进行调整的调整指令。

当所述关键帧姿态信息为图像信息时,终端会根据所述图像中的动作信息提取相应的骨架特征,并根据所述骨架特征生成相应的角色动作。当关键帧姿态信息为对游戏中已有的角色动作进行调整的调整指令时,终端会根据所述调整指令对角色动作的骨架特征进行调整并得到新的骨架特征。

S120、根据预设算法将所述关键帧姿态信息生成骨骼动画文件,所述骨骼动画文件用于执行游戏角色的预设动作。

骨骼动画文件由终端根据预设算法对获取到的关键帧姿态信息处理得到。

进一步的,一个骨骼动画文件可以对应至少两个关键帧姿态信息。

当玩家设定的角色动作较简单时,骨骼动画文件可以由两个关键帧姿态信息处理得到,分别为开始姿态信息和结束姿态信息,开始姿态信息表示角色动作开始执行时的姿态,结束姿态信息角色动作结束执行时的姿态。当玩家设定的角色动作较复杂时,骨骼动画文件由一个开始姿态信息、一个结束姿态信息和至少一个中间姿态信息处理得到。角色动作的复杂度越高,中间姿态信息的个数越多。

本实施例的技术方案,通过将获取到的角色动作的关键帧姿态信息生成新的骨骼动画文件,解决了游戏中角色动作固定不变,无法满足玩家对个性化角色形象的需求的问题,有效避免了游戏角色的单一乏味,实现根据用户的喜好塑造出与众不同的角色形象,进而生成用户喜欢的角色形象,从而提高游戏的趣味性,提升了用户体验。

实施例二

图2是本发明实施例二中的一种角色动作生成方法中骨骼动画文件生成操作流程示意图。本实施例在实施例一的基础上提出了一种角色动作生成方法,进一步描述关键帧姿态信息生成骨骼动画文件的具体步骤。如图2所示,具体为:

S210、从预设骨骼动画文件中提取关键帧动作,将关键帧动作转化为动作特征数据并存入动作特征库中,所述动作特征库包括动作特征数据、动作文件名和动作帧序号。

预设骨骼动画文件为游戏原有的骨骼动画文件,所述关键帧动作为游戏角色在执行比较明确性的动作时从预设骨骼动画文件中提取到的对应的信息,明确性的动作可以是跑,跳,射击,踢腿,招手,翻滚和弯腰等动作。

将关键帧动作转化为动作特征数据,该过程为简化特征的过程,具体为,提取关键帧动作中的关键骨节点,确定关键骨节点的位置和状态,并构建成类似骨骼特征结构的信息。

骨架特征结构为二维特征骨架,表示游戏角色中的主要关节位置和关节状态。骨架特征结构中的骨节点越多,对游戏角色的运动姿势表现越详细,生成的角色动作越逼真,此时由关键帧姿态信息到骨骼动画文件的生成过程越复杂,需要的时间越久,对终端处理器的要求也越高。当骨架特征结构中的运动节点比较少时,表现出来的游戏角色的运动姿势比较简略,生成的角色动作越简略,因此在骨架特征结构中骨节点数量的选取中,应该根据游戏性能和生成角色动作的精确度等方面综合考虑。

本实施例中,骨架特征结构优选的由17个骨节点组成。图3是本发明实施例二中的一种骨架特征结构示意图。,如图3所示,骨架特征结构(KeyFrame)包括16个肢体节点和1个头部节点,并以向量的方式表示,即骨架特征结构由15个肢体单位向量和1个头节点向量构成,可以表示为KeyFrame:{(e0,e1,e2),...,(e12,e13,e14),head},其中e0-e14表示肢体单位向量,head表示头节点向量,需要说明的是,在实际运用过程头节点向量对角色动作的影响很小,可以忽略。

优选的,所述骨架特征结构包括至少15个肢体单位向量。

所述动作特征数据可以是与关键帧动作对应的骨架特征向量集。

进一步的,所述从预设骨骼动画文件中提取关键帧动作,将关键帧动作转化为动作特征数据并存入动作特征库中,包括:

基于极限姿态算法从预设骨骼动画文件中提取至少一个关键帧动作。

所述极限姿态算法用于判断当前角色动作是否处于极限姿态,具体的,当游戏角色身体的关键骨节点移动或者旋转加速度接近0值时,则判断当前角色动作为极限姿态,并从当前当前角色动作中提取关键帧动作。

在一个预设骨骼动画文件中会存在多个极限姿态,因此可以从一个骨骼动画文件中提取到多个关键帧动作。

对于每一个关键帧动作提取多个关键运动节点,根据所述骨架特征结构对所述多个关键运动节点归一化处理得到运动特征数据。

关键运动节点表示关键帧动作的主要骨节点,例如颈部骨节点、肘部骨节点、腰部骨节点和膝盖骨节点等。根据骨骼特征结构对多个关键运动节点进行归一化处理得到运动特征数据。归一化处理用于将关键运动节点处理为可以进行运算且具有可比性的数据。

对所述运动特征数据、所述关键帧动作文件名和所述与关键帧动作对应的动作帧序号建立对应关系,并存储到动作特征库中。

将关键帧动作转换为动作特征数据后,获取关键帧动作在预设骨骼动画文件中的详细帧数得到动作帧序号,为所述动作关键帧数据命名得到动作文件名,将所述动作特征数据、动作帧序号和动作文件名建立对应关系并存入运动特征库中。

S220、获取角色动作的关键帧姿态信息,所述关键帧姿态信息用于描述所述角色动作的骨架特征。

S230、获取所述关键帧姿态信息的骨架特征结构,所述关键帧姿态信息包括动作简笔画。

动作简笔画为游戏玩家根据自身需求描绘的角色动作的简单形状,也可以也角色动作下某一部分的简单形状,这样设置的好处是输入信息简易,便于玩家输入,用户体验性强。

所述动作简笔画可以由用户通过与终端连接的手绘板发出,也可以通过终端的虚拟画板或触摸屏发出。

S240、a、从动作简笔画提取二维关键点,并根据所述二维关键点得到简笔画特征数据。

所述二维关键点用于确定骨骼特征结构。每一个动作简笔画中可提取至少两个二位关键点,开始关键点和结束关键点。

在动作简笔画获取的过程中,会提示用户进行五次输入操作,进而获取到五笔简笔画,依次分别表示游戏角色的躯干,左臂,右臂,左肢,右肢。

优选的,本实施例中从动作简笔画提取四个二维关键点。图4是本发明实施例二中的一种二维关键点在动作简笔画中的分布示意图。如图4所示,四个二维关键点分别为P0、Pmaxdis、Pmaxdis'和PN,P0表示动作简笔画的开始关键点,PN表示动作简笔画的结束关键点,Pmaxdis表示动作简笔画中距离线段P0PN最远的点,Pmaxdis'表示动作简笔画P0Pmaxdis曲线中距离线段P0Pmaxdis最远的点。根据上述四个二维关键点可获取到3个特征向量。

对五笔动作简笔画提取得到20个二维关键点,15个特征向量,即15个肢体向量,根据15个肢体向量得到简笔画特征数据。

S250、b、计算简笔画特征数据与所述动作特征库中动作特征数据间的特征距离,选取特征距离值最接近0值的动作特征数据作为最优特征数据,并根据动作特征库中与最优特征数据对应的运动文件名和运动帧序号得到三维骨骼姿态帧数据。

所述三维骨骼姿态帧数据为动作特征库中与动作特征数据最匹配的特征数据。

进一步的,所述特征距离的计算公式包括:

Dis表示特征距离,Psketch表示简笔画特征数据;

Pkeyframe表示动作特征数据,n表示骨架特征结构中特征节点的数量;

esketch_i表示简笔画特征数据中第i个特征节点数据;

ekeyframe_i表示动作特征数据中第i个特征节点数据;

wi表示第i个特征节点数据在简笔画特征数据的权重值。

S260、重复a步骤和b步骤,得到三维骨骼姿态帧数据集合。

三维骨骼姿态帧数据集合由至少一个三维骨骼姿态帧数据组成。

根据游戏玩家需要的的个性化角色动作的复杂度,重复a步骤和b步骤,得到多个简笔画特征数据,角色动作的复杂度越高,a步骤和b步骤重复次数越多。

S270、根据预设的三维骨骼姿态帧数据在所述骨骼动画文件中的执行时刻和执行顺序对三维骨骼姿态帧数据进行插值运算,并得到骨骼动画文件。

示例性的,三维骨骼姿态帧数据集合为{KeyFrame0,KeyFrame1,...,KeyFrameN},与三维骨骼姿态帧数据集合对应运动时刻集合为{KeyTime0,KeyTime1,...,KeyTimeN},对每一时刻运动帧KeyFrame的每一个骨骼姿态Bone进行插值,得到每一时刻的运动数据{Frame0,Frame1,...,FrameN},进而得到骨骼动画文件。

本实施例的技术方案,通过设定动作简笔画和骨骼特征结构的的具体结构,使得游戏玩家的输入操作、简笔画特征数据在动作特征库中的匹配操作更加简单、快速、高效,通过对三维骨骼姿态帧数据进行差值运算,得到表现效果更加丰满和逼真的角色动作,生成与游戏玩家需求最贴切的角色动作,进而塑造出与众不同的角色形象,从而提高游戏的趣味性,提升了用户体验。

实施例三

图3所示为本发明实施例三提供的一种角色动作生成装置结构示意图,如图3所示,该游戏关卡处理装置包括:关键帧姿态信息获取模块310和骨骼动画文件生成模块320。

其中,关键帧姿态信息获取模块310,用于获取角色动作的关键帧姿态信息,所述关键帧姿态信息用于描述所述角色动作的骨架特征。

骨骼动画文件生成模块320,用于根据预设算法将所述关键帧姿态信息生成骨骼动画文件,所述骨骼动画文件用于执行游戏角色的预设动作。

进一步的,角色动作生成装置还包括:

动作特征库获取模块,用于获取角色动作的关键帧姿态信息之前,从预设骨骼动画文件中提取关键帧动作,将关键帧动作转化为动作特征数据并存入动作特征库中,所述动作特征库包括动作特征数据、动作文件名和动作帧序号。

进一步的,所述骨骼动画文件生成模块包括:

骨架特征结构获取单元,用于获取所述关键帧姿态信息的骨架特征结构,所述关键帧姿态信息包括动作简笔画;

简笔画特征数据获取单元,用于从动作简笔画提取二维关键点,并根据所述二维关键点得到简笔画特征数据;

三维骨骼姿态帧数据获取单元,用于计算简笔画特征数据与所述动作特征库中动作特征数据间的特征距离,选取特征距离值最接近0值的动作特征数据作为最优特征数据,并根据动作特征库中与最优特征数据对应的运动文件名和运动帧序号得到三维骨骼姿态帧数据;

姿态帧数据集合获取单元,用于根据所述动作简笔画的获取次数开启或关闭所述简笔画特征数据获取单元和三维骨骼姿态帧数据获取单元,得到三维骨骼姿态帧数据集合;

插值运算执行单元,用于根据预设的三维骨骼姿态帧数据在所述骨骼动画文件中的执行时刻和执行顺序对三维骨骼姿态帧数据进行插值运算,并得到骨骼动画文件。

进一步的,动作特征库获取模块包括:

关键帧动作提取单元,用于基于极限姿态算法从原始骨骼动画文件中提取至少一个关键帧动作;

归一化处理单元,用于对于每一个关键帧动作提取多个关键运动节点,根据所述骨架特征结构对所述多个关键运动节点归一化处理得到运动特征数据;

对应关系建立单元,用于对所述运动特征数据、所述关键帧动作信息存储的位置和所述与关键帧动作对应的动作帧序号建立对应关系,并存储到动作特征库中。进一步的,所述特征距离的计算公式包括:

Dis表示特征距离,Psketch表示简笔画特征数据;

Pkeyframe表示动作特征数据,n表示骨架特征结构中特征节点的数量;

esketch_i表示简笔画特征数据中第i个特征节点数据;

ekeyframe_i表示动作特征数据中第i个特征节点数据;

wi表示第i个特征节点数据在简笔画特征数据的权重值。

进一步的,所述骨架特征结构包括至少15个肢体单位向量。

本实施例的技术方案,通过获取到的角色动作的关键帧姿态信息生成新的骨骼动画文件。解决了游戏中角色动作固定不变,无法满足玩家对个性化角色形象的需求的问题。有效避免了游戏角色的单一乏味,实现根据用户的喜好塑造出与众不同的角色形象,进而生成用户喜欢的角色形象,从而提高游戏的趣味性,提升了用户体验。

本发明实施例所提供的角色动作生成装置可以用于执行本发明实施例所提供的角色动作生成方法,具备相应的功能和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的角色动作生成方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1