布料工具

介绍如何使用虚幻引擎编辑器内的工具创建布料。

Windows
MacOS
Linux
See Also

从虚幻引擎4.16版本开始,APEX Cloth现已被替换为NVIDIA的NvCloth解算器,其是负责运算布料的粒子模拟的低级布料解算器。由于我们现在能够直接访问模拟数据,因此利用此布料解算器可轻量化整合,并极具延展性。

ClothingOverviewBanner.png

布料工具在编辑器中可用后,工作流便已被重新定义,开发人员可以直接使用虚幻引擎来编写内容,而不需要依赖外部程序。

新布料工作流程

旧布料工作流程

点击查看大图。

点击查看大图。

旧工作流程使用APEX Cloth,您需要使用外部程序(NVIDIA 的布料工具)或需要特定软件(3DS Max/Maya)进行内容创建的DCC插件,以开发虚幻引擎外的所有资源。您只在最后开发阶段才将创建的内容导入虚幻引擎并将其指定到网格体。这意味着如果要进行修改,则必须返回原始程序,在编辑器外重新创建内容。

在新的工作流程中,您可以直接在虚幻引擎中一次性创建内容,并执行所有布料的创建编辑。这使测试内容的创建和迭代更快速,还可以避免内容创建和内容使用的不同之处导致的不便。新流程中布料模拟均为实时进行并在游戏中显示,您可随时查看所有编辑的内容。

布料绘制工作流程

使用编辑器内创建布料的新工作流程,通过布料绘制工具可使用骨架网格体的现有材质元素快速创建角色的布料。

  1. 分段选择(Section Selection)- 选择用于绘制布料的材质ID。

  2. 布料绘制面板(Cloth Paint Panel)- 包含绘制布料需要的所有必要工具和属性。

根据以下步骤学习创建布料资源并将其指定给角色的过程,以及在渲染网格体上绘制的基础知识。

创建并指定布料资源

要开始使用布料,首先需要在细节级别(LOD)部分中创建布料资源,并将其指定至渲染网格体,以便在其上进行绘制。

根据以下步骤进行学习:

  1. 在骨架网格体编辑器中,单击主工具栏上的 分段选择(Section Selection) 按钮。您可选择已指定自身材质元素的骨架网格体的不同部分。

  1. 单击鼠标左键选择要用作布料的网格体部分。然后右键单击打开快捷菜单来创建布料资源。

    单击图像以查看完整尺寸。

  1. 在快捷菜单中选择 在选项中创建布料资源(Create Cloth Asset from Selection),然后填写以下菜单区域:
    CreateClothContextMenu.png

    • 资源名称(Asset Name) - 为资源命名,便于之后查找。

    • 从网格体移除(Remove from Mesh) - 若要将几何体的一个单独模型块关联为布料,则可启用此项。若不需要,则无需勾选。

    • 物理资源(Physics Asset) - 若此布料资源用于角色,请使用此处的物理资源以确保布料模拟产生适当的碰撞。

    完成设置后单击 创建(Create) 按钮。
    CreateClothButton.png

  2. 对部分再次右键单击以打开快捷菜单,将光标悬停在 应用布料资源(Apply Clothing Asset) 上,然后在可用布料资源中选择需要应用的对象。它会与所选部分创建的布料资源进行关联。
    ClothSectionAssignment.png

在布料上绘制

准备好在布料上进行绘制后,可使用以下功能按钮开始在所选布料资源上绘制:

  • 绘制(Paint)- 鼠标左键

  • 擦除(Erase)- Shift + 鼠标左键

  • 布料预览(Cloth Preview)- H

若您使用过NVIDIA的PhysX DCC插件或其他程序的类似绘制工具,进行3DS Max或Maya的布料创建,那便不会对此操作中的功能按钮感到陌生。

  1. 在骨架网格体编辑器中,前往文件菜单并选择 窗口(Window),然后在列表中选择 布料(Clothing)
    Painting_Step1-1.png
    此操作将打开 布料(Clothing) 面板。
    Painting_Step1B-1.png

  2. 单击 激活布料绘制(Activate Cloth Paint) 按钮来启用可用于绘制所选布料资源的属性。
    Painting_Step1C-2.png

  3. 布料(Clothing) 面板中,从 布料数据(Clothing Data) 列表中选择指定的 布料资源(Cloth Asset)
    Painting_Step2.png

  4. 布料绘制(Cloth Painting) 部分选择要使用的绘制工具 类型,然后设置 绘制值(Paint Value)(默认使用笔刷绘制工具)。然后单击鼠标左键并在网格体表面拖动以开始绘制。

    按住 H 键盘快捷键以预览您绘制的布料。

绘制工具

PaintToolSelection.png

利用 工具(Tool) 选项,选择可用的笔刷来绘制布料。

笔刷

利用 笔刷(Brush) 工具在布料资源上进行拖动即可在布料上绘制出半径和强度值。

Brush.png

绘制布料时使用 绘制值(Paint Value) 控制笔刷的强度。此数值控制绘制区域近似于布料响应的程度。数值为0时蒙皮顶点无法移动,而数值为100时蒙皮顶点可从原始位置移动1米。

Paint_Brush.png

有关该工具及其属性的更多详情,请参阅此处的笔刷属性 参考。

梯度

利用 梯度(Gradient) 工具,可在选择的一组布料值之间绘制出渐变混合。

Gradient.png

绘制梯度需要执行以下步骤:

  1. 使用 鼠标左键 绘制 梯度起始值(Gradient Start Value)。它由已绘制顶点上的 绿 点来表示。

  1. 按住 Ctrl + 鼠标左键 绘制 梯度结束值(Gradient End Value)。它由已绘制顶点上的 点来表示。

  1. 完成绘制后按下 回车 键绘制梯度。

Gradient Example.png

有关该工具及其属性的更多详情,请参阅此处的梯度属性 参考。

平滑

利用 平滑(Smooth) 工具,可模糊或柔化绘制布料值之间的对比度。

Smooth.png

使用 强度(Strength) 值可调整模糊效果的强弱,用于在绘制区域之间创建柔化梯度。

Paint_Smooth.png

有关该工具及其属性的更多详情,请参阅此处的平滑属性 参考。

填充

利用 填充(Fill) 工具,可使用其他数值替代数值相似的区域。

Fill.png

使用 填充值(Fill Value) 设置填充区域顶点的数值。采样用于替换的顶点时,使用 阈值(Threshold) 设置填充操作所用的数值。

Painted Area (White

Painted area using | Fill value of 1.0

有关该工具及其属性的更多详情,请参阅此处的填充属性 参考。

布料属性

利用 布料配置(Cloth Config) 属性可调整布料以模拟不同类型的材质,如粗麻布、橡胶,或是其他类型的布料材质。

ClothConfig.png

有关布料配置属性的更多详情,请参阅此处的布料配置属性 参考。

遮罩

遮罩(Mask) 是一类参数集,可用于交换布料资源。

Masks.png

该参数集代表以下 目标(或参数集):

  • 最大距离(Max Distance):布料上的点从其动画位置移动的最远距离。

  • 逆止距离(Backstop Distance):布料上的点所用偏移,以限制最大距离(Max Distance)内的移动。

  • 逆止半径(Backstop Radius):与最大距离(Max Distance)相交时,可防止布料上已绘制的点进入该区域的球体半径。

  • 动画驱动乘数(Anim Drive Multiplier):用于驱动弹簧朝动画设置的位置拉伸布料,使动画师能够控制过场或动画驱动的场景。

    • 也可在运行时使用Actor之间的对象来驱动,蓝图可以在骨架网格组件上访问该对象。

    • 运行时设置的值与绘制的值相乘组合,得到最终的弹簧和阻尼强度。

可同时含有多个 目标,但一次仅能指定一个。此操作可以非破坏性方式快速测试不同配置。

要创建遮罩并将其指定至目标,请按照以下步骤操作:

  1. 单击 加号 (+)按钮新建空白遮罩。
    Masks01.png

  2. 右键单击新遮罩,将光标悬停在 设置目标(Set Target) 上,从可用的 目标(Targets) 列表中进行选择。
    Masks_Step 2.png

  3. 在遮罩(Mask)窗口中,可看到所选目标已被列为布料资源的活动目标。

    Masks_Step 3.png

  4. 也可单击窗口中的默认名称并输入新名称,以重命名该遮罩。

    Masks_Step 4.png

还可通过快捷菜单将骨架网格体顶点颜色复制到选定的布料参数遮罩:

CopyFromVertexColor.png

有关遮罩的更多详情,请参阅此处的遮罩属性 参考。

从骨架网格体复制布料

如果有多个相似类型的骨架网格体,例如角色的斗篷,可以使用 从骨架网格体复制布料(Copy Clothing from SkeletalMesh) 选项将已经定义好的布料设置复制并导入到另一个骨架网格体,无需重新设置全部参数,节省时间。

CopyClothing.png

要进行此操作,只需找到 布料数据(Clothing Data),点击 从骨架网格体复制布料(Copy Clothing from SkeletalMesh) 并选择要复制器布料数据的骨架网格体即可。

APEX(旧有)资源

若已使用NVIDIA提供的APEX布料工具创建3DS Max或Maya的布料资源,可继续使用该工作流程。将APEX布料(.apx或.apb)文件导入编辑器有2种方法。

骨架网格体编辑器 中,可使用 资源详情(Asset Details)布料(Clothing) 部分下的 添加APEX布料文件(Add APEX clothing file...) 按钮。

APEXLegacyImport.png

或者也可启用编辑器内的布料工具,使用 布料(Clothing) 窗口中 资源(Assets) 下的 加号(+)按钮来导入APEX文件。

ImportAPEX.png

使用此方法时,APEX布料资源将转换到编辑器内工具,在创建不同参数(如 最大距离(Max Distance)逆止(Backstop))遮罩的同时,相应地创建和指定至渲染网格体。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback