昆虫翅膀拍打的动画制作(三)
9.我们会发现这运动并不符合空气动力学,因为对应的一双翅膀在同一时间中X轴旋转的方向应该是相反的,也就是上下拍打的方向应该是一致的。为解决这个问题,我们在右边翅膀表达式的正弦函数前加一个负号,如下:
lWing.rotateX = sin (time * 10) * 40;
rWing.rotateX = -sin (time * 10) * 40;
10.播放动画,现在这只小飞虫能生存下去的机会更大啦
11.现在假设我们想要控制翅膀拍打的速度。当前,这个速度由表达式中 *10 这部分来决定。为翅膀的速度创建一个属性以让我们去改变动力速度甚至为它设置关键帧。在属性编辑器中,选择这个飞虫的转换节点(就是名为 "bug"的那个),接着选择Attributes > Add Attributes。
在属性名字(Attribute Name)一栏中输入WingSpeed,确定“Float”和 "Make Attribute Keyable"两项为选择,并设置最小值(Minimum value)为0,最大值(Maximum value)为10,默认值(Default value)为5,点击ok。——按钮“add”让我们可以在不必每次都关闭此窗口的情况下增加几个属性。
12.现在于飞虫转换节点窗口的附加属性中,我们会发现一个新的属性:“Wing Speed”,并已经根据我们的设置要求定值在5,现在我们不必管它。
13.让我们先回到表达式编辑器,并将两行表述中的10数值改为bug.WingSpeed,如下:
lWing.rotateX = sin (time * bug.WingSpeed) * 40;
rWing.rotateX = -sin (time * bug.WingSpeed) * 40;
上一篇:昆虫翅膀拍打的动画制作(二)