使用 蒙皮权重配置文件(SWP),您能够替换原始蒙皮权重 (SW) 中作为 骨架网格体 的一部分存储的子集。 虽然此系统的用例可能有所不同,但一个可能的用例是,在禁用任何动态角色部分的情况下或某些平台上提高视觉逼真度。
例如在下面的视频中,为了提高低端平台上的性能,穿外套的角色可能会禁用其动态部分。 当脚抬起时,会导致令人不快的穿模。使用蒙皮权重配置文件,您可以获得一个合适的方法来替代使用开销更大的动态,同时还可以减少穿模的现象。
通过下图,您还能看到使用动态布料,不使用蒙皮权重配置文件的复制姿势以及在有蒙皮权重配置文件时运行的区别。
![]() |
![]() |
![]() |
---|---|---|
布料 | 复制姿势 | 配置文件 |
设置
必须在 编辑器 中导入并设置蒙皮权重配置文件,以便能够在运行时使用它们。
导入配置文件
在 骨架网格体编辑器 中执行导入配置文件。您需要提供一个FBX文件,其中包含不同的蒙皮权重、配置文件名称以及一个可选的LOD索引。
-
在 骨架网格体 的 资产细节(Asset Details) 面板中,单击 蒙皮权重(Skin Weights) 并选择 导入蒙皮权重配置文件(Import Skin Weight Profile) 下的 + 按钮。
-
选择包含要导入的蒙皮权重数据的FBX文件并点击 打开。
-
输入 配置文件名称(Profile Name)(和可选的LOD索引),然后单击 导入(Import)。
新的蒙皮权重配置文件将作为数组元素添加到 资产细节(Asset Details) 面板中。
导入特定LOD数据
如果您有使用自定义LOD的 骨架网格体 LOD,这意味着它们是单独导入的,而不是在引擎中生成的,则需要导入包含不同蒙皮权重的匹配文件。 这些文件也可以作为预存在的SWP的一部分导入,如下所示。
对于现有的SWP,选择要导入权重的LOD。

选择包含蒙皮权重数据的FBX文件后,此文件将显示在配置文件的 源文件(Source Files) 部分下。

为特定LOD导入配置文件
如果想要(或需要)在特定的LOD等级覆盖原始蒙皮权重,可以在导入过程中指定导入文件包含数据的LOD索引来实现这一点。

重新导入配置文件
如果更新了蒙皮权重配置文件的任何源数据,可以重新导入配置文件。如果存储的文件路径不再存在,将提示您输入新的文件位置。
为此,单击要重新导入的SWP的 重新导入(Reimport) 图标。

如果您有多个LOD,可以从重新导入菜单中选择要重新导入SWP的LOD。
利用不同的文件重新导入
在 骨架网格体编辑器 中,可以单击省略号(…)图标并选择一个新文件来从不同的文件导入蒙皮权重。

移除配置文件
您可以单击 移除配置文件(Remove Profile) 按钮,从而在 骨架网格体编辑器 中删除配置文件或配置文件中的LOD。

您可以从移除选项中删除配置文件中的整个SWP或LOD。
预览配置文件
您可以在视口中或在编辑器中运行会话期间预览特定SWP的不同蒙皮权重在动画编辑器中的显示效果。
您可以为蒙皮网格体组件(或子类)设置特定的SWP,方法是在视口中选择它并选择要预览的所需配置文件。
-
单击 角色(Character) 按钮,然后在 动画(Animation) 下的 蒙皮权重配置文件(Skin Weight Profile) 部分下, 选择所需的SWP。
当选择要预览的SWP时,将在视口中显示调试信息。
您还可以使用 细节(Details) 面板和 蒙皮权重配置(Skin Weights Profile) 设置在关卡编辑器主视口中预览蒙皮权重。
运行时蓝图公开的API
在运行时,您可以使用提供的(蓝图 公开的)API设置蒙皮网格体组件的SWP。
名称 | 蓝图节点 | 说明 |
---|---|---|
设置蒙皮权重配置文件(Set Skin Weight Profile) | ![]() |
它将根据提供的名称设置特定的SWP(如果存在)。 |
清除蒙皮权重配置文件(Clear Skin Weight Profile) | ![]() |
它将清除任何之前设置的SWP。 |
卸载蒙皮权重配置文件(Unload Skin Weight Profile) | ![]() |
它将强制卸载删除与所提供名称对应的蒙皮权重缓冲。 |
获取当前蒙皮权重配置文件(Get Current Skin Weight Profile) | ![]() |
返回当前设置的SWP的名称,否则返回"无(None)"。 |
正在使用蒙皮权重配置文件(Is Using Skin Weight Profile) | ![]() |
返回是否设置了配置文件。 |
伸缩性
系统能够在运行时加载默认设置的SWP,可以使用两个路径来执行此操作:静态或动态路径。
静态路径
在骨架网格体数据序列化期间,系统使用 静态 路径检查是否设置了默认配置文件,如果设置了则加载它。 它将使用原始的蒙皮权重缓冲,并用默认配置文件的数据覆盖其数据。 这意味着,无论何时使用静态路径加载了默认SWP,之后不能再应用任何更改,原始数据将丢失,直到重新加载骨架网格体。
如果用户试图更改为动态路径,或试图手动设置SWP,系统会产生错误。
动态路径
与静态路径一样,动态 路径也是在序列化期间加载默认配置文件。但是,它将创建一个新的蒙皮权重缓冲,而不是覆盖原始的蒙皮权重缓冲。 当任何子系统请求缓冲时,它将返回覆盖缓冲,而不是原始缓冲。这一系统的优点是,它可以在运行时进行切换,这就是它有别于静态路径的地方。
默认配置文件
您可以在 骨架网格体编辑器 的细节(Details) 面板中指定一个默认SWP配置文件,也可以基于每个平台或LODIndex覆盖原始蒙皮权重。

在上图中,一个SWP被指定为 桌面 的覆盖,另一个SWP被设置用于 移动。
将SWP指定为默认配置文件时,将无法将任何其他配置文件指定为默认配置文件。

指定了一个默认配置文件后,在 来自LODIndex的默认配置文件(Default Profile from LODIndex) 下,LOD索引集下面的任何LOD都将用配置文件中的蒙皮权重覆盖骨架网格体的蒙皮权重。

运行时的控制台命令
在运行时预览SWP系统时,可以使用以下控制台命令:
名称 | 说明 |
---|---|
a.SkinWeightProfile.LoadByDefaultMode | 启用/禁用运行时优化,从而用指定的默认配置文件覆盖原始蒙皮权重。可用于优化特定平台或设备的内存。
|
a.SkinWeightProfile.DefaultLODOverride | 重载默认蒙皮权重配置文件中的LOD索引可以重载骨架网格体的默认蒙皮权重。
|
a.SkinWeightProfile.AllowedFromLOD | 在蒙皮权重配置文件中重载LOD索引后,可以将其应用。
|