角色面部朝向的调整方法及装置的制造方法

文档序号:9728085阅读:962来源:国知局
角色面部朝向的调整方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种角色面部朝向的调整方法及装置。
【背景技术】
[0002]在早期的动漫以及游戏制作过程中所普遍采用的技术被称为“关节动画”,然而,其明显缺陷在于:动漫/游戏角色在运动的过程中,其关节的结合处会出现裂缝,严重影响视觉效果。为了能够改进上述缺陷,骨骼蒙皮动画应运而生。
[0003]目前的所有动画几乎都采用骨骼蒙皮动画技术,其要求每一个骨骼的顶点都包含相关的骨骼信息,这样在骨骼运动的时候,骨骼的顶点也可以做相应的运动,由此确保关节的结合处不会出现裂缝。具体地,蒙在骨骼的顶点上的东西叫蒙皮,单位的运动是由骨骼运动所带动的,而骨骼又是由空间中的一系列点连成线组成的。
[0004]骨骼动画的基本原理可概括为:在骨骼控制下,通过顶点混合动态计算蒙皮网格的顶点,而骨骼的运动相对于其父骨骼,并由动画关键帧数据驱动。一个骨骼动画通常可以包括:骨骼层次结构数据,网格(Mesh)数据,网格蒙皮数据(skin info)和骨骼的动画(关键帧)数据。
[0005]另外,上文中提到的关键帧是计算机动画术语,帧即为动画中最小单位的单幅影像画面,其相当于电影胶片上的每一格镜头。在动画软件的时间轴上帧可以表现为一格或一个标记。例如:游戏角色每做出动作的一个姿势(POSE)即为动作的一帧,因为它只是一帧,所以这个姿势是静态的,不会改变。而关键帧则相当于二维动画中的原画,其指的是角色或者物体运动或变化中的关键动作所位于的那一帧。需要说明的是,关键帧与关键帧之间的动画可以由软件来创建,被称为过渡帧或者中间帧。
[0006]相关技术在三维动画的演示过程中,无法准确设定游戏角色的面部(特别是眼睛)能够朝向特定的观测位置(例如:摄像机),游戏制作人员或者玩家通常仅能够在演示过程中看到游戏角色的侧脸甚至是后脑和背影,严重影响了观看动画或者进行游戏的视觉体验。
[0007]针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0008]本发明实施例提供了一种角色面部朝向的调整方法及装置,以至少解决相关技术在三维动画的演示过程中,无法准确设定游戏角色的面部能够朝向特定的观测位置的技术问题。
[0009]根据本发明实施例的一个方面,提供了一种角色面部朝向的调整方法,包括:获取视点所在的位置信息以及角色在视点的视角范围内的当前面部朝向信息;按照视点的位置信息对当前面部朝向信息进行调整,直至角色面向视点。
[0010]进一步地,获取角色在视点的视角范围内的当前面部朝向信息包括:在视频加载过程中,分别记录角色的头部骨骼的位置信息和眼部骨骼的位置信息,其中,眼部骨骼的位置信息包括:左眼骨骼的位置信息和右眼骨骼的位置信息;根据记录的头部骨骼的位置信息和眼部骨骼的位置信息获取当前面部朝向信息。
[0011]进一步地,按照位置信息对当前面部朝向信息进行调整,直至角色面向视点包括:采用视点的位置信息与当前面部朝向信息计算位置偏差;根据位置偏差判断角色的面部是否可以朝向视点;如果是,则先根据眼部骨骼的位置信息和位置偏差将角色的眼睛调整至注视视点,再根据头部骨骼的位置信息和位置偏差逐帧更新头部骨骼的位置信息直至角色面向视点。
[0012]进一步地,根据位置偏差判断角色的面部是否可以朝向视点包括:确定位置偏差在世界坐标系中的三维坐标值,其中,角色当前面朝X轴的正方向,角色的左手边为y轴正方向以及地平面的法线方向为z轴的正方向;分别判断三维坐标值是否位于预先设定的角色的头部转动范围内。
[0013]进一步地,根据眼部骨骼的位置信息和位置偏差将眼睛调整至注视视点包括:通过眼部骨骼的位置信息和位置偏差确定眼睛待转动的方向;采用位置偏差和眼睛待转动的方向生成旋转矩阵;根据眼部骨骼的位置信息与旋转矩阵的计算结果将眼睛调整至注视视点。
[0014]进一步地,根据头部骨骼的位置信息和位置偏差逐帧更新头部骨骼的位置信息直至角色面向视点包括:将与当前面部朝向信息对应的初始头部骨骼矩阵转换为初始四元数;将与角色面向视点对应的目标头部骨骼矩阵转换为目标四元数;在从初始四元数变换为目标四元数的过程中,按照预设的旋转时间逐帧计算每帧所分别对应的插值;按照计算得到的每帧所分别对应的插值依次确定在经过每帧更新后头部骨骼所在的位置,直至角色面向视点。
[0015]根据本发明实施例的另一方面,还提供了一种角色面部朝向的调整装置,包括:获取模块,用于获取视点所在的位置信息以及角色在视点的视角范围内的当前面部朝向信息;调整模块,用于按照视点的位置信息对当前面部朝向信息进行调整,直至角色面向视点。
[0016]进一步地,获取模块包括:记录单元,用于在视频加载过程中,分别记录角色的头部骨骼的位置信息和眼部骨骼的位置信息,其中,眼部骨骼的位置信息包括:左眼骨骼的位置信息和右眼骨骼的位置信息;获取单元,用于根据记录的头部骨骼的位置信息和眼部骨骼的位置信息获取当前面部朝向信息。
[0017]进一步地,调整模块包括:计算单元,用于采用视点的位置信息与当前面部朝向信息计算位置偏差;判断单元,用于根据位置偏差判断角色的面部是否可以朝向视点;调整单元,用于在判断单元输出为是时,则先根据眼部骨骼的位置信息和位置偏差将角色的眼睛调整至注视视点,再根据头部骨骼的位置信息和位置偏差逐帧更新头部骨骼的位置信息直至角色面向视点。
[0018]进一步地,判断单元包括:第一确定子单元,用于确定位置偏差在世界坐标系中的三维坐标值,其中,角色当前面朝X轴的正方向,角色的左手边为y轴正方向以及地平面的法线方向为z轴的正方向;判断子单元,用于分别判断三维坐标值是否位于预先设定的角色的头部转动范围内。
[0019]进一步地,调整单元包括:第二确定子单元,用于通过眼部骨骼的位置信息和位置偏差确定眼睛待转动的方向;生成子单元,用于采用位置偏差和眼睛待转动的方向生成旋转矩阵;第一调整子单元,用于根据眼部骨骼的位置信息与旋转矩阵的计算结果将眼睛调整至注视视点。
[0020]进一步地,调整单元包括:第一转换子单元,用于将与当前面部朝向信息对应的初始头部骨骼矩阵转换为初始四元数;第二转换子单元,用于将与角色面向视点对应的目标头部骨骼矩阵转换为目标四元数;计算子单元,用于在从初始四元数变换为目标四元数的过程中,按照预设的旋转时间逐帧计算每帧所分别对应的插值;第二调整子单元,用于按照计算得到的每帧所分别对应的插值依次确定在经过每帧更新后头部骨骼所在的位置,直至角色面向视点。
[0021]在本发明实施例中,采用获取视点所在的位置信息以及角色在视点的视角范围内的当前面部朝向信息的方式,通过按照视点的位置信息对当前面部朝向信息进行调整,达到了角色面向视点的目的,从而实现了游戏/动漫中的角色在进行三维动画演示时能够会面对视角(例如:摄像机),提升用户体验的技术效果,进而解决了相关技术在三维动画的演示过程中,无法准确设定游戏角色的面部能够朝向特定的观测位置的技术问题。
【附图说明】
[0022]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0023]图1是根据本发明实施例的角色面部朝向的调整方法;
[0024]图2是根据本发明实施例的判断头部是否能够转向视角的流程图;
[0025]图3是根据本发明优选实施例的角色头部从初始位置旋转至目标位置的二维空间示意图;
[0026]图4是根据本发明实施例的角色面部朝向的调整装置的结
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1