新浪博客

Maya绑定:小球动画(一)

2017-03-20 10:45阅读:
对于小球动画,这篇文章将进行从绑定到动画的比较系统的梳理。接下来我们从其动画原理(普通运动规律和形变)、绑定以及其中的问题、小球动画实例三个方面来叙述。
1.动画原理
说起来,小球动画其实是理解timing和space的非常经典的例子,对它最经典的阐述莫过于这里http://www.yiihuu.com/v_3802.html
但是视频中所讲大多是经验之谈,那么多种球的运动变化,它的timing和space到底是怎样的?在这里总结一下具有刚性属性的球体的基本运动规律。我们主要研究随着时间变化,球的高度和水平方向的位移随时间到底是如何变化的,这种时候中学物理就派上用场了……
比如场景的重力加速度为g(不考虑垂直方向的阻力),水平方向的阻力因子的绝对值为k(k<1)。一个球以v0的初速度从高位h的地方水平抛出,每次着地后速度衰减为原来的y倍(y<1)。我们记每次小球弹跳的回合中,水平方向位移的一半为x1、x2、x3……,落地速度为v1、v2、v3……,小球最高高度为h1、h2、h3……
再由下几个公式(1)v*v = 2gh;(2)t = v/g;(3)x = v0*t-0.5*k*t*t ,以v的变化为唯一变量, 得知:
在小球的每次弹跳回合中,高度越来越低,水平位移越来越小,时间花费也越来越短。
同时,水平方向的位移相关时间的曲线,一定程度上也可以单纯地靠x = v0*t-0.5*k*t*t曲线来完成,而不用额外考虑垂直方向上小球落地的影响。


这样的话,不同小球的弹力表现,我就将它理解为撞击地面后的速度值的体现。然后根据它再来绘制运动曲线。
2.绑定以及其中的问题
要求:
小球除了要满足普通的移动、缩放、旋转以外,还要能进行拉伸压缩、其他不规则的变形。
思路:
1.给小球添加晶格变形器以满足其不规则变形的需要。然后添加三个控制器(up、mid、down)分别控制小球的上下拉伸压缩和中间的变形。再加上一个控制器rotate_crv控制小球的旋转。最后一个总控制器进行
全局控制。
2.其中拉伸变形通过计算ik的伸缩比例来控制骨骼,然后骨骼再蒙皮控制晶格变形,最后影响到小球。
3.如果想给小球再加一个旋转的控制器rotate_crv。那么一定注意用它控制晶格来间接影响小球,否则会出错。
出错原因在于 Maya绑定:小球动画(一)这两个家伙之间过深的羁绊……

问题:
小球完全绑定完成后,如果将包括模型在内的一切绑定相关都打一个组的话,比如将它命名为ball_group,在这种情况下,如果移动这个ball_group,会发现小球发生二倍偏移的情况。
其实这是因为小球的移动受到了ball_group的影响。如果将这个组打开,单独移动小球,是无法移动的。也就是说,小球的移动属性已经被控制器锁定了。这种情况下的小球,如果给它打一个组,它就可以在组的影响下再次移动。那么,我们就会发现,整体移动ball_group,小球的移动其实是受到了双重影响——控制器和ball_group,影响叠加,产生双倍移动。
了解了问题所在,我们在绑定过程中就要避免这类问题。如果绑定物体在控制器下属性发生偏移甚至可能多倍偏移,就可以想到会不会是物体受到多重影响的原因。

我的更多文章

下载客户端阅读体验更佳

APP专享