跳转到内容
返回
本页目录

使用文档

SimpleStaticMeshMerger 使用文档

SimpleStaticMeshMerger 的完整中文产品使用文档

本指南介绍如何使用 SimpleStaticMeshMerger 插件合并静态网格体实例,优化场景性能。

  • Unreal Engine 5.2–5.8
  • 版本 1.1.0(Version 2)

启用插件后,在编辑器菜单中找到工具入口:

  1. 打开 Unreal Engine 编辑器
  2. 点击顶部菜单 Window > Static Mesh Merger
  3. 工具窗口将作为可停靠面板打开

工具窗口由三个主要区域组成:

  • Break Level Instances:递归拆分场景中所有 LevelInstance(包括嵌套的)
  • Refresh:手动刷新合并预览
  • Type Dropdown:选择合并类型(HISM 或 ISM,默认 HISM)
  • Merge Selected:合并选中的分组
  • ☑ Static:包含静态对象
  • ☑ Stationary:包含固定对象
  • ☐ Movable:包含可移动对象
  • 默认:勾选 Static + Stationary
  • 范围:0 - 1000
  • 默认:2(仅显示至少 2 个实例的分组,合并至少需要 2 个可勾选实例)
  • 目的:过滤掉实例过少、优化收益极小的分组

显示所有符合条件的合并分组,每个包含:

  • ☑ 复选框:选择参与合并的分组
  • 分组名称:使用第一个未排除实例的名称(动态更新)
  • 实例详情:显示”实例数 • 类型 • Mobility”(如 5 Instances • HISM • Static)

顶部功能:

  • 搜索框:按实例名称模糊搜索(分词 + 顺序匹配)
  • Select All:批量勾选/取消当前显示的分组

显示左面板选中分组中的所有实例:

  • ☑ 复选框:勾选表示包含在合并中,取消勾选表示排除
  • Actor 名称:实例在场景中的标签
  • [⊙] 定位按钮:点击跳转到场景中的 Actor 并在 Outliner 中选中

顶部功能:

  • Toggle All:批量勾选/取消所有实例

支持分词模糊搜索,关键词必须按顺序出现:

示例:搜索 SM 02

  • ✅ 匹配:SM_Rock_02(“SM” 在 “02” 前面)
  • ✅ 匹配:SM_000002(“SM” 在 “02” 前面)
  • ❌ 不匹配:02_SM_Rock(顺序错误)
  • ❌ 不匹配:Rock_02(缺少 “SM”)
  • 仅影响显示:不修改数据,清空搜索框恢复所有分组
  • 分组级过滤:如果分组中有任意实例匹配,整个分组显示(包含所有实例)
  • 合并限制:仅合并当前显示且已勾选的分组

插件自动将属性完全相同的 Actor 归入同一分组,包括:

  1. 静态网格体:使用的静态网格体资产
  2. Mobility:Mobility 类型(Static/Stationary/Movable)
  3. 完整碰撞设置:
    • 碰撞启用类型(NoCollision/QueryOnly/PhysicsOnly 等)
    • 碰撞配置文件名
    • 碰撞对象类型
    • 所有 32 个碰撞通道的响应
  4. 材质:材质列表

只有所有属性完全相同的 Actor 才会被合并到一个分组。


  1. 打开工具:Window > Static Mesh Merger
  2. (可选)拆分 LevelInstance:点击 Break Level Instances 按钮
  3. 配置过滤器:
    • 勾选需要的 Mobility 类型
    • 设置最小实例数阈值
  4. 查看预览:左面板显示所有合并分组
  5. (可选)搜索过滤:在搜索框输入关键词
  6. 勾选分组:
    • 点击 Select All 批量勾选
    • 或手动勾选要合并的分组
  7. (可选)排除实例:
    • 点击左面板分组查看右侧实例列表
    • 取消勾选不想合并的实例
  8. 执行合并:点击 Merge Selected 按钮
  9. 查看结果:合并完成后自动选中新创建的 ISM/HISM Actor
  1. 使用搜索框缩小范围(如搜索 Tree 仅显示树相关分组)
  2. 取消勾选不需要的分组
  3. 进入右面板排除个别实例
  4. 点击合并仅处理当前显示且已勾选的分组
  • 点击右侧实例列表中的 [⊙] 按钮
  • 编辑器视口跳转到该 Actor
  • Outliner 同步选中

排除实例导致可勾选数量 < 最小实例数时,分组自动取消勾选


  • Actor 总数 >= 最小实例数
  • 可勾选 Actor 数 >= 最小实例数
  • 实际参与合并的 Actor 数 >= 最小实例数

示例(最小实例数 = 2):

  • 分组有 5 个实例
  • 取消勾选 3 个实例
  • 剩余 2 个可勾选实例
  • 可以合并(2 >= 2)

点击 Break Level Instances 递归拆分场景中所有 LevelInstance:

  • ✅ 自动处理嵌套 LevelInstance
  • ✅ 智能去重(相同路径的重复实例被删除)
  • ✅ 实时进度通知(滚动显示当前项目)
  • ✅ 每轮迭代后 UI 自动刷新
场景处理方式结果
首次遇到路径加入缓存 → 拆分内容移至主场景
同级重复检测 → 删除避免重复内容
嵌套重复检测 → 删除避免循环引用

  • 仅合并**主场景(PersistentLevel)**中的 Actor
  • 不包含 LevelInstance 内部的 Actor(需先拆分)
  • 所有属性必须相同才会归为一组
  • 完整复制碰撞配置文件
  • 精确复制对象类型和所有 32 个通道响应
  • 合并后碰撞行为与原始 Actor 一致
  • 默认 2:至少需要 2 个实例才能合并
  • 过滤掉实例过少的分组(优化收益极小)
  • 可按需调整(范围 0-1000)
  • 自动监控 Actor 添加/删除(500ms 延迟后刷新)
  • 切换地图时清空列表(需手动点击 Refresh)
  • 排除列表持久化:取消勾选的实例记录在排除列表中
  • 刷新时保持状态:点击 Refresh 或场景变化自动刷新保留排除状态
  • 窗口级生命周期:仅关闭并重新打开窗口时所有实例重置为默认勾选状态
  • 使用场景:可逐步调整排除实例,多次刷新验证结果而无需重复操作
  • 自动选中所有新创建的 ISM/HISM Actor
  • 视口跳转到第一个新创建的 Actor
  • 原始 Actor 被销毁

  1. 优先合并大量重复:实例越多,优化效果越好
  2. 分批合并:使用搜索按类别合并(如先合并树,再合并石头)
  3. 保留必要分组:不要合并需要单独控制的对象
  • HISM(默认推荐):

    • 支持 LOD
    • 支持遮挡剔除
    • 大规模实例性能更好
  • ISM:

    • 更简单轻量
    • 小规模实例开销更低

打开 编辑 → 项目设置,进入 SimpleStaticMeshMerger 设置页,将 Language 设置为 English 或 中文。默认语言为英文。面向用户的界面、提示、通知和功能日志会立即更新,无需重启编辑器;公开 API 名称以及模块启动/关闭日志始终保持英文。

如有使用问题或合作需求,请前往联系页面。

通过窗口预览 StaticMeshActor 分组,筛选需要合并的对象,再生成实例化网格。

1. 处理 LevelInstance

点击 Break Level Instances 按钮:

  • 自动递归破除所有嵌套LevelInstance
  • 实时显示处理进度(Breaking: [名称])
  • 完成后自动刷新合并预览

2. 分组预览

插件会自动将场景中的StaticMeshActor按以下属性严格分组:

  • Mesh(相同模型)
  • Mobility(Static/Stationary/Movable)
  • 完整碰撞配置(Profile + ObjectType + 32通道响应)
  • Materials(所有槽位材质)

3. 实时过滤与排除

  • Mobility筛选:只显示Static/Stationary/Movable的Actor
  • 最小实例数:过滤掉实例数过少的组(默认2,即至少3个才合并)
  • Actor排除:右侧列表可取消勾选不需要合并的Actor

4. 合并选中对象

点击 Merge Selected 按钮:

  • 自动创建HISM/ISM Actor
  • 复制碰撞、材质与移动性设置
  • 删除原始Actor
  • 自动选中并跳转到新创建的Actor
工作流程:
1. Window → Static Mesh Merger(打开插件窗口)
2. 点击 Break Level Instances(如果场景中有LevelInstance)
3. 配置筛选条件:
☑ Static ☑ Stationary ☐ Movable
Min Instance Count: 2
4. 左侧勾选要合并的组
5. 右侧排除不需要的Actor(可选)
6. 点击 Merge Selected
7. 完成!自动跳转到新创建的HISM Actor

合并前:

Scene Outliner
├── TreeActor_1
├── TreeActor_2
├── TreeActor_3
├── ...
└── TreeActor_125 (125个独立Actor)

合并后:

Scene Outliner
└── MergedActor_SM_Tree_01 (1个HISM Actor,包含125个实例)
  • 保留可恢复的场景版本;合并会替换原 Actor。
  • 检查各组的模型、材质、移动性和碰撞设置。
  • 合并后查看实例数量,并检查场景表现。
  • 实际加载时间和帧率需要在目标项目中测量。