一种三维角色的过渡动画生成方法

文档序号:8544367阅读:489来源:国知局
一种三维角色的过渡动画生成方法
【技术领域】
[0001] 本发明设及计算机图形学领域,具体而言,设及一种=维虚拟角色的过渡动画生 成方法。
【背景技术】
[0002] 角色动画在越来越多的领域被应用,近年来,交互式的娱乐游戏已经成为了虚拟 角色动画的重要应用。玩家在游戏的过程中,需要触发大量的角色动画,因而,视频游戏需 要大量的角色动画集。现如今,越来越多的角色扮演的交互式游戏,需要给虚拟角色制作大 量的角色动画。
[0003] 通常角色动画有两种实现方法,一种是骨骼动画,一种是形变动画。对于关节动 物,骨骼动画是常用的方法。对已有角色模型进行骨骼绑定,并赋予影响权值,再对相应的 骨骼关节进行操控,即可控制整个角色的动作。
[0004] 当一个用户触发了一个任务,游戏中的角色需要做出相应的响应。当角色从一个 动作跳转到另一个动作的时候,角色即需要一段过渡动画。现在过渡动画有W下几种方 法:
[0005] 第一种方法是不需要过渡动画,直接将两段动画连接起来。该是最方便快捷的方 式,用于很多简单的游戏中,但是,该也是用户体验感最差的一种方式。该种方法直接将当 前动画的最后一帖和下一个动画的第一帖,在当前的位置串接在一起,该使得动画非常的 僵硬而且不真实;
[0006] 第二种方法是目前在游戏中最普遍的一种方法,该个游戏需要拥有一个巨大的动 画集,为玩家在游戏的过程中调用动画。该个动画集包括所有的角色动画,W及每一组动画 之间的过渡动画。该些所有的动画都由动画师制作。该种方法带给动画师大量的工作,尤 其是当剧情线很复杂的时候。要求动画师制作所有每两帖之前的过渡动画是不现实的。因 为,动画将会播放直到该动画结束,才进入下一段动画,该就造成了动画延迟;
[0007] 第=种方法是给定一段确切的时长,来做动画混合,该种过渡动画的方法可W自 动的在两帖之间做插值。由于插值时长是提前设定好的,因而该方法对于不同的动画使用 相同的插值方法,并且无法考虑整体的角色运动趋势。
[000引有鉴于此,本发明人对此进行研究,专口开发出一种=维角色的过渡动画生成方 法,本案由此产生。

【发明内容】

[0009] 本发明的目的是提供一种S维角色的过渡动画生成方法,W解决现有的在实际应 用中,动画过渡生成产生的不真实感和不流畅感,同时确保生成过渡动画时,在不增加时间 复杂度的前提下,提高过渡动画的真实体验。
[0010] 为了实现上述目的,本发明的解决方案是:
[0011] 一种S维角色的过渡动画生成方法,包括如下步骤:
[0012] 1-1.角色模型输入步骤;将虚拟角色模型输入到动画系统中,在动画初始时,角 色模型选择时即执行,并且在整个动画过程中,只执行一次,为之后的步骤做准备;
[0013] 1-2.结构遍历步骤;从骨骼动画的根骨骼开始向下遍历每一关节节点,并对该关 节的子节点个数进行标号,一次得到骨骼结构,并推算出该关节位于人体整体的位置,结构 遍历在虚拟角色模型输入之后立即执行,并且在整个动画过程中,只执行一次;
[0014] 1-3.关节分类步骤:根据角色模型的骨骼结构,将所有的关节分为=个部分:基 础关节、运动关节和末端关节,关节分类步骤与结构遍历步骤同时执行,并且在整个动画过 程中,只执行一次关节;
[0015] 1-4.过渡时长计算步骤;根据关节分类和运动趋势,计算出每个关节所需的旋转 时长,取其中的最大值为当前所需过渡时长。当用户触发下一个即将衔接的动作时,实时计 算过渡时长,每次重新计算,其有益效果是,解决了现有过渡动画处理方法中,动画混合时 长为定值的局限。过渡时长的可变性,满足了动画生成的个性化需求。由于动作之间的相 似性差异,相应的过渡动画时长也不同;
[0016] 1-5.插值方法和插值参数的选择步骤;根据角色模型关节的重要程度W及动作 的复杂程度选择相应的插值方法,该样在保证动画流畅性的前提下,又保持了动画的响应 速度,插值方法的选择是基于关节分类的;插值参数的选择分为通用插值参数选择和变速 插值参数选择,只在基础关节和运动关节中进行,对于末端关节,直接选用通用插值参数, 对于已经提前设定的阔值,若该关节的旋转角度大于该阔值,则可认为该关节是显著的运 动,在人的视觉观感中,该关节的运动表现的更为明显,而选取变速插值参数;对于小于该 阔值的旋转角度,则直接采取通用插值参数,而不会影响人的视觉观感,并可降低时间复杂 度。插值参数的选择是基于旋转角度的大小,并参照关节分类而进行选择的。
[0017] 1-6.角色旋转插值生成步骤:对于不同的关节选择相应的插值方法W及插值参 数,生成角色模型每一个关节的旋转插值,角色旋转插值步骤是基于关节分类进行的,我们 称之为层级化的插值方法。
[0018] 2-1.当前动画输入单元步骤;将当前动画输入到动画系统中;
[0019] 2-2.衔接动画输入单元步骤;将衔接动画输入到动画系统中;
[0020] 其中,当前动画输入步骤和衔接动画输入步骤是在用户玩家触发虚拟角色的下一 个动作的时候进行。为了体现过渡动画的真实感,过渡动画必须符合人体工学W及物理特 性,因而需要做前后两个动作的衔接。该需要有一定的运动趋势,而不是只是在原地变化, 该会使玩家有一种突兀的感觉。因为该种符合角色前后运动趋势的变化,极好地避免了角 色动画的突变而造成的不真实感;
[0021] 2-3.动画分类步骤:动画根据足部关节与跟关节进行分类,分为原地动画、平面 动画和空间动画。动画分类步骤极大地简化了在位移插值时的复杂程度。由于所有的动画 都是从动画库中提取的,因而,动画的分类在最初的动画录入时,即已完成分类。通过一些 简单的足部和根关节的运动数据,将所有动画分为原地动画、平面动画和空间动画。对于只 设及原地动画的过渡动画,直接取消位移插值。对于设及了平面动画而不设及空间动画的 过渡动画,只需要考虑平面坐标的运动趋势。对于设及了空间动画的过渡动画,还需要额外 考虑空间运动的物理属性;
[0022] 2-4.角色位移插值生成步骤:根据当前动画和衔接动画的运动趋势和物理特性, 对根骨骼空间位置进行插值,生成角色位移插值,从而完成对整个角色模型的空间位置设 定;
[0023] 3-1.根据步骤1-6已生成的角色旋转插值和步骤2-4已生成的角色位移插值,自 动生成过渡动画。
[0024] 本发明所述的一种=维角色的过渡动画生成方法,将虚拟角色的层级化旋转插值 和位移插值结合在一起,得到最终的过渡动画,是一种可变时长的层级化动画插值方法。
[0025] 不同于W往对过渡时长的设定,对于过渡时长的实时计算,基于需要衔接的前后 两个动画的动作的差异性大小,W及运动趋势,计算基础关节和运动关节的所需过渡时长, 并取其中的最大值为该段动画的过渡时长,该是在符合关节运动节奏的前提下,能够使动 画平滑过渡,任何一个关节都不会因为跳变,而产生不真实感。我们称之为可变时长的插值 方法。
[0026] 最终生成的过渡动画是基于关节分类和动画分类的,对角色模型结构进行遍历, 从而对关节进行层级化的插值,关键为,对于对整个角色动画效果影响大的关节,使用复杂 而精准的插值方法,而对于末端关节,由于其运动变化琐碎,并且不会对整体动画效果产生 过大的影响,对其使用简单的插值方法,W节省时间。我们称之为层级化的插值方法。该样 能够在保证动画平滑性和真实性的前提下,尽可能多的降低时间复杂度,节省计算时间,从 而达到实时响应。
[0027] W下结合附图及具体
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1