文档详情

线性IK高级旋转属性

枫**
实名认证
店铺
DOCX
678.86KB
约13页
文档ID:417256671
线性IK高级旋转属性_第1页
1/13

splineIKAdvancedTwistcontrols 设置详解在做角色绑定的时候我们通常会用spline IK的高级旋转设置来模拟角色肩部和臀部的Twist,有时候还用这个高级旋转设置来模拟角色手臂的twist而且效果非常好,控制很方便, 但里面的参数设置往往让初学的朋友迷惑,我以前也迷惑过,好在请教老师弄明白了其中的 原理,也就不迷惑了,下面来详细介绍搭建方法,希望可以帮助到岗接触这方面知识的朋友 选择joint tool在side视图下用XYZ方式创建骨骼链,如下图:为了使骨骼轴向统一,选择orient joint把最后一节骨骼oriention改为none,然后选择IK spline handle tool为骨骼链创建线性IK本节教程主要讲线性IK的高级扭曲,参数我们就不调 整了)Tips:当场景物体过多不好选择骨骼创建spline IK的时候可以按住Ctrl键,在outliner里点 选骨骼创建如下图□ 日 日 日 日BDisplB^ 5how Pnri亡Is邃 persp叠如fro nt:潑 5ide监丫问门口joints£) 1——7 joints& I—-y joint4£g I—joints£g I_ joints直, I―° joint?暮 I——o effectorikHandlel ojrve 丄deft ultLightSet defButObjectSet然后在骨骼链的开始端和结束端分别创建两个骨点,为了方便讲解和利于大家观察我先把他们吸附在离目标一个单位的网格上,如下图。

这两个骨点以后是要对spline IK的曲线进行蒙皮的,到时候再移回去即可Display Show Panels□□□□□□persp 豫top 费 Front 舊 sidejoiritl AH joint2I— joint3I——-p joint斗I― joint 5I__joints l—o jaint7I_° 已ffectoikHandlel(v cu^el③ deftutLightSet◎ d era u ItO bj ectSet很好,然后进透视图打开骨骼的轴向显示看看然后选择 IK handle1, ctrl+A 进入 attribute editor ,选择 IK solver attributes --- AdvancedTwist controls,勾选Enable Twist controls,这时会发现骨骼链的轴向变乱了,ikHandlel ikSplineS&lver \ikHandle: .ikHandlel:孙 Root On CurveRLoot Twist F^lodet- Advanced Twist ControlsWorld Up TypeScene Up二Lip AxisPositive Y 〒Up vector^00Up VecLof 2World up ObjectWorld Up Obrject 2Twist Value TypeTotal p2la「t)tndTrt/ist Remp w* En 日bl亡 Iwist ControlsTwist FLarnp Multiplier 90.000卜 IK Spring Soker Attributes卜 Ph/otg► Limit InformationNotes: ikHandEel这很正常,因为系统默认的约束轴向设置与我们需要的不相符,需要进一步设置。

面来介绍下各个参数的意义:World up type :这个是设置 spline IK 的跟随方式UP axis :这个在 animator friendly rigging 里的定义是在控制器上的轴向,下面会着重讲解Up vector :骨骼链开始方向的轴向用 World up object 的轴向来约束 UP axis)Up vector2 :骨骼链结束的方向的轴向用 World up object1 的轴向来约束 UP axis)World up object :控制骨骼链开始端的控制器World up object2 :控制骨骼链结束端的控制器好,下面来重点讲讲UP axis,这里借用animator friendly rigging里的几幅图,我觉得很能说明问题看下图5Athis isnot up!UP轴向不是骨骼的朝向,而是要与骨骼朝向有一定角度的,而且他们的轴向要一致,就像 下图这样AAAaim alongup axis用绿色标示的轴向就是 UP axis>>aim alongup axis>由此可知我们用XYZ方式创建的骨骼链UP轴向只可能是排除X和-X的所有轴向了,即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 vector : -10 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之间的关系 我们把Enable Twist controls选项先关掉。

如下图匚aikHandlel i iksplineSQlver■/ Root On Curve'Root Twist Mode卜 j IK Spring Sotver Attributes卜 Pivots卜 Limit InformationNot^s: ikHandEelIkHandle: ^ikHandlelWarld Up TypeLip AxisUp VectcrUp 'v'ecbjrWorld Up Object |joint8World Up Object 2 joint9[ |Twist Value TypeStartyEhdTwiGt h.aoo0.000Twist FLamp Multiplier 90.000Twist RsrnpPO5I0VE Y|0.Q00|0.u0Q'E nable Twist Conti'olst Advanced Twist Controls应为我们刚才是把骨骼链的正Y轴设为了 UP,所以下面的UP vector我们设置的是控制器 的-X轴,因为控制骨骼的-X轴正好与骨骼连的正Y轴一致,用它来控制骨骼链的正Y轴 即 UP axis 而使骨骼都不会出现翻转。

这里值得注意的是不要认为控制骨骼的轴向就是世 界坐标轴,虽然这个例子很巧合地与世界坐标一致了,但控制骨骼的轴向一定要写它的自身 轴向)说以说在这个例子中的参数设置有 4种情况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。

下载提示
相似文档
正为您匹配相似的精品文档