将球体挤压到地面上
默认情况下,Maya 将非线性变形器控制柄放置在要变形的对象的中心。例如,创建一个球体并为其创建一个挤压变形器后,Maya 会将挤压变形器控制柄放置在该球体的中心。将会相对于球体的中心进行变形。如果要靠着地面挤压球,可以调整挤压变形器的属性,并移动挤压变形器控制柄以使变形相对于球体与地面接触的位置。通常,可以进行这些调整以便可以产生相对于球体内部或外部的任何位置的挤压效果。
设置球体和变形器
- 创建基本体 NURBS 球体。
- 按数字键 3 可提高显示分辨率。
- 移动球体以使其位于透视视图中的栅格上。
- 为球体创建挤压变形器。
编辑变形器
- 通过设定 squash1 的属性来编辑挤压变形器,如下所示:
:0
:0.75
- 移动变形器控制柄以使下边界是该球体与地面接触的位置。
靠着地面挤压球体
- 现在,在中,更改“因子”。
会发生相对于球体的底部(球体与地面接触的位置)的挤压变形。
反弹球设置
可以使用挤压变形器来创建挤压和拉伸效果。本示例显示如何可以为反弹球动画设置球。
使用挤压控件创建 NURBS 球体
- 执行上一个示例。
- 将 squash1 的属性设定回到 0。
为拉伸控件创建变形器
- 为球体创建另一个挤压变形器,以提供拉伸控件。使用默认的创建选项。
squash1 变形器提供了球落在地面上时所发生的挤压。刚创建的变形器 (squash2) 将提供球在飞行中时将发生的拉伸。
定义球
- 将球体 (nurbsSphere1) 和变形器控制柄(squash1Handle 和 squash2Handle)分组。
- 重命名该组球。
- 打开窗口(窗口 > 常规编辑器 > 通道控制(Window > General Editors > Channel Control)),然后将下列属性设定为:
现在仅列出球的下列可设置关键帧的属性:、、、、和。
- 关闭窗口。
现在将为球添加两个属性以进行挤压和拉伸。
- 选定球后,请选择修改 > 添加属性(Modify > Add Attribute)。
- 添加名为 flyStretch 的可设置关键帧属性,并且设置如下:为 0,为 10,为 0。
- 添加名为 landSquash 的可设置关键帧属性,并且设置如下:为 0,为 10,为 0。
- 关闭窗口。
为拉伸设置驱动者和受驱动关键帧
- 打开窗口(动画 > 设置受驱动关键帧 > 设置(Animate > Set Driven Key > Set) > )。
- 将球加载为驱动者,选择属性,然后将该属性设定为 0。
- 将 squash2 加载为受驱动,选择属性,然后将该属性设定为 0。
- 单击。
- 将球的属性设定为 10。
- 将 squash2 的属性设定为 0.6。
- 单击。
为挤压设置驱动者和受驱动关键帧
- 打开窗口(如果该窗口尚未打开)。
- 将球加载为驱动者,选择属性,然后将该属性设定为 0。
- 将 squash1 加载为受驱动,选择属性,然后将该属性设定为 0。
- 单击。
- 将球的属性设定为 10。
- 将 squash1 的属性设定为 -2。
- 单击。
- 单击来关闭编辑器。
现在,该球已经准备好用于具有挤压和拉伸效果的反弹球动画了。
设置球的动画
现在,已经为动画设置该球。请尝试为球反弹创建一个动画。包括球在飞行中时的拉伸效果和球撞击地面时的挤压效果。例如,动画可能看起来与下列图像有类似之处。
这些图像仅显示反弹球的一个简单示例。开发反弹球的动画时,请尝试看看可以为球的移动提供多少“角色”。