主题:   另类骨骼拉伸教程

游戏梦工厂

职务:普通成员
等级:1
金币:0.0
发贴:22
#12009/9/26 14:29:28
另类骨骼拉伸教程在以往的绑定教学课中,学生很热衷于研究一些新奇的技术,特别是在骨骼拉伸环节。由于课件上所写的很难懂,加上需要一些编程或者节点的知识,让学生学起来很苦恼,但又很喜欢去炫耀新的骨骼拉伸技术。其实在网上可以找到很多拉伸的方法,什么测量距离写表达式法,节点条件判断乘除法等等。但真要说项目当中用到的拉伸其实不多,而且可控性很差。最近在网上找到一个Animation Mentor的御用角色,发现其绑定系统简单方便,就足以做出很绚丽的动画。我在仔细研究其骨骼拉伸的命令时,发现这个方法并非是我们常见,而且难懂的测量距离法,或者节点判断法,而是一种非常简单易懂的方法。而且我发现这个方法可控性很强,而且很实用。虽然技术不是那么先进那么炫。下面我们就来讨论一下这种简单实用的拉伸方法:upload=jpg]uploadFiles/2009-10/YC89AWBMK3NG.jpg[/upload] 当我们拉动IK脚时,发现腿没有拉伸。如果我们想让腿拉伸,只需要简单的调节Stretch参数,而且可以随意控制拉伸的长度,并且调节Bias参数来控制大腿和小腿的比例,如图::[
图片如下:
的确,这种骨骼拉伸方法更实用,更易调节。那是不是这种绑定方法很复杂呢?其实不然,简单的一塌糊涂,比起那些什么测量啊,条件判断节点啊,乘除节点啊,简单多了。理清了思路,我们拿最简单的IK骨骼来做,如图建立好骨骼以及IK handle和控制器。
图片如下:
把控制器拉远一点,发现骨骼没拉伸,如图:
图片如下:
这时候,我们只需要简单的缩放骨骼的scale X就可以缩放了,而且2跟骨骼的缩放不同可以做出特定的比例,如图:
图片如下:
我们为了方便控制骨骼的缩放,在控制器上建立2个参数,
图片如下:
一个是Stretch,一个是Bias,(参数数值类型为浮点,并且将Bias的初始数值定义为0.5,数值区间为0~1,stretch的初始值为1,数值区间为0到正无穷)分别控制骨骼的缩放和偏移。控制方式用表达式控制法,分别对2根骨骼分别写表达式:
图片如下:
骨骼1.scaleX = 控制器.stretch * 2 * 控制器.bias;骨骼2.scaleX = 控制器.stretch * 2 * (1-控制器.bias);注:Bias参数是来控制2根骨骼的长短比例,而stretch是来控制2根骨骼的总长度。这样,骨骼拉伸就完了,多么简单啊,而且可控性也很好。在MAYA骨骼绑定中,有很多高级技术,当然有些是华而不实的,几乎不用到的,仅仅是绑定爱好者展示研究成果而已,当然,在一个项目制作中,简单高效的绑定不仅加快制作效率,而且更稳定.

编辑历史:游戏梦工厂 在 2009-10-31 16:41:33 编辑过