您现在的位置: 万盛学电脑网 >> 软件知识 >> 图文处理 >> MAYA教程 >> 正文

Maya—FBIK系统研究和使用方法介绍

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   FBIK——FullBodyIK:全身反向动力学系统,是maya7.0后新加入的骨骼系统。虽然它是motionBuilder骨骼系统的精简版,但功能依旧强大。新版本的Maya除了改进FBIK和Maya动画模块的结合,在外观上也有了一些变化(骨骼效应器的标记由原先的线框变成了实体小球)。

Maya—FBIK系统研究和使用方法介绍  三联
Maya—FBIK系统研究 脚本之家 MAYA动画教程

  FBIK系统可快速的完成二足和四足骨架的绑定,且操作方便灵活。要使用FBIK系统,首先要了解它的几个特点:

  1.FBIK是通过核对层级或骨骼名称进行解算器生成的。

  2.骨骼的初始Pose应尽量是T造型(手臂骨骼应是平行于地面),朝向必须是Z轴正向,脚掌骨骼应和地面形成夹角而不是平放,膝盖间关节角度应小于180度。当然,四足角色的手臂骨骼和腿部是一样的。具体可参考Visor中的范例。

Maya—FBIK系统研究 脚本之家 MAYA动画教程

  3.新的Maya版本中,为了规范骨骼层级的名称,已经去掉了传统层级的命名,直接采用FBIK的命名方式。而层级名称中,有两个比较特殊: LabelArm和LabelLeg。使用这两个名称,将会自动将所选骨骼的子级按顺序自动命名。例如对肩膀骨骼执行LabelArm,就会出现Shoulder,Elbow,Hand……直到最后一个子骨骼。

  4.可以对FK骨架和反应器设置动画关键帧,但不应对原骨架设置。

  5.FBIK系统中,IK和FK模式在于交互预览时区别不大,使用它们的不同在于动画关键帧之间的解算效果:IK是以直线计算效应器间的路线,而FK则是弧线。

  6.FBIK系统中一个重要的功能就是Pin(固定)。Pin不是约束,你所看到的效果只是交互的过程,必须对反应器设置动画关键帧才能看到真正的动画效果。

  7.FBIK效应器由于内置复杂连接,初始位置常常非零,在动画数值上的操作会比较棘手;在使用过程中,效应器偶尔会出现无法通过撤销操作而返回原位的情况,因此需要使用GoToStancePose功能。8.fbik效应器可增加多个辅助效应器和辅助轴心,实现灵活的关节控制。

  【fbik的创建基础】

maya—fbik系统研究 脚本之家 maya动画教程

  创建fbik系统,首先角色的关节或关节层级必须使用规范的命名。

  fbik有四种关节:basejoints(基本关节),rolljoint(旋转关节),auxiliaryjoints(辅助关节),accessory and additional joints(附加关节)。基本关节是角色骨架中的主要关节,严格对应fbik的规定名称,如臀部,脊椎,头部,膝盖,脚踝,肩膀,手肘,手腕;

  旋转关节主要用于辅助创建真实的关节扭曲运动,如肩膀和手肘之间的关节,手肘和手腕之间的关节,臀部和膝盖之间的关节,膝盖和脚踝之间的关节;辅助关节用于制作细小的关节分支效果,如脖子,肩膀领口处,手掌,手指,脚掌,脚趾;附加关节并不包含于fbik系统中,它们仅用于额外的运动,如辫子,尾巴用的关节链。基本关节是必须的,其他的关节可根据需要进行选择。

  jointlabels(关节层级)并不是场景物体的名称,而是一个标签分类,用于识别效应器应当控制的关节效果;jointnames(关节名称)则是关节物体的实际名称。

maya—fbik系统研究 脚本之家 maya动画教程

  "关节层级"和"关节名称"实际上并没有太大的联系,它们是在增加fbik effector(fbik效应器)时可选的识别方法:bylabel或者byname。"关节层级"在使用上较为简单方便,但无法使用更复杂的辅助关节,如"旋转关节"和部分"辅助关节";"关节名称"即可使用特定的fbik效应器,同时在蒙皮权重绘制时易于识别所选关节。不过通过bylabel的方式,建立basejoints(基本关节)加auxiliaryjoints(辅助关节)的组合足以应付多数情况。

  以下图表是规范的关节层级和关节名称,以及系统识别它们后所生成的效应器名称。

maya—fbik系统研究 脚本之家 maya动画教程
maya—fbik系统研究 脚本之家 maya动画教程
maya—fbik系统研究 脚本之家 maya动画教程

  #表示数字,如1,2,3,4……

  此外,如collar(领口),chest(胸部),wrist(手腕),ankle(踝关节)等此类非标准名称,fbik不会对其进行识别,也就是不会增加相应的效应器来控制这些骨骼。

  接着上文

  相对于传统的骨骼绑定,fbik对于骨骼关节的朝向细节并没有严格的要求,因为它是通过特殊的fbik解算器来计算结果的,就像内核布料系统的内核节点一样。fbik系统是基于命名创建的,这里我选择较为实用的label方式进行。

  1.创建角色骨架。在正交视图中创建符合角色动画需要的骨架,可以有两个选择:手动绘制或者从visor库中将fbik范例的骨架拖入场景后删除附带的fbik解算器。

maya—fbik系统研究 脚本之家 maya动画教程

  2.显示关节标签。在此更正上篇内容中的小错误:jointlabel直译是"关节标签"的意思,不过为了更好的理解名称的结构,因此我习惯称它为关节层级,于是就忽略了它的字面意思。

  显示关节标签有两种方法:displyanimationjointlabels;skeletonjointlabeling。不过 disply的功能只相当于jointlabeling菜单下的toggleselectedlabels,需要先选择关节。我直接执行 showalllabels显示所有关节标签。

maya—fbik系统研究 脚本之家 maya动画教程

  3.添加关节标签。如果是手动创建的骨架,关节标签会显示为none,也就是没有;如果是fbik范例,关节名称和关节标签都已经具备。

  (1)将addjointlabels菜单拖拽至一边,先选择骨架z轴正向的右边关节,添加labelright;

maya—fbik系统研究 脚本之家 maya动画教程

  (2)选择手臂(腿部)的主关节,添加labelarm(labelleg),系统将会自动赋予每个子关节一个标签;

maya—fbik系统研究 脚本之家 maya动画教程

  (3)如果不是按范例骨架那样的关节层级,出错的标签就需要手动添加,手臂和腿部的结构应该是(从高到低):collar(领口)-shoulder(肩膀)-elbow(手肘)-hand(手腕)-finger(手指);hip(臀部)-knee(膝盖)-foot(脚踝)-toe(脚趾)。

  *labelfingerbase和labeltoebase比较特殊,可以理解为手掌和脚掌部位,五指(趾)的根部,在添加这两个标签时是不会显示后缀base的。

maya—fbik系统研究 脚本之家 maya动画教程

  (4)脊椎的层级关系是:root(根部:盆骨)-spine(腰部脊椎)-spine(胸部脊椎)-none(胸腔)-neck(颈部)-head(头部)。

maya—fbik系统研究 脚本之家 maya动画教程

  (5)为了在bindskin(蒙皮)后绘制权重时对关节的识别,此时可对右边的关节进行命名,格式可参考列表。当然,你也可以跳过这一步,只要你觉得后期操作没太大影响。

maya—fbik系统研究 脚本之家 maya动画教程

  4.镜像关节。此时右边的关节已经包含了关节标签,为了省事,不用对左边的关节添加标签;如果创建了完整的骨架,此时应删除左边的手臂和腿部关节,选择右边关节,执行skeletonmirrorjoint(镜像关节)。

maya—fbik系统研究 脚本之家 maya动画教程