Maya制作鸟类翅膀骨骼设置及动画
作者:iiimaya 发布时间:2013-07-16
在这个教程中,我们可以做一个翅膀模型来进行教程的学习,实例中的模型用了1600个nubs plane做成的,如果你先太麻烦的话,可以用简单的几个平面模型来替代,还有纹理贴图也可用其他的贴图纹理取代。 1.
2.
3.
4.
首先翅膀的羽毛都是有nubs plane组成,因为羽毛有不同的纹理表现,羽毛有展开和收缩得动画,而且彼此独立,所以用简单的nubs plane比较好。上面看到的四个图是分别用了四个层来处理,而且分别群组,让他们各自独立。
上面四个图分别是翅膀外面的羽毛部分,中间部分,里面部分和最里边的羽毛部分,最里边的羽毛要混和翅膀到鸟的身体上。这几个部分再放置的时候要小心避免交叉,因为鸟的翅膀要伸展和收缩。
下面我们看到的贴图纹理是ps公司从农家和资料库中搜集扫描的羽毛的纹理图片和他们的阿尔法通道图,这些羽毛纹理看上去都有一些弯曲和弹性,这样材具有自然的真实性。
上面我们看到的是渲染好的翅膀羽毛图,上面纹理四层,每层纹理相同而有各自独立。每一层的纹理具有一个稍稍弯曲的角度,需要我们在每一个羽毛的the pivot 的x轴上适当的旋转,建立一个比较自然真实的形态就像上面图上所看到的那样。
翅膀的羽毛都是一絮一絮的,最里边的羽毛有些模糊,是因为它要合并在鸟的arm上,而且要建一个单独的骨骼来控制它。
下面来做翅膀的骨骼 总共15个骨骼 分为三个组包括:前面 中间部分和里面部分。在这里,需要一个骨骼来单独负责翅膀侧部的羽毛部分。当the elbow 和shoulder 拖动翅膀的时候 展开和收缩身体。
上面的那个图是翅膀展开之后的三个展开而又分别分离的骨骼群组,最外面的支持翅膀比较大的外展形态。他们在翅膀飞行和静止是的状态还要受鸟的关节的动作控制和影响,因此再调整关节的动作是要小心。其次,当静态的羽毛需要各自独立以适应轴关节并且很好的为翅膀的张开和收缩。(蓝色的圆圈)
红色的圆圈住的骨骼更多的表现鸟的肩部的自然拍打的动作,臂部肌肉arm surface 它也跟随着几个骨骼运动并且和身体blend融合在一起。(再这个教程中你可以忽视the wrist and the fingers之间的关节)
下面这附图显示的是自然展开的翅膀的骨骼形态,注意他们的羽毛跟其它的羽毛层展开的时候不要相互交叉。这里用了a 'semi-root' sholder joint 给翅膀的自然循环动画,an 'arm' 部分允许它的边沿生长羽毛并用它扩展脚趾和爪。这附图也显示the 'wing-attached' (最左边的羽毛)部分没有被设置飞行时的动画骨骼,他们是直的没有限制到骨骼,所以在飞行时它不会跟随翅膀一起动画。
为了能够产生一个很自然的翅膀飞行动画,我们在 一个null 上自定义属性custom attributes 作为个体控制中心来控制整个鸟的动作。下面这张图先是的是null group群组 Caudeopteryx_CONTROLLER的编辑属性,在第二个Right_wing_ELBOW) extra attribute 上它的值设为-45 to 45默认值为0,右击这些属性可以load the attribute 作为a driver in the set driven key configuration 。
将15个骨骼和第二节上提到的羽毛选择loaded as the driven 基础,controller ELBOW attribute 为0在默认的位置设置关键帧,旋转所有的关节在他们所能支持最大和最小的值上来张开和收缩翅膀并且set driven keys。注意所有羽毛的移动尽量跟现实中的动作接近。
下面的graph editor 编辑图表现是15个骨骼中有三个骨骼,他们as the driver and the drivern在x,y,轴上关键帧之间是直线,我们能在图表中编辑ELBOW driver 适当的进行动画。虽然这些属性可做 driven be drivers or be driven by other drivers,但是我们不能在这里设置有规律的动画 ,只能调节一些我们需要的一些属性。(暂时还没有找到比较好的方法),因它此只能找其的鸟的动画来匹配我们想要的动作。
下面我看到在通道属性中null controller 的the ELBOW attribute 。值为41时有比较大的旋转,在橙色的骨骼展开时能够看到驱动the shoulder and elbow joints,收缩臂和拖拉向身体,The hands 没有到达适当的位置,这是受到了到达ELBOW driver 影响,The hands 向后移动的时候跟翅膀的边沿折叠在一起了。
有趣的是,翅膀停留的位置直直的向后没有随着身体而弯曲,我们要用到不同物体上的三个面,简单的翅膀,在the two in post之间编辑,没有在in the Horizon programme上。
上面的视图翅膀的羽毛没有展开,里边的群组的羽毛没有混合到身体上。这个图想也显示另外一个编辑属性Tail_fan 类似的参数设置来操纵尾巴羽毛!
完成一个基本的翅膀循环动作,首先肩关节shoulder joint旋转到最大和最小的参数值设置driven keys 建立另外一个custom attribute (WING_CYCLE). 下面第二副图显示编辑图标调整切线使翅膀拍打的动作更自然一些!
第二副图
鸟的轴关节仅仅在一个平面上移动,所以完成一个翅膀的循环动作需要一个变形控制。在翅膀上设置一个简单的雕刻变形,而且将他们父级到shoulder joint 肩关节上,以维持一个不变的位置到羽毛上。在羽毛上小心的放置当前的变形设置,防止羽毛穿透其它的东西,维持正确的方向,设置最小限度上的minimal diplacement values 的值,keyed at 0 through to 0.8 under the WING_CYCLE driver of my central control null。
顶上的变形没有施加影响但是底部的雕刻球延伸maximum displacement setting,在曲线上的set driven keys 反复的调整直到下凹和上凸部分到合适的效果。
雕刻变形作为一个基本的出发点,下面我们用两条线变形通过翅膀的每个面,这样能够更好控制翅膀的变形动画。我们需要反复的实验以确保每层羽毛都在各自正确的位置上,还应该保持它们最初的形态跟随着曲线而变形从鸟的身体到翅膀外部的伸展。当翅膀旋转到0度的时间他们没有任何的效果。
在反向雕刻上,cv点的移动位置动画显然要比直接变形效果显著。在翅膀循环动画的时候进行复杂的变形效果必须设置比较多的关键帧,翅膀变形的动作要通过调整曲线上的每个点的位置变化而实现。另外,要小心羽毛的各层不要交叉。
用线进行雕刻变形能取得比较好的效果,翅膀的动画从一个好的点出发,能有现实的飞行动画,另外我们需要调整一个翅膀飞行时展开羽毛的循环状态会有很好的效果。在飞行的时候,外部的羽毛要跟随肩关节而且要各自独立的展开。
一个晶格变形被用来把羽毛层混合到鸟的身体上,把羽毛结合到肩关节和它处于统一的层级,最外边的羽毛变形跟随肩关节,一个简单的晶格变用来控制羽毛群组用它来设置set driven keys 来约束翅膀的循环动画属性,仔细的调整混合到肩关节上的平滑度连接。
下面我们会看到当翅膀展开到高出时,晶格变形创建了一个美好的过渡效果。
(via:MAYA教程网)