|
6、当链接创建以后,可以试着拖动虚拟物体来试验一下,如果链接正确的话,排球将会随着虚拟物体一起移动。
7、使用“自动关键点”为虚拟对象设置动画。单击启用“自动关键点”,在主工具栏上,启用“选择并移动”工具,将时间滑块拖动到第 0 帧,然后移动虚拟对象,使其在“透视”视口中位于长方体的左侧,如下图所示。

图16:使用“自动关键点”为虚拟对象设置动画
8、将时间滑块移动到第 15 帧,或在“转到帧”字段中输入 15,然后再使用变换Gizmo移动虚拟对象,使球与长方体接触,如下图所示。

图17:使球与长方体接触
9、将时间滑块拖动到第30帧并将虚拟对象重新移动到长方体的右侧,以便球继续反弹开去,而不是笔直向上弹向空中,如下图所示。

图18:将虚拟对象重新移动到长方体的右侧
10、现在我们已经在第 30 帧设置了第三个关键点,此时如果播放动画,会看到球从长方体上弹跳起来,就像它被掷出一样。
11、显示球的运动轨迹。通过设置可以显示排球的运动轨迹,这样有助于使动画更加直观,在主工具栏上,使用“选择对象”工具,使用“选择对象”可确保我们不会意外地变换对象。选择排球,然后右键单击它,在弹出的单中选择“属性”,然后在“对象属性”对话框中的“显示属性”组中,启用“轨迹”,播放动画,会看到球沿着轨迹在长方体上弹跳起来,如下图所示。

图19:显示球的运动轨迹
12、使用“布局”模式设置动画。当禁用“自动关键点”并移动虚拟对象时,则将在空间中移动整个动画。当“自动关键点”和“设置关键点”都被禁用时,我们将在称为“布局”模式的条件下工作,下面我们来使用“布局”模式,设置排球从字母F上弹跳起来,而不是从块上反弹。
13、禁用“自动关键点”模式,此时时间滑块背景中的红色和视口轮廓中的红色将消失,然后将虚拟对象朝文本的方向移回,此时观察轨迹的位置并移动虚拟对象,直到轨迹的反弹点与字母 F 的顶部相交为止,如下图所示。

图20:移动虚拟对象
13、让排球在字母上反弹。下面我们将重复前面所学习的知识,来实现排球在字母上的反弹。我们设置的动画效果是排球将反弹8次,分别在第15帧、第45帧、第75帧、第105帧、第135帧、第165帧、第195帧和第 220 帧处与字母接触。
14、启用“自动关键点”,在轨迹栏中,选择第 30 帧处的关键点并将其删除,将时间滑块移动到第 45 帧(或在“当前帧”字段中输入 45),放置虚拟对象,以便球在单词“Follow”的双 L 字母上反弹。移动时间滑块,然后移动虚拟对象,以便球在以下各帧处从相应的字母上反弹:F,在第 15 帧;ll,在第 45 帧;w,在第 75 帧;th,在第 105 帧;b,在第 135 帧;u,在第 165 帧;c,在第 195 帧;ba,在第 225 帧;在第 240 帧时移动虚拟对象,使球从字母上移开,此时播放动画并观察结果,排球完成了在字母上的跳动效果,如下图所示。

图21:完成排球在字母上的跳动效果
15、使用增强曲线来影响反弹球的高度。在视口中选择排球,在其上右键单击在弹出的菜单中选择“曲线编辑器”,此时将显示“曲线编辑器”窗口,在“控制器”窗口中,单击 Z 位置轨迹,然后在“曲线”菜单上,选择“应用 - 增强曲线”,在“控制器”窗口中,单击加号图标,单击“增强曲线”以将其高亮显示,然后按住 Ctrl 键并单击 Z 位置轨迹。
16、在“控制器”窗口中,增强曲线将被添加到 Z 位置轨迹下方。由于增强轨迹的比例非常小,因此对关键点进行相当微小的更改都可能会导致动画发生巨大变化。
17、在“轨迹视图”工具栏上单击“移动关键点”以将其启用,如下图所示为向上移动关键点时的轨迹曲线。

图22:启用“移动关键点”
18、在使用增强曲线时,我们也可以在“关键点状态: 轨迹视图”工具栏上输入精确值来控制动画效果。如果我们不确定是否对结果感到满意,则可以将它们禁用,方法是在“控制器”窗口中选择增强曲线,然后在“曲线”菜单上选择“启用\禁用”即可。
五、利用摄影表编辑器控制动画效果
1、设置加速动画。要加速动画,将使用“摄影表”模式中的“编辑范围”功能。
2、选择虚拟对象,在“图表编辑器”菜单上选择“轨迹视图 - 摄影表”,在“摄影表”工具栏上,单击“编辑范围”,在“关键点”窗口中此时将显示出动画的范围。
3、在“控制器”窗口中,单击Dummy01,这样,将会同时调整所有虚拟对象的轨迹范围,在对虚拟对象做出更改之前,需要确保您也在更改反弹球。因为反弹球是虚拟对象的子对象,所以将使用“修改子对象关键点”按钮。
4、在“摄影表”工具栏上,单击“修改子关键点”以将其启用,此时对虚拟对象范围所做的更改也将被应用到反弹球上。
5、单击虚拟对象范围的末端,并将其向左拖动到大约第 100 帧处,如下图所示。

图23:将虚拟对象向左拖动到大约第 100 帧处
6、这样设置后,动画会发生在100帧之内,此时播放动画,动画的速度将会变得很快,排球在动画的结尾处继续反弹。
7、有几种不同的方法可以消除排球在动画结尾处的反弹,我们可以尝试使用减缓曲线来停止动画,也可以使用我们前面讲过的方法,即在超出范围曲线中创建关键点,然后删除这些关键点。还可以将活动时间段设置为 100 帧。
8、单击“时间配置”按钮,将“动画”的“结束时间”更改为 100。
9、反向设置动画。如何使我们制作的动画效果反过来播放,这也是一些动画爱好者经常遇到的问题,下面我们就来讲一下如何反转时间。这将通过使用“摄影表”模式中的“时间”工具进行反转动画的设置。
10、在“摄影表”工具栏上,单击“编辑关键点”工具,此时窗口右侧的范围栏将会替换为关键点。在“时间”菜单上,选择“选择”项,在使用“时间”命令时,首先应该选择时间,然后对其做出更改。
11、在“关键点”窗口中的虚拟对象轨迹上,将鼠标从第0帧拖动到第100帧以选择时间,此时时间在虚拟对象轨迹中将会显示为淡黄色的窄带。
12、在“时间”菜单上,选择“反转”选项,此时我们会发现,动画将会向后播放,球将从右向左而不是从左向右反弹,最后一次反弹现在发生在字母F上,而不是发生在单词“ball”的双L字母上。
13、使用“时间配置”菜单中的控件,可以很容易地反转动画的播放,但是如果需要实际反转关键点,那么,这是一种最好的方法。
六、加权列表控制器
通过对列表中控制器的权重进行更改或设置动画,可以调整每个控制器的效果并以非线性方式设置动画。
1、单击乒乓球.max打开我们提供的一个场景文件。如下图所示。

图24:打开乒乓球.max文件
2、播放动画观看效果,乒乓球以模拟的凌空击球方式在球网上来回反弹,其中最后的四次反弹在原地发生,通过使用加权列表控制器可以删除后四次反弹,并用滚动运动替换它们,也可以添加“噪波”控制器去除反弹,改为让球在球桌上不稳定地来回运动,然后停止。
3、选择乒乓球,打开“运动”面板,并展开“指定控制器”卷展栏,此时对于乒乓球,“指定控制器”卷展栏将“位置”控制器显示为“Bezier 位置”,如下图所示。我们至少可以在三个不同的位置将控制器指定给对象:即在“轨迹视图”窗口中、在“运动”面板上或在“动画”菜单上,这里我们将使用“动画”菜单指定控制器,并使用“运动”面板来编辑权重。

图25:指定控制器
4、单击屏幕上方的“动画”菜单,然后单击其下的“位置控制器”>“噪波”选项,此时我们就将澡波控制器指定给了乒乓球,这时在视口中的轨迹将会变成杂乱的红色样条线,如下图所示。

图26:“位置控制器”>“噪波”选项
5、需要说明的是,在从“动画”菜单指定澡波控制器给乒乓球时,加权列表控制器会自动添加到乒乓球对象上。
6、单击进入“运动”面板中,在“指定控制器”卷展栏上,展开“位置”列表,然后展开“噪波位置”,如下图所示。新的“噪波位置”轨迹出现在“Bezier 位置”轨迹的下方,它将新的“噪波”控制器添加到其中,此时如果播放动画,则乒乓球会满场飞来飞去。

图27:展开“噪波位置”
7、调整噪波参数和控制器权重。在“指定控制器”窗口中,高亮显示并右键单击“噪波位置”项,然后选择“属性”,此时会弹出“噪波控制器”属性对话框,将“频率”更改为非常小的值,例如0.009,将“Z 向强度”更改为 0.0,将“X 向强度”和“Y 向强度”的值更改为 1.0,此时将会创建球在桌面上的不稳定的来回运动,如下图所示。

图28:调整噪波参数和控制器权重
8、播放动画观察效果。现在噪波的抖动较少,几乎看不见,我们需要对控制器进行加权,以便噪波在第201帧之前不影响反弹,并且禁用第200帧之后的位置控制器。
9、设置权重动画。单击打开“自动关键点”功能,“自动关键点”按钮变成红色,将时间滑块拖动到第200帧的位置,我们将在第200帧和第201帧为“Bezier 位置”设置关键点,还将在第200帧、第201帧和第0帧为“噪波”设置关键点。
10、在运动命令面板中,打开“位置列表”卷展栏,然后在窗口中选择“Bezier 位置”层,找到“权重”字段,然后按住Shift键并右键单击微调器箭头,即权重对话框中数字100的右侧上下小箭头,此时微调器的轮廓变成红色,说明已将关键帧置于此处,我们也可以在“设置关键点”和“自动关键点”模式下用该方法设置关键点,如下图所示。

图29:调节权重值
11、在“位置列表”卷展栏中选择“噪波位置”层,然后右键单击权重右侧数字100后的微调器,此时“权重”值被重置为 0,并且设置了一个关键点,如下图所示。在打开自动关键点的前提下,右键单击任一微调器,可将值重置为0并设置一个关键点;而按住 Shift 键并右键单击任一微调器,可在不更改值的情况下添加关键点。

图30:重置权重并设置一个关键点
12、将时间滑块移动到第201帧,然后在“噪波”仍处于选定状态情况下,在“权重”字段中输入 100。
13、在“位置列表”中,选择“Bezier 位置”层,然后右键单击“权重”微调器将值设置为 0,并设置一个关键点,这们做将从该点开始去除反弹效果。
14、在动画播放控件中,将时间滑块拖动到第0帧,然后在“位置列表”中选择“噪波位置”,然后将“权重”值设置为 0。
15、播放动画观看效果,乒乓球在第200帧之后停止了反弹,在球桌上来回滚动。
16、纠正错误的移动。如果由于某些原因使乒乓球在空中而不是在球桌上来回滚动,那么就将时间滑块拖动到第201帧,然后向下移动虚拟对象直到球与球桌接触,通过使用此方法可纠正任何其他错误的移动。
17、若要完全停止乒乓球的移动,可以将时间滑块拖动到第250帧,并将“噪波”权重的关键帧设置为 0。
18、此时播放动画观看效果,乒乓球在第250帧完全停止了移动。再次单击“自动关键点”钮将其关闭。
七、使用修改器为球体运动添加挤压和拉伸效果
1、创建挤压和拉伸的柔体修改器。继续上面的例子,在“修改”面板上打开“修改器列表”,然后找到并单击“柔体”修改器。
2、在视口中播放动画会发现,挤压和拉伸稍微有点多,在修改命令面板中,将“柔软度”参数减小到大约0.3,并再次播放动画,沿路径的运动乒乓球将自动拉伸,我们可以调整路径值以改进该效果。
3、当播放动画时,可以尝试在“柔软度”字段中输入不同的值,同样也可以试验“强度”和“倾斜”值。比较好的组合是高强度值(假设为 11)和低倾斜值(大约为 1),通过修改“柔体”修改器的参数以获得不同的效果。
4、我们还可以使用其它的方法来达到使乒乓球变形的目的,如使用“拉伸”修改器手动设置所有关键点以使球扭曲,如果要挤压球,可以为其应用“变换”修改器,然后使用非均匀缩放来重新确定Gizmo 的形状,也可以使用自由形式变形 (FFD) 修改器来挤压球,或者可以使用“路径变形”修改器等等。
小结:在本节课中,我们学习了创建动画的方法;学习了使用“自动关键点”按钮和变换设置反弹球的动画;学习了使用关键点插值和重影来控制中间帧,以及使用“轨迹视图”控件循环动画的方式;学习了使用虚拟对象设置动画,使用“摄影表”编辑器和权重列表控制器;最后使用“柔体”修改器创建了挤压和拉伸效果,下节课我将为大家讲解飞行的战斗机动画制作,请大家继续关注PConline软件资讯的 3DS Max 栏目。
作者:顾金海 上篇
|