《线性ik高级旋转属性》由会员分享,可在线阅读,更多相关《线性ik高级旋转属性(12页珍藏版)》请在金锄头文库上搜索。
1、spline IK Advanced Twist controls 设置详解在做角色绑定的时候我们通常会用 spline IK 的高级旋转设置来模拟角色肩部和臀部的Twist,有时候还用这个高级旋转设置来模拟角色手臂的 twist 而且效果非常好,控制很方便,但里面的参数设置往往让初学的朋友迷惑,我以前也迷惑过,好在请教老师弄明白了其中的原理,也就不迷惑了,下面来详细介绍搭建方法,希望可以帮助到岗接触这方面知识的朋友。选择 joint tool 在 side 视图下用 XYZ 方式创建骨骼链,如下图:为了使骨骼轴向统一,选择 orient joint 把最后一节骨骼 oriention 改为
2、none,然后选择 IK spline handle tool 为骨骼链创建线性 IK。(本节教程主要讲线性 IK 的高级扭曲,参数我们就不调整了)Tips:当场景物体过多不好选择骨骼创建 spline IK 的时候可以按住 ctrl 键,在outliner 里点选骨骼创建。如下图 然后在骨骼链的开始端和结束端分别创建两个骨点,为了方便讲解和利于大家观察我先把他们吸附在离目标一个单位的网格上,如下图。(这两个骨点以后是要对 spline IK 的曲线进行蒙皮的,到时候再移回去即可。)很好,然后进透视图打开骨骼的轴向显示看看然后选择 IK handle1, ctrl+A 进入 attribute
3、 editor ,选择 IK solver attributes - Advanced Twist controls ,勾选 Enable Twist controls,这时会发现骨骼链的轴向变乱了,这很正常,因为系统默认的约束轴向设置与我们需要的不相符,需要进一步设置。下面来介绍下各个参数的意义:World up type :这个是设置 spline IK 的跟随方式UP axis :这个在 animator friendly rigging 里的定义是在控制器上的轴向,下面会着重讲解。Up vector :骨骼链开始方向的轴向。(用 World up object 的轴向来约束 UP ax
4、is)Up vector2 :骨骼链结束的方向的轴向。(用 World up object1 的轴向来约束 UP axis)World up object :控制骨骼链开始端的控制器。World up object2:控制骨骼链结束端的控制器。好,下面来重点讲讲 UP axis,这里借用 animator friendly rigging 里的几幅图,我觉得很能说明问题。看下图UP 轴向不是骨骼的朝向,而是要与骨骼朝向有一定角度的,而且他们的轴向要一致,就像下图这样用绿色标示的轴向就是 UP axis由此可知我们用 XYZ 方式创建的骨骼链 UP 轴向只可能是排除 X 和 X 的所有轴向了,即
5、Y , Y ,Z , -Z ,所以你每次设置 UP axis 的时候是没有 X 和 X 轴的选项的。相信看到这你已经明白这里面的奥妙了吧,UP 轴向我们可以有 4 种选择,下面开始设置World up type :object rotation up (start/end) (这个选物体旋转向上)UP axis :positive Y 【还记得轴向没变乱之前骨骼链的轴向吗,我选的是没变乱之前的positive Y 方向做 UP(Y , Y ,Z , -Z 你可以随便选任意一个,接近轴向我们暂时不考虑,当然根据 UP 轴向选择的不同,下面的 Up vector 的轴向设置也就不同)】Up vec
6、tor : -1 0 0 (这个选项就是让你用 World up object 的哪个轴向来控制 UP axis。三组数分别代表 X 轴 Y 轴和 Z 轴,用正负 1 表示正负轴) Up vector2 :-1 0 0 (这个选项就是让你用 World up object2 的哪个轴向来控制UP axis)World up object :joint8 (这个就是控制 hip 部位的骨点)World up object2:joint9 (这个就是控制 shoulder 部位的骨点)OK 选择两个骨点 twist 测试下吧,没问题。为了进一步讲解 UP 轴向与 up vector 之间的关系 我
7、们把 Enable Twist controls 选项先关掉。如下图应为我们刚才是把骨骼链的正 Y 轴设为了 UP,所以下面的 UP vector 我们设置的是控制器的-X 轴,因为控制骨骼的-X 轴正好与骨骼连的正 Y 轴一致,用它来控制骨骼链的正 Y 轴即UP axis 而使骨骼都不会出现翻转。(这里值得注意的是不要认为控制骨骼的轴向就是世界坐标轴,虽然这个例子很巧合地与世界坐标一致了,但控制骨骼的轴向一定要写它的自身轴向)说以说在这个例子中的参数设置有 4 种情况1:UP axis :positive YUp vector :-1 0 0Up vector2:-1 0 02:UP axis :negative YUp vector :1 0 0Up vector2:1 0 03:UP axis :positive ZUp vector :0 0 1Up vector2:0 0 14:UP axis :negative ZUp vector :0 0 -1Up vector2:0 0 -1 接下来就可以把控制骨点移回 hip 和 shoulder 的位置对 spline IK 的曲线进行蒙皮,以及制作拉伸挤压效果,这里就不讲了,因为主要是讲 spline IK 的 Advanced Twist controls