命令条目:选择多边形、网格、面片或 NURBS 对象。 “修改”面板 “修改器列表”“对象空间修改器”“柔体”

命令条目:选择多边形、网格、面片或 NURBS 对象。“修改器”菜单 “动画”“柔体”

“柔体”修改器使用对象顶点之间的虚拟弹力线模拟软体动力学。可设置弹力线的刚度,它们如何有效控制顶点相互接近,如何拉伸以及它们可移动的距离。此系统的最简单功能是使顶点妨碍对象移动。在更高层次上,还可以控制倾斜值以及弹力线角度的更改大小。

柔体使舌头随头部旋转而摇摆。

柔体用于 NURBS、面片、多边形与网格对象、形状、FFD 空间扭曲以及基于插件的任何可变形对象类型。可将“柔体”与“重力”、“风”、“马达”、“推力”和“粒子爆炸”等空间扭曲结合到一起使用,从而将逼真的、基于物理的动画添加到对象中。另外,可以对软体对象应用导向器以模拟碰撞。          

注意“柔体”修改器了解修改器堆栈中“柔体”下方可将点变形的任何动画修改器(例如,变形修改器)中的顶点/控制点运动。使用此修改器可模拟变形或其他变形动画对象上的软体运动。

提示要更改柔体效果的中心,请在将“柔体”修改器应用于选定的对象或子对象后,选择“柔体”修改器的中心子对象并使用“移动”。

提示使用“柔体”的高级功能会明显延迟实时播放。在这种情况下,要提高性能,请使用“点缓存”修改器将顶点动画记录到磁盘中,然后使用缓存进行播放。

触须应用“柔体”修改器后,会对角色头部的运动做出反应,像弹簧一样移动。

柔体修改器影响的曲面  

  • 在多边形或网格曲面上,“柔体”修改器将影响每个顶点。

  • 在面片表面上,“柔体”修改器影响控制点和切线控制柄。柔体取消对切线控制柄的锁定,然后单独移动它们。

  • 在 NURBS 曲目上,柔体影响控制顶点 (CV) 或控制点。

  • 在样条线(形状)上,“柔体”修改器影响控制点和切线控制柄。

  • 在 FFD 空间扭曲上,“柔体”修改器影响控制点。

效果

可对“柔体”修改器应用空间扭曲。例如,可通过添加来设置植物和树或飘扬旗帜的动画。在这种情况下,不需要创建关键帧就能查看效果;空间扭曲本身就能设置曲面的动画。

角色动画

“蒙皮”修改器之上使用“柔体”可向使用骨骼的动画角色添加辅助运动,或者在“Physique”修改器之上使用“柔体”可向使用 Biped 的动画角色添加辅助运动。

过程

示例:绘制权重,请执行以下操作:

  1. 在“顶”视口的左侧创建一个球体。

  2. 启用 (“自动关键点”)并将时间滑块拖到第 50 帧。                

  3. 在“顶”视口中, 将球体移动到视口右侧。                

  4. 禁用 (自动关键点)。                

  5. “修改”面板上,单击“修改器列表”,然后选择“柔体”。                  

    “柔体”修改器应用于该球体。                  

  6. 单击 (播放动画)。                  

    球体绕“变换”Gizmo 均匀变形。                  

  7. 在堆栈显示中打开“柔体”修改器层次,然后单击“权重和弹力线”。                  

    这使您可以修改“权重和弹力线”子对象的设置。                  

  8. 在“绘制权重”组中,启用“绘制”。

  9. 在“左”视口中,在球体的下半部分上绘制。                  

    顶点颜色随顶点权重的变化而变化。黄色顶点的刚性较强,而蓝色顶点的刚性较弱。                  

    提示可通过“自定义”菜单 “自定义用户界面”“颜色”“元素 = 几何体”“硬子选择”/“中子选择”/“软子选择”来更改柔体顶点颜色。                    

  10. 单击 (播放动画)。                  

    球体一侧比另一侧摆动的幅度大。                  

    如果“绘制顶点”组中的“强度”设置是一个正值,则绘制刚性。如果该值为负值,则绘制柔性。                  

    要反转效果,请使用强度的负值进行绘制。                  

示例:要使用风作为力,请执行以下操作:

  1. 在“顶”视口中,创建一个球体。

  2. “创建”面板上,单击 (“空间扭曲”),然后根据需要从下拉列表中选择“力”。                

  3. 单击“风”,然后在“前”视口中单击并拖动以创建风 Gizmo。

  4. 在“风参数”卷展栏上,将“强度”和“湍流”设置为 4。                

  5. 选择“球体”。                

  6. 转到 “修改”面板并应用“柔体”修改器。                

  7. 在“修改”面板 “参数”卷展栏上,将“采样”设置为 1。                

  8. 在“力和导向器”卷展栏 “力”组上,单击“添加”按钮,然后在视口中选择风 Gizmo。                

  9. 单击 (“播放动画”)。                  

    球体随风晃动。“高级参数”卷展栏 “参考帧”设置决定列表中的力在哪一帧生效。                  

    也可以使用此示例,了解“跟随弹力”选项是如何工作的。                  

  10. 禁用“跟随弹力”,然后再次单击 (“播放动画”)。                  

    球体一直朝风吹的移动,而不会“弹”回。这是因为试图使对象恢复其原始形状的跟随弹力不再生效。                  

要添加自定义弹力线,请执行以下操作:

  1. 对对象应用“柔体”,然后转到“权重和弹力线”子对象层级。                  

    “柔体”顶点在视口中出现在对象顶点。                  

  2. 在“高级弹力线”卷展栏上,启用“显示弹力线”。

  3. 单击“选项”按钮,然后在弹力线选项对话框中选择希望如何添加弹力线。退出“弹力线选项”对话框。                

  4. 根据选项选择顶点。                  

    例如,如果希望在两个顶点之间添加一个“保持形”弹力线,请选择这两个顶点。      

  5. 单击“添加弹力线”。                  

    会显示一条或多条弹力线。“边”弹力线为蓝色,而“保持形”弹力线为红色。      

示例:要创建摇晃的绳索,请执行以下操作:

  1. 使用“创建”菜单 “空间扭曲”,在“顶”视口中添加“阻力”和“重力”空间扭曲。                

  2. 使用“创建”菜单 “图形”“线”,在“顶”视口中创建一条线,其中包含十个相等间距的顶点。                

  3. “修改”面板中,启用 (“顶点”),然后 选择除第一个顶点外的所有顶点。                

  4. 应用“柔体”修改器。

  5. 在修改器堆栈视图中,打开“权重和弹力线”子对象。

  6. 禁用“使用弹力跟随”。

  7. 禁用“使用权重”。

  8. 将解算器设置为 Runge-Kutta4。

  9. 将“采样”设置为 5。                

  10. 在视口中, 选择样条线上的所有点。                

  11. 在“高级弹力线”卷展栏上,单击“选项”按钮。

  12. 在对话框中,启用“保持边长度弹力线”,然后单击“确定”。

  13. 单击“添加弹力线”。

  14. 在“力和导向器”卷展栏上,在“力”组中添加“重力”和“阻力”。

  15. 单击 (“播放动画”)。                  

    样条线与摇晃的绳索相似。                  

示例:要在球体上创建布料覆盖,请执行以下操作:

  1. 使用“创建”菜单 “空间扭曲”,在“顶”视口中添加“阻力”和“重力”空间扭曲。                

  2. 使用“创建”菜单 “空间扭曲”“导向器”“导向球”,创建一个球形导向器。将“反弹”设置为 0,将“摩擦”设置为 100。将导向器放置到 Z=0 的下方。                

  3. 使用“创建”菜单 “几何体”“标准基本体”“平面”,在“顶”视口中创建一个 20 x 20 的平面。该平面应位于球形导向器上方。                

  4. 对该平面应用“网格选择”修改器。

  5. 在“顶”视口, 选择除最左侧一列以外的所有顶点。                

  6. 将“柔体”修改器应用于该平面。

  7. 禁用“使用弹力跟随”和“使用权重”。

  8. 将“采样”设置为 3。                

  9. 单击“创建简单软体”。

  10. 在“力和导向器”卷展栏上,添加“重力”和“阻力”这两种力。

  11. 在“力和导向器”卷展栏上,添加球形导向器。

  12. 单击 (“播放动画”)。                  

    该平面像布料一样,披挂在球形导向器上。                  

界面

修改器堆栈                

             

通过打开修改器层次(单击修改器名称左侧的 + 图标),堆栈显示中就会出现这些修改器子对象层级。                

中心

在视口中移动“变换”gizmo 以设置效果中心。

柔体效果随中心与顶点之间的距离增大而增强。

边顶点

在视口中选择顶点,控制柔体效果的衰减和方向。

选定顶点的柔体效果小于未选择顶点的柔体效果。

权重和弹力线

使用“权重和弹力线”卷展栏中的控件,选择和取消选择顶点以便在“权重和绘制”卷展栏和“高级弹力线”卷展栏上进行后续操作。

可在任何子对象层级绘制权重,并在任何子对象层级添加和移除弹力线(甚至在“柔体”修改器对象层级),但在“权重和弹力线”选择处于活动状态时,则仅影响选中的顶点。

“参数”卷展栏              

柔软度

设置柔体量和弯曲量。范围从 0.0 到 1000.0;默认值为 1.0。

此值代表使用的柔体动画量;柔体动画由运动和顶点权重等其他因素决定。默认值 1.0 表示不修改柔体动画;提高设置值会将拉伸量增大至不自然的程度,降低设置值则会减小拉伸。

强度

设置跟随弹力的整体弹力强度。

值 100.0 代表刚体。范围从 0.0 到 100.0;默认值为 3.0。

倾斜

为跟随弹力设置对象停止移动的时间。

较低值会增加对象停止移动所需的时间。范围从 0.0 到 100.0。默认值为 7.0。

使用跟随弹力

启用时会启用跟随弹力,强制对象恢复为其原始形状。禁用时,不使用跟随弹力,而顶点移动量仅取决于它们的权重。默认设置为启用。

一般,对于软体模拟,如果希望对象受力和导向器的影响,请禁用“使用弹力跟随”。

使用权重

启用时,“柔体”识别为对象顶点分配的不同权重,相应地应用不同的变形量。禁用时,柔体效果将其本身作为大的整体应用于对象。默认设置为启用。

一般,对于软体模拟,如果希望对象受力和导向器的影响,请禁用“使用权重”。

解算器类型

从下拉列表中为模拟选择一个解算器。三个选项是“Euler”、“中点”和“Runge-Kutta4”。“中点”和“Runge-Kutta4”比“Euler”需要更多的后续计算,但更稳定且精确。默认设置为 Euler。

提示 在大多数情况下,可连续使用“Euler”,但如果在模拟过程中出现意外的对象变形,请尝试使用更精确的解算器类型之一。特别地,可能需要使用具有更高“拉伸”和“刚度”设置的“中点”或“Runge-Kutta4”。                            

采样

每帧中按相等时间间隔运行“柔软度”模拟的次数。采样越多,模拟越精确和稳定。在使用“中点”或“Runge-Kutta4”解算器时,可能不需要与“Euler”一样多的采样。默认设置为 5。

提示如果模拟生成意外结果,例如对象顶点移动到明显随机的位置,请尝试提高“采样”设置。                            

“简单软体”卷展栏                

             

3ds Max 自动为整个对象确定弹力线设置。另外,可使用高级弹力线卷展栏中的设置,指定每对顶点之间的弹力线设置。                

创建简单软体

基于“拉伸”和“刚度”设置,为对象生成弹力线设置。

注意使用“创建简单软体”后,无需再次单击该按钮即可更改“拉伸”和“刚度”设置;更改将立即生效。                            

拉伸

确定对象边的拉伸长度。禁用“高级弹力线”卷展栏 “启用高级弹力线”后,“拉伸”设置将链接到“高级弹力线”卷展栏 “拉伸强度”。和“拉伸倾斜”设置。                      

刚度

确定对象的刚度。禁用“高级弹力线”卷展栏 “启用高级弹力线”后,“拉伸”设置将链接到“高级弹力线”卷展栏 “图形强度”。和“图形倾斜”设置。

“拉伸”和“刚度”之间的差别很小,而且由于二者相互影响,所以理解该差别就更困难。另外,它们如何起作用取决于对象拓扑。

例如,假设创建一个长方体,添加“柔体”修改器,应用“创建简单软体”,然后设置高“拉伸”值和低“刚度”值。如果在基于柔体的动力学模拟中使用该长方体,例如利用重力使其落到一个曲面(导向器)上,可能希望该长方体落下并变平。但相反,由于该长方体的拓扑使“创建简单软体”应用了相对少的形弹力线,实际上,使用低“拉伸”值和高“刚度”值会获得更好效果。不过,如果改为使用包含八个分段的球体,会获得默认“拉伸”和“刚度”设置的塌陷行为,且由于提高了“刚度”设置,所以刚度相应提高了。                          

在软体模拟中(例如上文中对象掉落到曲面的示例),特别是对于密集网格,通过对绑定到对象的 FFD 空间扭曲应用网格,能够获得更好的效果。如果对象形状不适合用于空间扭曲,可能必须改为使用高级弹力线卷展栏中的设置以手动应用弹力线。在这种情况下,应当在相对顶点而不是在相邻顶点之间创建形弹力线。

一般,布料之类的动画在使用高“拉伸”设置和低“刚度”设置时效果最好。对于软体,一般为“拉伸”和“刚度”都使用高设置,这取决于您希望对象具有的“变形度”。

“权重和绘制”卷展栏              

             

第一次将“柔体”应用于对象时,修改器将基于顶点距修改器中心的距离为每个顶点设置权重。顶点权重越高,它就越不容易受到“柔体”效果的影响。修改器对最接近其中心的顶点应用最高权重,并对距离中心最远的顶点应用最低权重。所以,举例来说,对于轴点位于底部的圆柱体,顶部的变形量最大。但对于球体,其所有顶点与轴点(中心)的距离相等,所以在默认情况下,所有顶点具有相等权重值。                                

使用“绘制权重”控件,可使用具有可调整半径和衰减的球形刷在视口中更改顶点的权重,从而控制滞后量。使用“顶点权重”控件,可以对单个或成组顶点应用绝对或相对权重。    

“绘制权重”组                  

绘制

在任意子对象层级,单击“绘制”,然后在视口中的网格上拖动光标,从而使用当前“强度”和“羽化”设置“绘制”顶点权重。顶点颜色会变化以反映新的顶点权重。                            

绘制相对于顶点权重的当前值更改顶点权重;不应用绝对权重。与短笔划相比,网格上的较长笔划会增加或减少顶点权重,而相同区域上的重复笔划会使权重值发生增量变化,除非权重值已达到其极限。                            

任何“柔体”子对象层级显示的顶点颜色指示大致的权重。这些颜色由“自定义”菜单 “自定义用户界面”“颜色”选项卡 “元素: 几何体”中的设置确定。此列表中有三个颜色条目:“硬子选择”用于使用最高“权重”值显示顶点;“中子选择”用于使用中“权重”值显示顶点;而“软子选择”用于使用低“权重”值显示顶点。                            

强度

设置绘制更改权重值的量。值越高,更改权重的速度越快。当强度为 0.0 时,绘制过程不会更改权重值。范围从 -1.0 到 1.0;默认值为 0.1。                            

负值允许您移除权重。                            

提示在绘制时,可使用 Alt 键反转强度。                              

半径

以世界单位数设置笔刷大小。范围从 0.001 到 99999;默认值为 36.0。                            

注意如果在绘制前将鼠标光标放在对象上,会看到球形“笔刷”的线框表示,其中说明“半径”设置。                              

羽化

设置从笔刷中心到其边缘的强度衰减。默认值为 0.7。范围从 0.001 到 1.0。                            

笔刷中心的顶点总是按“强度”设置的最大值变化,但“羽化”设置越高,接近边缘的顶点变化的越小。在使用最低设置时,半径内所有顶点的变化都相等。                            

“顶点权重”组                  

手动设置顶点权重。在“权重和弹力线”子对象层级,在视口中选择顶点,然后更改“顶点权重”参数的值。也可以启用“绝对权重”,设置需要的“顶点权重”,然后选择要设置的顶点;更改会立刻生效。                  

绝对权重

启用该设置可为选定顶点指定绝对权重。禁用该设置,可基于“顶点权重”设置添加或移除权重。

顶点权重

为选定顶点指定权重。                            

取决于“绝对权重”参数的状态,权重指定将为绝对或相对的。                            

注意“顶点权重”的范围从 -100 至 100。启用“绝对权重”后,“顶点权重”的负设置值不起作用;有效范围从 0 到 100。禁用“绝对权重”后,更改“顶点权重”设置可将更改量添加到选定顶点的当前权重,然后将该设置重置为 0。                              

“力和导向器”卷展栏              

“力”组                  

使用这些控件可将“力”类别中的空间扭曲添加到“柔体”修改器。支持的空间扭曲包括:

  • 置换                      

  • 阻力                      

  • 重力                      

  • 马达                      

  • 粒子爆炸                      

  • 推力                      

  • 漩涡                      

  •                      

[空间扭曲列表]

显示应用于“柔体”修改器的粒子空间扭曲。

添加

单击此控件,然后在视口中选择粒子空间扭曲,将该效果添加到“柔体”。所添加的空间扭曲显示在列表窗口中。

移除

在列表中选择一个空间扭曲,然后单击移除可从“柔体”中移除该效果。

“导向器”组                  

将导向器用于“柔体”,表面将滞后对象移动。所以,可使用软体对象模拟碰撞。要获得最佳碰撞效果,在导向器设置中,为“反弹”使用低值,为“摩擦”使用高值。

支持的导向器包括:              

  • 泛方向导向板                      

  • 泛方向导向球                      

  • 通用泛方向导向器                      

  • 通用导向器                      

  • 导向球                      

  • 导向板                      

[导向器列表]

显示应用于“柔体”修改器的导向器。

添加

单击此控件,然后在视口中选择导向器,将其添加到“柔体”。所添加的导向器显示在列表窗口中。

移除

在列表中选择一个导向器,然后单击移除可从“柔体”中移除该效果。

“高级参数”卷展栏              

参考帧

设置“柔体”开始模拟的第一帧。                      

结束帧

启用时,设置“柔体”生效的最后一帧。在此帧后,对象循序恢复为堆栈当前定义的形状。例如,如果为堆栈中“柔体”下的“弯曲”修改器设置动画,那么在“柔体”停止时,对象的形状仅在该帧按“弯曲”修改器的设置改变。                      

影响所有点

强制“柔体”忽略堆栈中的所有子对象选择并对整个对象应用它本身。                      

设置参考

更新视口。

移动效果中心后,单击“设置参考”以更新视口。

重置

将顶点权重重置为默认值。                      

“高级弹力线”卷展栏              

如果需要比“简单软体”功能提供的弹力线设置更精确的弹力线设置,请使用这些设置。柔体使用两种弹力线:边弹力线,仅沿现有边创建弹力线;以及形弹力线,位于对象中任意两个不由边连接的顶点之间。一般,沿现有边添加边弹力线,在不共享边的顶点之间添加弹力线。                

注意在使用这些控件之前,请转到“权重和弹力线”子对象层级。                  

提示使用 MAXScript 可使用其他弹力线类型。详细信息,请参见 MAXScript 帮助。  

启用高级弹力线

使数值控件可用于编辑,并通过“简单软体”控件禁用“强度”和“倾斜”设置。默认设置为禁用状态。

此卷展栏中,“拉伸”和“倾斜”的四个数值设置仅在“启用高级弹力线”时可用。

添加弹力线

基于“权重和弹力线”子对象层级的顶点选择和弹力线选项对话框设置,为对象添加一条或多条弹力线。

注意不能撤消此操作。要删除现有弹力线,请选择端点,然后单击“删除弹力线”。                            

选项

打开用于确定如何使用“添加弹力线”功能添加弹力线的弹力线选项对话框。                      

移除弹力线

在“权重和弹力线”子对象层级删除已选中两端顶点的所有弹力线。                      

拉伸强度

确定边弹力线的强度;强度越高,弹力线之间可以变化的距离越小。                      

拉伸倾斜

确定边弹力线的倾斜;强度越高,边弹力线之间的角度变化越小。                      

图形强度

确定图形弹力线的强度;强度越高,弹力线之间可以变化的距离越小。                      

图形倾斜

确定形弹力线的倾斜;强度越高,形弹力线之间的角度变化越小。                      

弹力线数

显示边弹力线的数量,后面跟随包含在括号中的形弹力线数量。                      

保持长度

将边弹力线长度保持在指定百分比。

注意此设置在“柔体”模拟后应用,会影响对象形状,并造成碰撞检测失败。                            

显示弹力线

将边弹力线显示为蓝色线,将形弹力线显示为红色线。弹力线仅在“柔体”子对象模式处于活动状态时可见。

可使用 MAXScript 更改弹力线颜色。

,