教程向朋友们介绍Maya 7.0 刚体和柔体-柔体动力学,在创建柔体时,系统会自动创建一个粒子物体,所以从某一方面来讲,柔体只是粒子的集合体,然而标准粒子和柔体粒子有些不同。一方面,柔体粒子被联接起来有一形状,另一方面,它们以一固态形状而不是点的集合体出现在屏幕上及最终渲染中。
因为这两种属性,所以柔体是特殊的,它们可以以固态几何体出现,几何体中的点和粒子物体中的粒子一一对应。当粒子运动时,几何体中的点也会随之运动。它们尽管复杂,但创建柔体还是容易的,只要选择模型,并告诉 Maya 创建柔体便可。如图 11-25 所示为用柔体创建的一面旗。
图 11-25 柔体作用效果
柔体的创建方法
在一新场景中创建基本 NURBS 球体。选择 Dynamics|Bodies → Create Soft Body ,出现 Soft Options 对话框,如图 11-26 所示。
图 11-26 Soft Options 对话框
下面是它的参数:
● Creation Ooptions :该下拉列表中包括 3 个选项:
Make Soft :该选项直接将选中的物体转换成柔体。
Duplicate , Make Copy Soft :在不改变原物体的情况下,以复制出的副本作为柔体。
Duplicate , Make Original Soft :使用该选项可以直接将物体转换成柔体,并且另外复制一份原始物体。
Duplicate Upstream Graph :当选中此复选框时,系统会自动复制原始几何体,并且把复制的几何体转换为柔体。
● Hide Non-Soft Object :选中此复选框时,系统可以自动将原始的几何体隐藏起 来,以节省有限的工作空间。
● Hide Non-Soft a Goal :如果取消选中此复选框,当创建柔体时必须为粒子创建目标。
● Weight :设置目标物体的权重,当该值为 0 时,柔体可以*地变形;当该值为 1 时,柔体将尽量匹配目标物体的形状。
在该对话框中,确保在 Creation Options 下拉列表中选择 Make Soft 选项。单击 Create 按钮,然后单击 Close 按钮,将原始几何体 ( 球体 ) 转为一个柔体。这时出现一个看上去像球体的物体,由一群粒子包围着,粒子的数目由原始几何体中的等参线 ( 或多边形表面 ) 数值决定。若想要更多的点,可以使用更多的等参线创建初始形状。选择 makeNurbsSphere1 节点并改变段数 ( 或块数 ) 为 8 ,柔体粒子数目随之改变。如图 11-27 所示。
提示:
在开始动画后不要再添加或提取段和面,这样会得到不可控制的柔体效果。
图 11-27 转换成柔体
Maya 除了可以把 NURBS 物体转换成柔体之外,还可以将 IK 样条曲线和运动路径转换成柔体,转换的方法相同。
在开始使用柔体之前,先在 Outliner 窗口中看一看柔体的结构。
打开 Outliner 窗口,并执行 Options → Display → Shape Nodes 命令,窗口将出现图 11-28 所示的内容。
图 11-28 Outliner 窗口
在该窗口中,可以看到 nurbsSphere1Particle 和 nurbsSphere1ParticleShape 节点处于选中状态,这两个节点是新建的柔体变形和形状节点,这些节点附加到你的原球体中。
为柔体加入一个对其有影响的动力场。
重新选中球体,再执行 Fields → Create Gravity 命令。这时重力场将出现在工作区中心。当播放动画时,球在重力影响下下落。
定制动画的播放,并回到第 1 帧,将球体向上移动,在场景中到建一个 NURBS 平面,大小和网格大小相近。
提示:
在播放前一定要回倒动画,否则在播放时会产生奇怪的效果。
选择球体,按 Shift 选择平面,再选择 Particle → Make Collide 命令。现在,当重力使柔体下落时,组成柔体的粒子将与平面发生碰撞,当播放动画时,将看到如图 11-29 所示的内容。
图 11-29 碰撞效果
柔体碰撞与刚体碰撞是不同的。首先,刚体将自动与另一刚体碰撞;而柔体则必须定义碰撞,就象使用标准粒子群一样。另外,每个粒子 —— ( 而不是作为一个整体的固体表面 ) 在不同的时间与平面碰撞,引起球体发生变形。
在柔体中加入弹簧效果
在 11.2 用户节中的粒子中,可以看到球体的上半部分产生了的剧烈运动,这种运动状态有可能是你不需要的。 Maya 中的弹簧功能就是用于这一问题的。通过在柔体的粒子之间添加 Spring( 弹簧 ) ,可以改善柔体内部的结构和变形控制。这是因为它向各个方向延伸。换句话说,柔体没有维持其长度;没有一种帮助其维持长度和体积的"骨架"。如果为柔体创建了 Spring ,当柔体与地面等物体碰撞时,柔体就会自动发生弯曲,这种效果看起来很真实,如图 11-30 所示。
图 11-30 弹簧效果
并不是所有的物体之间都能建立 Spring ,一般情况下,弹簧效果总是作用于粒子之间,另外,柔体的可控点或者顶点、曲线或者多边形曲面上的可控点、多边形的顶点和晶格点之间也可以创建弹簧。
每一个 Spring 至少有一个端点是粒子或者柔体顶点。在图 11-31 所示的例子中,粒子矩阵中的粒子与圆环物体的可控点是通过 Springs 连接的。
图 11-31 Spring 与物体 CV 点
在特殊的物体元素上,也可以创建 Spring ,如图 11-32 所示,在两个不同的粒子物体之间,分别选择一对粒子,并且创建 Spring 。
图 11-32 在两个物体之间创建弹簧
粒子在发射出之后也可以创建 Spring ,利用这种功能可以制作出类似于烟云的效果,如图 11-33 所示。
图 11-33 弹簧作用于粒子发射之后
场景窗口中选择柔体物体,再选择 Soft/Rigid Bodies → Crease Springs 命令,便可以打开 Spring Options 对话框,如图 11-34 所示。在这个对话框中可以对弹簧作一些调整。
图 11-34 Spring Options 对话框
下面是它的具体参数:
● Add to Existing Spring :在带有弹簧的柔体上添加新的弹簧。
● Don`t Duplicate Spring :用于避免在带有弹簧的两个粒子之间创建新的弹簧。
● Set Exclusive :当一个以上的物体处于选中状态的时候,物体中的所有点都会被弹簧连接起来。
● Creation Method :选择 MinMax 选项时,可以使用 Min Distance 和 Max Distance 文本框来定义柔体中的一个范围,在此范围内的所有点,都将被 Spring 连接起来,如图 11-35 所示。
选择 All 选项可在选中物体的所有点之间创建弹簧,这样可以形成一个统一的弹簧体系结构,也可以将它看作为一个弹簧物体,适用于创建一个跳动的球体或者石块,效果如图 11-36 所示。
图 11-35 定义范围 图 11-36 All 选项的作用效果
选择 Wireframe 选项可在柔体物体的最外层创建弹簧,此选项非常适用于曲线构成的柔体或者不规则曲线的柔体,如图 11-37 所示。
图 11-37 Wireframe 选项的作用效果
● Min Distance 和 Max Distance :在 MinMax 模式下,用于定义柔体距离范围的最小距离和最大距离。
● Wire Walk Length :在 Wireframe 模式下,用于设置物体边缘粒子之间有多少弹簧被创建,设置 Wire Walk Length = 1 ,或者 Wire Walk Length=2 ,效果如图 11-38 所示。该数值设置的越大,柔体的结构越复杂。
图 11-38 设置 Wire Walk Length 的数值
● Rest Length :设置 Spring 静止时的长度,在弹簧物体中,每一个弹簧都具有相同的静止长度。
● Siffness :设置弹簧的坚硬程度,如果弹簧的坚硬度增加过快,那么弹簧的伸展或者缩短也会非常快。
● Damping :设置弹簧的阻尼力,如果该值较高,则弹簧的长度变化就会变慢,该值设置的较低,则弹簧的长度变化就会变快,可以运用低的阻尼值和高的弹力值来创建物体颤动效果。
● End1 Weight :设置应用到弹簧开始点上弹力的大小,当 End1 Weight 值为 0 时,表明开始点不受弹力的影响,当该值为 1 时,表明受到弹力的影响。
● End2 Weight :设置应用到弹簧结束点上弹力大小,当该值为 0 时,表明结束点不受弹簧弹力的影响,当该值为 1 时,表明柔体受到弹力的影响。