布料修改器是布料系统的核心,应用于布料模拟组成部分的场景中的所有对象。该修改器用于定义布料对象和冲突对象、指定属性和执行模拟。其他控件包括创建约束、交互拖动布料和清除模拟组件。
左:尚未应用布料修改器
右:已应用布料修改器并进行模拟
在布料模拟中,需要让布料知道哪些对象将成为模拟的一部分,而哪些对象不是模拟的一部分。在完成上述操作之后,要定义制作的对象。此外还可以指定布料材质,以及什么是固体冲突对象。
由于布料是修改器,因此其实例将指定给每个要包括在布料模拟中的对象。这其中包括所有布料对象和冲突对象。注意分别带有单独布料修改器应用程序的布料对象彼此将不会交互。我们可以采用多种方式将对象包括在模拟中:
在进行布料模拟时考虑尺寸大小非常重要。一面大幅的旗帜和手帕的行为不同。如果关闭了比例,那么模拟也将关闭。由于布料处理的是真实世界中的物理,所以它在真实世界单位中工作。这意味着布料需要知道 3ds Max 中的单位与现实世界中的单位之间的关系。
例如,假定创建的平面为 10 x 10 的 3ds Max 单位。如果希望此平面的行为与 10 英寸 x 10 英寸手帕的行为类似,则需要告知布料 1 个 3ds Max 单位=1 英寸。如果希望此平面的行为与 10 英尺 x 10 英尺床单类似,则需要告知布料 1 个 3ds Max 单位=1 英尺。
除此部分开头所述情形之外,布料将忽略 3ds Max 系统单位设置(“自定义”菜单 “单位设置”“系统单位设置”下)。布料具有其自带的单位设置,该设置是由“模拟参数”卷展栏中的厘米/单位参数确定的。通过该参数可以告知布料1 个 3ds Max 单位等同于多少厘米 (cm)。由于 1 英寸等于 2.54 厘米,因此默认设置 2.54 意味着 1 个 3ds Max 单位等同于 1 英寸。
通过以下步骤可以确定此处使用的设置。
以下是一个快速参考示例:您将文件 man.obj 导入到 3ds Max 中,并希望为其穿上一件衬衫。
布料提供多种不同的方式来设置织物行为。您可以令布料的行为类似于皮革、丝绸、粗麻布和任意介于其间的材料。
在设定所有参数之后,我们已经准备就绪,可以开始模拟了。一般情况下,将先执行本地模拟来令织物和角色相匹配。在织物就位之后,可以多次模拟。
在布料中运行模拟非常轻松。您可以对模拟做出多种更改和编辑,将其作为一个不断完善的过程,而非一蹴而就的场景。
您可采用多种方式约束织物来在模拟期间创建不同的织物效果。布料可以约束布料具有额外的拖拽效果,就仿佛其在空气中飘荡,或者还可以令其受到场景中空间扭曲的影响。将一部分织物链接到动画对象或附加到曲面是其他常见约束。例如,创建裤子时要将裤子的顶部约束到角色的腰部;或者需要将窗帘约束到拉杆上。约束条件非常重要,同时也是布料的强大部分。布料可以创建多组约束顶点,以获取最大的灵活性。此外还可以将衣服的众多不同组成部分约束到不同节点曲面或其他布料对象。
布料中的约束可在修改器的“组”子对象层级创建。在此处,可以看到布料和冲突等所有选定对象的顶点。随后您可以选择这些对象并将其置于组中。在定义组之后,可将选择集附加或“约束”到另一对象,或令其受到外力的影响。
布料可以撕裂。有关如何执行此操作的示例,请参见此步骤。
在模拟过程中,布料在以下几种情况下会撕裂:
“强度”或“撕裂阈值”值(此二者相同)可用来设置撕裂布料的难易程度。
运行模拟之前,必须指定布料将撕裂的位置。为此,有以下几种不同方法可供选择:
请参见接缝子对象层级(布料)、曲线子对象层级 (Garment Maker) 和接缝子对象层级 (Garment Maker)。
请参见组卷展栏(布料)。
请参见组卷展栏(布料)。
示例:要使用“保持形状”选项,请执行以下操作:
如果布料对象以您想在模拟过程中保留的 3D 图形开始,则可以使用“保持形状”选项和设置保留此图形或甚至反转它。此简单步骤提供如何使用“保持形状”的示例。
这将生成初始管状图形。
禁用“重力”使布料对象在模拟期间不会滑落,使它们处于视图中,并降低平面相对大的尺寸的厘米/单位设置补偿。
这会打开“对象属性”对话框。
这也会将“V 弯曲”自动设置为 500.0。
通过使用高的弯曲值允许更快速地进行模拟。
下一步,分别为每个对象设置不同的“保持形状”属性。
几秒钟之后,不保持形状对象开始变得平缓,保持形状对象保持不变,而反转图形对象实际上反转了其图形,从而有效地创建了负的弯曲角度。
示例:要撕裂一块布料,请执行以下操作:
该平面两侧为两个虚拟对象
选择要在布料中创建撕裂的中心顶点
3ds Max 将创建新的“焊接”约束,该约束包括布料平面中心的顶点。
单击“制造撕裂”之后
3ds Max 将设置虚拟对象拉扯布料的动画。布料随之沿设置撕裂的顶点撕裂。
布料随着其边缘被拉开而在中心开裂
根据虚拟对象位置的不同,您在示例中所见到的撕裂可能与这些图中所示的有所不同。
要使用联网的渲染处理场运行布料模拟,请执行以下操作:
复杂布料模拟不仅需要大量计算,而且要花费很长的时间。布料包含使其易于在联网计算机上(渲染处理场的一部分)运行模拟的命令,从而可以释放计算机的空间,以用于场景的其他部分。
为了获得最佳效果,应指定映射的驱动器,并启用“强制 UNC 路径”。从而可以使用通用命名约定指定该路径,以便网络中的所有计算机都可以找到它。此外,将所有缓存文件保留在相同的目录中也是一种不错的方法。
与渲染不一样,网络布料模拟不能在多台服务器计算机之间拆分。
只要服务器计算机启动渲染,它就开始计算模拟并将结果保存到磁盘。通过单击“加载”按钮,您可以在任意位置从缓存文件加载最新状态的模拟,以检查其进度。