每日视界绑定张守峰.docx

上传人:b****6 文档编号:5743430 上传时间:2022-12-31 格式:DOCX 页数:24 大小:5.35MB
下载 相关 举报
每日视界绑定张守峰.docx_第1页
第1页 / 共24页
每日视界绑定张守峰.docx_第2页
第2页 / 共24页
每日视界绑定张守峰.docx_第3页
第3页 / 共24页
每日视界绑定张守峰.docx_第4页
第4页 / 共24页
每日视界绑定张守峰.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

每日视界绑定张守峰.docx

《每日视界绑定张守峰.docx》由会员分享,可在线阅读,更多相关《每日视界绑定张守峰.docx(24页珍藏版)》请在冰豆网上搜索。

每日视界绑定张守峰.docx

每日视界绑定张守峰

角色绑定

角色绑定流程:

1:

分析问题:

了解角色演出的需要,想出可行的解决方案。

2:

优化方案:

使之加倍便利直观,完全适合动画师的操作适应。

3:

整理场景;绑定终止后,清理场景中多余的节点。

一:

绑定前的预备工作:

1:

先确信角色的主关节,如此有利于把握骨骼大的层级关系,使父子关系加倍明确。

图1-01中标出了角色:

肩、胯、肘、膝、颈、颌、踝、腕的位置。

图1-01角色关节点

2:

找一些相关的角色运动参考资料,认真研究每一个关节部位是如何运动的,极限动作有那些,如此在进行绑按时,作到心中有数,避免显现完成绑定,但无法知足角色某些动作的需求。

3:

计划一下骨骼间的层级关系。

一样的角色有4大关节链。

上肢、下肢、脊椎、颈部。

这些关节都拥有自己的父子关节层级,有自己的动作空间。

同时它们又都被连接于脊椎链上,受到脊椎骨的整体操纵,如此就形成了层级关系散布。

4:

一样在绑定中经常使用到的节点有:

乘除节点multiplyDivide,条件节点condition,加减节点plusMinusAverage混合节点blendColors等,它们在角色整体缩放和胳膊伸长的设置中起到关键作用。

5:

在骨骼设置完以后,需要对其添加操纵器,如图1-02所示。

它会使动画调解工作加倍直观和简便。

 

小提示:

自定义属性就是给控制器添加可控值,每一个可控值其实就是一个仿真的动作集合,比如:

在IKFK进行切换时,我们在控制器上添加自定义切换属性,这样方便进行IKFK切换。

这样在做动画时,我们就不用对每个关节进行繁琐的调节了。

 

图1-02骨骼操纵器的自概念属性

6:

计划一下角色的操纵器形状和每一个部位的用什么操纵器更好,如此能够专门好使动画师很容易的分辨出每一个操纵器起到的作用。

其实做操纵器是一件很成心思的事。

能够塑造出独具个性和标志性的图形,然后给它添加无数的角色行为组合。

图1-03

图1-03操纵器图标例如

7:

绑定中各个物体的命名方式,如此每一个物体的作用一目了然。

咱们经常使用的命名方式一样是:

角色名_方位_角色部位_功能。

例如咱们的角色名字为:

superman,那么他的左手IK骨骼命名为:

superman_left_arm_ik_Jnt。

他的模型的命名为MD_superman_Geo等。

8:

容易轻忽操纵器和骨骼的轴心。

在绑定中要专门要紧骨骼的旋转轴心,一样咱们用骨骼的默许设置(XYZ),操纵器的轴心是随着躯体不同的部位而转变的,要保证骨骼的旋转值均为零。

小结:

在绑定中,绑定前的预备工作是十分重要的一步,万事在做之前都要有计划一下,如此能够减少很多没必要要的失误,绑定工作最好也要如此做才好!

如此咱们就能够够是整个绑定进程标准化,有利于以后文件的修改。

二:

讲解胳膊IKFK切换和拉伸设置的绑定要点

1:

讲解胳膊IKFK切换的绑定要点:

咱们对角色bao的左胳膊进行绑定,对骨骼的绑定,咱们用了三套骨骼,别离为绑定骨骼,IK骨骼,FK骨骼。

1:

第一创建胳膊骨骼,命名别离为bao_left_clavicle_Jnt,bao_left_arm_Jnt,bao_left_elbow_Jnt,bao_left_hand_Jnt,bao_left_finger_Jnt。

一样咱们在创建胳膊骨骼时,咱们会在顶视图(Top)创建。

如图1-03

图1-03创建胳膊骨骼

2:

然后在复制IK和FK出两套骨骼,以后方便咱们做IKFK骨骼切换用。

Ik骨骼命名为:

bao_left_clavicle_ik_Jnt,bao_left_arm_ik_Jnt,bao_left_elbow_ik_Jnt,bao_left_hand_ik_Jnt,bao_left_finger_ik_Jnt。

Fk骨骼命名为:

bao_left_clavicle_fk_Jnt,bao_left_arm_fk_Jnt,bao_left_elbow_fk_Jnt,bao_left_hand_fk_Jnt,bao_left_finger_fk_Jnt。

3:

创建一个左手的IKFK切换操纵器为bao_left_hand_swtich_ctrl,然后添加切换属性为LeftHand_IK_FK_switch。

如图1-04

图1-03添加切换属性

 

3:

创建骨骼约束,使IK和FK骨骼链能够别离操纵绑定骨骼链,如此就能够够实现绑定骨骼跟从IKFK骨骼运动了。

依次选择cavlearmelbowhand的IK骨骼,FK骨骼,绑定骨骼,再选择Constrain--->parent约束,创建约束。

如图1-04

图1-04创建parent约束

4:

接下来要用切换属性操纵IK和FK骨骼之间的切换。

咱们用setDrivenkey来做切换属性和约束之间的连接驱动关系。

如图1-05_01,1-05_02为属性关联

图1-05_01切换属性为FK

图1-05_02约束属性别离为0和1

5:

在切换属性为FK的状态下,依次把绑定骨骼的parent约束属性别离设为0和1,使绑定骨骼完全跟从FK骨骼运动。

在切换属性为IK的状态下,依次把绑定骨骼的parent约束属性别离设为1和0,使绑定骨骼完全跟从IK骨骼运动。

如此咱们就实现了IK和FK骨骼的切换了。

6:

咱们创建IK骨骼的ikhandle。

选择skelekon-->IKHandleTool,再选择bao_left_arm_ik_jnt和bao_left_hand_ik_jnt,创建胳膊的IKHandle。

然后再别离创建手和极向量的操纵器。

完成后,再创建IK骨骼极向量。

选择Constrain--->polevector,创建极向量。

如图1-06

图1-06创建手和极向量的操纵器

小提示:

在建立控制器图标时,也要提前考虑到控制器之间的层级关系,把它们的外形加以区分,这样更利于动画师做动画调节。

 

7:

测试IKFK切换设置是不是正确。

咱们选择IKFK切换操纵器,把切换属性设为IK状态,移动手的操纵器,观看绑定骨骼是不是完全跟从IK骨骼一路移动。

再把切换属性设为FK状态,旋转FK骨骼,观看绑定骨骼是不是完全跟从FK骨骼一路旋转。

如图1-07_01,1-07_02

图1-07_01IK状态下测试

图1-07_02FK状态下测试

7:

创建FK骨骼的操纵器。

创建一个nurbsCircle。

咱们用一条MEL语句来创建FK骨骼的操纵器。

MEL语句:

parent-r-s操纵器形状节点FK骨骼;例如:

给bao_left_arm_fk_Jnt创建操纵器,咱们就能够够执行那个语句:

parent-r-snurbsCircleShape1bao_left_arm_fk_Jnt;创建操纵器。

其他FK骨骼操纵器用相同的方式来创建即可。

如图1-08

图1-08创建FK骨骼的操纵器

 

小结:

咱们能够用相同的方式做上肢和下肢的设置。

在做切换设置时,有很多方式能够实现IKFK切换,比如用MAYA节点连接骨骼也是一种专门好的方式。

总之要多多领会其中的方式和思路是最重要的,加上勤奋练习,实现IKFK切换就很容易了!

 

2:

讲解胳膊拉伸设置的绑定要点:

在拉伸设置中会用到大量的MAYA节点,要紧有乘除节点,加减节点,条件节点等,在绑定之前要熟悉这些节点的利用用法。

在做拉伸设置中咱们会骨骼的位移来进行缩放骨骼,平常咱们在做拉伸设置时,会用直接缩放骨骼来进行缩放骨骼。

直接缩放骨骼会造成模型变形的不合理性。

骨骼的缩放值=骨骼默许状态下的长度之总和/拉伸后骨骼的长度。

1:

创建角色大环,命名为bao_root_ctr,同时添加Global_scale属性。

如图1-09所示

图1-09创建角色大环

2:

在手的操纵器上添加拉伸属性为left_hand_strechy。

如图1-10所示

图1-10添加拉伸属性

3:

咱们要测量出每段骨骼的长度。

咱们用测量工具DistanceTool别离来测出bao_left_arm_ik_jnt骨骼到bao_left_elbow_ik_jnt的长度,距离节点为bao_left_arm_armtoelbow_distanceDimen。

bao_left_elbow_ik_jnt骨骼到bao_left_hand_ik_jnt的长度,距离节点为bao_left_arm_elbowtohand_distanceDimen。

bao_left_arm_ik_jnt骨骼到bao_left_hand_ik_jnt的长度,距离节点为bao_left_arm_armtohand_distanceDimen。

如图1-11所示

图1-11测量出每段骨骼的长度

3:

咱们创建一个加减节点命名为bao_left_arm_arm_plusMinusAverage,选择节点的operation为sum来求默许状态下的骨骼总长度。

如图1-12所示

如图1-12创建一个加减节点

4:

再连接bao_left_arm_armtoelbow_distanceDimen的distance与加减节点的input1D[0]。

咱们再用用mel创建bao_left_arm_elbowtohand_distanceDimensionShape与加减节点的连接。

Mel语句:

connectAtt-f

[1];

如图1-13所示

图1-13distanceDimension与加减节点的连接

5:

如此咱们取得了默许状态下的骨骼总长度即:

bao_left_arm_armtoelbow_distanceDimen和bao_left_arm_elbowtohand_distanceDimen。

其实还有最快的方式确实是用计算器直接计算取得。

咱们用拉伸状态下的长度bao_left_arm_armtohand_distanceDimen除以就能够够取得骨骼的缩放值。

创建一个乘除节点,命名为bao_left_arm_scale_multiplyDivide,设置operation为Divide。

连接拉伸状态下的长度到bao_left_arm_scale_multiplyDivide的Input1X,连接默许状态下的骨骼总长度到bao_left_arm_scale_multiplyDivide的Input2X。

图1-13_01,图1-13_02,图1-13_03所示

图1-13_01图1-13_02

 

图1-13_03

6:

咱们记录下乘除节点的input2X的数值:

,再打断加减节点与乘除节点的input2X的连接,同时设置乘除节点的input2X的数值为。

7:

咱们要进行角色整体缩放,它的缩放计算方式为:

用bao_left_arm_scale_multiplyDivide的输出值除以角色大环的缩放属性。

创建一个乘除节点,命名为bao_left_arm_globalscale_multiplyDivide,设置operation为Divide。

连接bao_left_arm_scale_multiplyDivide的输出值到bao_left_arm_globalscale_multiplyDivide的Input1X,连接角色大环的缩放属性到bao_left_arm_globalscale_multiplyDivide的Input2X。

图1-14_01图1-14_02所示

图1-14_01连接bao_left_arm_scale_multiplyDivide的输出值到bao_left_arm_globalscale_multiplyDivide的Input1X

图1-14_01连接角色大环的缩放属性到bao_left_arm_globalscale_multiplyDivide的Input2X

图1-14_03连接关系图

8:

当胳膊在弯曲的状态下,骨骼的缩放值为1。

当胳膊在拉伸的状态下,骨骼的缩放值会大于1的。

如此的话咱们必需用条件节点来判定骨骼的缩放值何时大于1。

若是处于拉伸状态,条件节点的输出值就大于1,若是处于弯曲状态,条件节点的输出值就小于等于1。

创建一个条件节点,命名为bao_left_arm_condition,设置operation为GreateorEqural,设置SecondTerm为1。

连接bao_left_arm_globalscale_multiplyDivide的outputX到bao_left_arm_condition的firstTerm。

连接bao_left_arm_globalscale_multiplyDivide的outputX到bao_left_arm_condition的colorIfTrueR。

如图1-15_01,如图1-15_02,如图1-15_03所示

 

图1-15_01条件节点设置图1-15_02条件节点连接

9:

此刻咱们要用操纵器的拉伸属性操纵胳膊是不是处于的拉伸状态。

创建一个乘除节点,命名为bao_left_arm_strecthy_multiplyDivide,设置operation为Multiply。

连接bao_left_arm_condition的OutputX到bao_left_arm_strecthy_multiplyDivide的Input1X,连接的left_hand_strechy到bao_left_arm_strecthy_multiplyDivide的Input2X。

如图1-16_01,如图1-16_02所示

图1-16_01与条件节点连接设置

图1-16_02与拉伸属性连接设置

图1-16_03拉伸属性连接关系图

10:

咱们要设置操纵器的拉伸属性操纵胳膊拉伸长度的大小。

这时要用到Clamp节点,它主若是输出设置范围大小。

创建一个Clamp节点,命名为bao_left_arm_clamp,设置clamp节点的minR为1,MaxR为10。

连接bao_left_arm_strecthy_multiplyDivide的OutputX到bao_left_arm_clamp的inputR。

如图1-17_01,如图1-17_02所示

图1-17_01

图1-17_02

11:

最后咱们要把最终的缩放值输出到骨骼上,在这咱们用到了骨骼的位置来缩放。

第一咱们要取得默许骨骼的位移值大小,再乘以骨骼的缩放值,就能够够取得骨骼的最终的位移值了。

即:

骨骼的最终的trasnlateX值=默许骨骼的trasnlateX值*骨骼的缩放值;创建一个乘除节点,命名为bao_left_elbow_multiplyDivide,设置operation为multiply。

连接bao_left_arm_clamp的outputR到bao_left_elbow_multiplyDivide的input2X,设置bao_left_elbow_multiplyDivide的input1X值的大小为bao_left_elbow_ik_jnt骨骼trasnlateX的值的大小。

如图1-18_01,如图1-18_02所示

图1-18_01

图1-18_02

12:

最后咱们再把bao_left_elbow_multiplyDivide的outputX连接到bao_left_elbow_ik_jnt的translateX上即可。

如图1-19所示

图1-19连接关系图

13:

用同步骤11和12的方式连接bao_left_hand_ik_jnt的translateX。

最后,咱们把从胳膊得手的测量工具的在手结尾的Locator父化得手的操纵器上。

14:

胳膊的IKFK切换和拉伸设置就完成了。

咱们看一下节点连接关系图,大伙儿就能够明白得它们之间的复杂的连接关系。

如图1-20所示

图1-20最终的节点连接关系图

15:

下一步咱们就测试一下了!

如图1-21_01图1-21_02所示

图1-21_01拉伸属性为1

图1-21_02拉伸属性为0

小结:

骨骼的拉伸设置在绑定中占有重要的位置,也是绑定中最具有技术含量的一部份,它设置的好坏也关系到整个绑定的好与坏!

因此必然要好好把握它的设置方式。

三:

讲解脊柱设置的绑定要点

在脊柱设置的中会用到骨骼拉伸和整体缩放设置,专门在做卡通设置时,脊柱的拉伸就专门重要了。

同时在脊柱设置的中也会用到FK的操纵方式,如此更方便动画师做动画了。

在人物绑定设置中,脊柱设置也是最重要,最难的一部份。

它用到的拉伸设置方式和胳膊拉伸设置方式完全一样。

在脊柱的设置中,有三个部位专门重要,一个是肩部,一个是腰部,一个是胯部。

只要咱们专门好的解决好这三个部位的设置,脊柱的设置就再也不是一个难题了。

脊柱设置的思路:

咱们会用簇去操纵IKSpinehandle曲线,来操纵骨骼的弯曲和拉伸。

为了更好的操纵簇,咱们用到了几个空组别离去约束簇,如此能达到更好的操纵簇的目的,从而更好的使脊柱弯曲加倍滑腻。

讲解脊柱FK设置方式:

1:

咱们在正视图创建脊柱骨骼,大约需要6~8段就能够够了。

如图1-22所示

图1-22创建脊柱骨骼

2:

创建一条曲线bao_back_curve作为IKSpinehandle曲线如图1-23所示

图1-23创建脊柱参考曲线

3:

选择脊柱的结尾骨骼在选择顶端骨骼,按住Shift键,再点选曲线bao_back_curve,创建IKSpinehandle,设置如图1-24所示

图1-24IKSpinehandle设置

4:

在曲线bao_back_curve上依次选择点,创建簇Cluster。

如图1-25所示

图1-25创建簇

 

5:

咱们在没个簇的位置各创建一个空组,为了约束相邻的簇。

如图1-26所示

图1-26所示创建空组

6:

别离用空组去Parent约束相邻的簇,然后再用中间几个空组别离再去约束相邻上下两个簇,如此移动一个空组就能够够形成滑腻的曲线了。

约束如图1-27所示

图1-27别离用空组去Parent约束相邻的簇

7:

创建四个脊柱操纵器,再把各个空组父化给相应的操纵器,如图1-28所示

图1-28所示

8:

测试一下脊柱的FK设置是不是符合动作的要求!

讲解脊柱拉伸设置方式:

解脊柱拉伸设置相对胳膊的拉伸设置要简单很多,可是节点连接也超级复杂。

它的骨骼缩放值等于骨骼拉伸状态下的长度除以骨骼默许状态下的长度。

1:

咱们要求出骨骼默许状态下的长度值,这时咱们用到了一个MEL命令:

arclen它是求曲线长度的一个命令。

在MEL通道栏里输入:

arclen-chonbao_back_curve;

咱们能够取得曲线bao_back_curve的长度值了。

如图1-29所示

2:

创建一个乘除节点,命名为bao_back_scale_multiplyDivide,设置operation为Divide。

连接到乘除节点bao_back_scale_multiplyDivide的input2X,设置bao_back_scale_multiplyDivide的input1X为曲线bao_back_curve的长度值;如图1-30所示

图1-30脊柱骨骼缩放节点连接

 

3:

咱们要考虑到绑定的整体缩放,因此要连接大环的整体缩放属性到脊柱缩放连接节点中。

创建一个乘除节点,命名为bao_back_globalscale_multiplyDivide,设置operation为Divide。

连接角色大环的整体缩放属性global_scale到乘除节点bao_back_globalscale_multiplyDivide的input1X,连接bao_back_scale_multiplyDivide的outputX到乘除节点bao_back_globalscale_multiplyDivide的input2X。

如图1-31所示

图1-31整体缩放节点连接关系图

4:

最后把取得的缩放值连接到所有脊柱骨骼的scaleX上。

如图1-32所示

图1-32所示缩放值连接到所有脊柱骨骼的scaleX

5:

最后咱们移动操纵器测试一下设置是不是正确?

有时候可能由于一时疏忽把节点连接错了。

小结:

绑定是个细致,严谨的工作,每一个步骤都环环相扣,若是没有清楚的思路就会愈来愈乱,最后确实是一个失败的绑定。

 

三:

整理绑定,使它们有条有理。

一个绑定大体的设置完成时,咱们就要依照物体的类型和功能等等进行整理。

例如,把骨骼统一放在一个大组之下,在大组之下,又把骨骼依照不同的分类又再统一分类,如此就形成了很明确的层级关系和约束关系。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1