Skip to main content

Merge Skinned Mesh / 合并蒙皮网格

将一个或多个 SkinnedMeshRenderer 和 MeshRenderer 合并到同一个 SkinnedMeshRenderer 中。

你应该将此组件添加到具有未指定网格的 SkinnedMeshRenderer 组件的新游戏对象中。(种类:源编辑蒙皮网格组件)

好处

合并 SkinnedMeshRenderer 将减少变形网格(蒙皮)的数量。 此外,它可以合并使用相同材质球的材质槽,因此我们可以降低渲染成本。

注意

此组件将会让动画无法单独打开和关闭网格,但与材质球相关的动画无需修改即可工作。

此组件将配置 Mesh、Material、BlendShape 和 Bound,但其它设置不会被修改。请编辑附加在与 MergeSkinnedMesh 相同游戏组件上的 SkinnedMeshRenderer 组件,以设置 Anchor Override 等。

此组件适用于合并你的衣物网格和身体网格,但不适用于头部网格,因为 BlendShape 会对性能产生影响。BlendShape 的性能消耗与顶点和 BlendShape 的数量成正比。合并 SkinnedMesh 会增加顶点数量,而面部网格通常有许多 BlendShape。因此,合并头部网格并不是一个很好的点子。

另外,基于同样的原因,你应该冻结并移除身体/衣物网格中不变的 BlendShape。您可以使用 Freeze BlendShape 组件来冻结并移除 BlendShape。将此组件添加到合并源 SkinnedMeshRenderer 和/或合并后的 SkinnedMeshRenderer 中,以冻结并移除 BlendShape。此外,您还可以使用 Trace and Optimize 组件的 Automatically Freeze BlendShape 功能来获得相同的好处。

Trace And Optimize 将自动执行相同的过程,因此在某些情况下,你不需要使用此组件。

设置

component (2).png

Skinned Renderers / 蒙皮渲染器

要合并的 SkinnedMeshRenderer 列表。

将物体拖动到底部的 None 元素以添加渲染器,重置为 None 以从列表中删除。

Static Renderers / 静态渲染器

要合并的 MeshRenderer 列表(不带网格转换)。

将物体拖动到底部的 None 元素以添加渲染器,重置为 None 以从列表中删除。

Remove Empty Renderer GameObject / 移除空的渲染器游戏对象

如果选中此复选框,并且包含 SkinnedMeshRenderer 的游戏对象除了 SkinnedMeshRenderer 以外没有其它组件,则该游戏对象将从层级中移除。

Skip Enablement Mismatched Renderers / 跳过启用不匹配的渲染器

如果选中此复选框,则在构建时,渲染器的启用状态与目标渲染器不匹配的情况下,将不会被合并。

Merge Materials / 合并材质球

如果组件发现多个渲染器中使用了一些材质球,则这些材质球将在此处列出。

选中 Merge,将会使这些材质槽(子网格)合并成同一个材质槽。这样可以减少绘制调用。