Maya教程:中山舰制作流程2-绑定篇

2015-10-14 16:25:11来源:作者:人点击

第七城市

作者博客:http://blog.163.com/shininglore@126/

接下来,我们接上一教程——建模篇继续讲解中山舰的绑定……

首先,根据Maya场景单位(厘米),按1:10的比例将模型进行缩放。中山舰长度是65.9米(也有资料说是62.1米),在maya中的长度就是659厘米。

虽然不是生物角色那样的复杂运动,不过为了动画制作方便,仍需要进行一些控制器绑定。

【动画绑定】 1.使用简单的倍数表达式,通过NURBS曲线的位移来控制一些模型的圆滑,这样能让我同时对各个物体执行圆滑操作。

2.使用驱动关键帧,通过NURBS曲线的位移来控制船舵的转动。

3.自定义一个属性,通过与函数time建立倍数关系,控制螺旋桨的转动方向和速度。

4.通过各种约束,使用NURBS曲线控制舰炮的转向。

【动力学绑定】 在maya中使用动力学绑定时,都有一个重要的共同点,那就是动力学物体的局部坐标系,不能包含在控制它的运动物体的局部坐标系内。比如,控制粒子运动,会将力场作为运动物体的子级,而运动物体的子级不会同时包含粒子,否则粒子将产生二次运动。这种情况在使用骨骼IK,柔体,毛发系统,粒子系统,流体系统时尤为明显。布料系统和刚体系统比较特殊,动力学物体不受层级影响,但仍要注意与其他系统结合时的层级关系排布。对于动力学绑定而言,难点在于物体的整体缩放,特别是包含动力学曲线(或柔体曲线)+骨骼IK的时候:曲线1控制曲线2的形变,曲线2又通过IK控制骨骼的形变,骨骼又对模型进行着蒙皮控制。 要实现正确缩放,需要将模型之外的所有物体成组,然后对这个组进行缩放。尽管动力学曲线往往包含原始曲线和新动力学曲线两个层级,但由于它们是通过点层级进行控制,因此不受变形节点的影响,也就是说,它们是否同时为运动物体的子级是没有关系的。因为动力学需要解算的关系,在绑定过程中发现一些异常变化是正常的。

小旗子使用的是n布料系统完成:通过Transform的布料约束固定小旗和帆布,并对内核节点的WindSpeed设置一个随机表达式(nucleus1.windSpeed=25*rand(1,2.5))。

桅杆边的绳梯使用了柔体动力学控制它们的摆动。通过柔体曲线控制IK链骨骼,配合扰乱场和重力场,制作出绳梯随机的轻微摆动。

轮船烟囱顶部添加流体容器制作烟雾效果,使用了maya2011的流体新功能:AutoResize。流体发射器使用圆柱形的体积发射,关闭了Heat(热能)和Fuel(燃烧);流体形节点下主要调节的参数有Density和Velocity,然后是Shading区块下的Opacity(控制流体整体的密度疏密),此外开启Textures区块下的 TextureOpacity,增加流体细节。尽管流体参数众多,但也不是每个参数都需要调节,应尽量避免过多参数的变动。最后使用一个“统一力场”,控制浓烟的方向。两个烟囱使用了两个流体容器,而不是两个发射器发射同一个流体,因为配合AutoResize,使用同一个流体容器会发生一些异常的现象。远景使用的是10分辨率,近景则提高到20。

舰炮使用流体制作炮击效果(粒子适合做爆炸效果,而不是开炮效果)。炮击效果可分为3个部分:炮弹出炮管的一瞬间,气浪推动火光的过程,炮管冒出尾烟的结束(如果在地面,还会加入灰尘的扩散)。以正常的人眼为基本,开炮的一瞬间我们是无法看到气浪膨胀的过程的,以火光的最大范围作为起始帧即可,其中包含最为炽亮的炮弹流光;从下一帧到第5帧,是火光快速前进并结束的过程,其中伴随炮口快速喷射的白烟;间隔大概3帧后,炮管再次缓缓冒出白烟,结束过程。我使用了2个流体容器来模拟炮弹和火光。 炮弹使用的是没有动力学方格和发射器的流体容器,通过调节color的过渡方式作出此效果。

火光消失并产生黑烟,这个过程是发生了化学变化,只通过单纯的颜色和密度变化较难模拟,所以我开启了温度的动力学方格选项。颜色Color设置为黑色,自发光Incandenscence设置一个由明亮到黑色的过渡,并开启流体阴影。此外,对Incandenscence和Opacity的InputBias设置动画关键帧是整个动画过程中最重要的步骤。

Textures开启Incandescence和Opacity是对整个特效过程细节的额外控制。

这里我还使用了流体形节点中的SimulationRateScale和Maya2011新增的Substeps。

Maya2011新增加的流体发射器发射速度,对这个特效有着至关重要的作用。使用圆锥形的流体发射器,然后开启轴向速度:AlongAxis,AroundAxis,DirectionalSpeed。AlongAxis是制作扩散效果,AroundAxis则是环绕效果,DirectionalSpeed配合所设置的方向,是流体发射的主要方向。DirectionalSpeed我取值50,其他两个为5,这样就模拟了炮击时的絮乱气流效果。 渲染时,远景使用的是分辨率20,近景则提高到40,并适当提高SolverQuality和ShadingQuality的参数值 。

最后是炮击后的残烟。创建一个圆柱体积的粒子发射器,放置于炮管,设置两个时间段的粒子发射:在产生大量黑烟前,炮管急速冒出白色的烟;在短暂停顿后,炮管内残留的少量白烟会再次涌出;在炮口附近放置两个体积类型的力场dragField和volumeAxisField,用于模拟白烟涌出时遇到的阻力和气流扰乱。制作这种和速度有很大关系的效果使用粒子会更容易控制。虽然Maya有现成的n粒子和精灵粒子烟效,不过由于这些消耗资源比较大,所以我还是使用常规粒子来制作。这里只使用了粒子的RadiusPP属性定义烟雾的扩散,其他的如透明度,粒子颜色,粒子形态,均通过粒子云材质进行调节。要让粒子烟雾和流体烟雾有比较好的结合,就需要分层渲染后在后期合成中进行一些调节。

下一篇将介绍【Maya】中山舰制作流程2-海洋篇,敬请期待……

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台