# MetaCore 模型工作流 Roadmap(对标 Unity / UE) 生成时间:2026-04-11 状态:执行稿 范围:模型导入、资源浏览、场景实例化、层级结构、Inspector、模型/材质编辑 ## 目的 这份文档用于回答一个很实际的问题: **如果以 Unity / UE 的模型内容工作流为参照,MetaCore 现在做到哪里了,还差哪些,应该先补什么。** 这里关注的不是单个函数是否存在,而是整条用户工作流是否成立: ```text 外部模型文件 -> 进入项目资源系统 -> 在资源界面可见、可查、可重导入 -> 拖入 Scene / Hierarchy -> 生成对象树 -> 在 Hierarchy / Inspector 中查看和编辑 -> 保存、重开、重导入后仍然稳定 ``` ## 结论先说 当前 MetaCore 已经具备: - 模型资源化基础 - glTF/glb 主导入链 - 模型节点树实例化 - Mesh / Material / Texture 资产文档 - Prefab 基础工作流 - Scene / Hierarchy / Inspector 的基础对象编辑链 但距离 Unity / UE 风格的完整模型工作流,还缺一整层**编辑器交互闭环**。 一句话概括: **MetaCore 现在更像“已经有模型资产内核的编辑器原型”,还不是“完整的模型内容生产工具”。** ## 现状总评 按整体工作流评估,当前大致处于: - 底层能力:55 / 100 - 编辑器工作流:30 / 100 - 整体生产力:35 / 100 ### 为什么不是更低 因为下面这些主链已经存在: - `AssetDatabase` - `ImportPipeline` - `CookService` - `ModelAssetDocument` - `InstantiateModelAsset` - `Prefab Create / Instantiate / Apply / Revert` - Scene 对象树编辑 ### 为什么也还不能更高 因为下面这些仍然是核心缺口: - 真正可用的 `Project / Content Browser` - 资源拖拽进 `Scene / Hierarchy` - 模型资源 Inspector - 材质资源 Inspector - 资源级编辑与实例级编辑边界 ## 评估维度 本文按下面 8 个维度评估: 1. 模型导入链路 2. Project / Content Browser 3. 资源拖拽到 Scene / Hierarchy 4. 模型实例化后的层级结构 5. 模型与资源信息查看 6. 模型对象 Inspector 编辑 7. 材质资源编辑 8. Prefab / 模型实例 / 覆盖关系 状态分级: - `已完成`:主链可用 - `半完成`:底层有了,编辑器交互/UI 不完整 - `未完成`:尚未形成工作流 优先级分级: - `P0`:必须先补,不然整体不像编辑器 - `P1`:主链打通后紧接着补 - `P2`:增强项或第二阶段内容 --- ## 一、模型导入链路 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | 外部文件导入到项目 | 支持拖入编辑器窗口复制到 `Assets` 并刷新导入 | Unity/UE 是明确的 Project/Content Browser 导入工作流 | 半完成 | P0 | | glTF / glb 导入 | 已有主实现,能生成模型/mesh/material/texture/node 文档 | Unity/UE 更成熟,支持更完整导入设置与报告 | 半完成 | P0 | | obj / fbx 导入 | 有 generic fallback,更像占位支持 | Unity/UE 是正式导入器 | 半完成 | P2 | | 导入后生成正式资源 | 已生成 mesh/material/texture/model 结构 | 方向正确 | 已完成 | - | | 重导入 | 有 `ReimportAsset`,有 GUID 稳定性测试 | 缺完整 UI、导入参数持久化、差异反馈 | 半完成 | P1 | | 导入错误诊断 | 有部分失败路径与 fallback | 缺统一导入日志/导入报告面板 | 半完成 | P1 | | 导入设置面板 | 基本没有 | Unity/UE 很强 | 未完成 | P1 | ### 现状判断 这部分最接近“引擎底层已经有了”。 问题不在于不能导,而在于: - 用户不容易理解导入结果 - 导入设置和重导入控制还不够显式 - 还没有形成真正的内容浏览工作台 ### 目标状态 第一阶段目标不是“支持所有格式”,而是: **把 glTF/glb 做成真正可用于生产的基线导入格式。** --- ## 二、Project / Content Browser 这是当前最大的缺口。 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | 目录树浏览 | 设计文档明确,代码主链未形成成熟面板 | Unity/UE 的核心入口 | 未完成 | P0 | | 资源列表 | `AssetDatabase` 能提供记录,但 UI 还不够成型 | Unity/UE 有成熟列表/卡片/缩略图 | 半完成 | P0 | | 搜索 / 筛选 | 设计有,现状不足 | Unity/UE 标配 | 未完成 | P1 | | 资源图标 / 缩略图 | 基本不足 | Unity/UE 标配 | 未完成 | P1 | | 资源右键菜单 | 设计有,现状不足 | Unity/UE 标配 | 未完成 | P1 | | 选中资源联动 Inspector | 方向有,完整表现不足 | Unity/UE 很成熟 | 半完成 | P0 | | Refresh / Reimport 入口 | 服务已存在,界面入口不足 | Unity/UE 明确 | 半完成 | P0 | | 引用定位 / 反查 | 基本没有 | Unity/UE 常用能力 | 未完成 | P2 | ### 现状判断 MetaCore 现在有 `AssetDatabase`,但还没有真正做出: **资源工作台。** 如果这部分不先补,导入器再强,也只是后台服务,不是生产力工具。 ### 目标状态 第一阶段至少应达到: - 左侧目录树 - 中间资源列表 - 右侧 Inspector - 基本搜索 / 筛选 - Reimport / Refresh / Create Folder / Copy Path --- ## 三、资源拖拽到 Scene / Hierarchy | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | 模型资源实例化服务 | 已有 `InstantiateModelAsset()` | 后端能力已具备 | 已完成 | - | | 从 Project 拖到 Scene | 后端可支持,交互主链不完整 | Unity/UE 很成熟 | 未完成 | P0 | | 从 Project 拖到 Hierarchy | 设计已定义,现状未成型 | Unity/UE 标配 | 未完成 | P0 | | 材质拖到对象材质槽 | 设计有,现状未成型 | Unity/UE 标配 | 未完成 | P0 | | Prefab 拖入场景 | Prefab 服务存在 | 缺正式 Content Browser 拖拽体验 | 半完成 | P1 | | Drop 预览 / 高亮 / 放置反馈 | 基本没有 | Unity/UE 强 | 未完成 | P1 | ### 现状判断 这里是“服务有了,但编辑器交互没长出来”的典型模块。 这是 MetaCore 从“会导入”走向“像编辑器”的关键门槛。 ### 目标状态 第一阶段最小要求: - 模型资源拖到 Scene:生成对象树 - 模型资源拖到 Hierarchy:生成对象树并支持指定父节点 - 材质资源拖到对象:改材质槽 - Prefab 拖到场景:实例化 Prefab --- ## 四、模型实例化后的层级结构 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | 保留模型节点层级 | 已支持 `Nodes + ParentIndex + MeshIndex` | 方向正确 | 已完成 | - | | 实例化为 `GameObject` 树 | 已支持 | 第一版已可用 | 已完成 | - | | 节点局部 Transform 保留 | 已支持 | 正确 | 已完成 | - | | Hierarchy 显示对象树 | 已有基础 | 还需更完整交互与资源联动 | 半完成 | P0 | | 多选 / 复制 / 删除 / 重挂接 | 已有基础服务和测试 | 接近最小可用 | 已完成 | - | | 搜索过滤层级 | 设计有,现状不强 | Unity/UE 常用 | 未完成 | P1 | | 重挂接 UX | 逻辑有,视觉与反馈不够 | Unity/UE 更成熟 | 半完成 | P1 | | 资源侧结构预览 | 不足 | Unity/UE 有资源结构理解路径 | 未完成 | P1 | ### 现状判断 这是 MetaCore 当前比较像样的一块。 问题不是“不能生成对象树”,而是: - 资源侧结构视角不够 - Hierarchy 交互还不够编辑器化 - 资源拖拽和层级树联动不够完整 --- ## 五、模型与资源信息查看 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | 显示 `SourcePath / ImporterId / SourceHash` | 数据层有 | UI 呈现不完整 | 半完成 | P0 | | 显示 mesh/material/texture 数量 | 数据层有 | Inspector 仍不够完整 | 半完成 | P0 | | 节点结构摘要 | 数据层有 | 缺正式模型资源 Inspector | 半完成 | P1 | | Vertex / Index / SubMesh / AABB | MeshAsset 里已有部分 | 缺 UI 呈现 | 半完成 | P1 | | 导入警告/问题显示 | 有少量日志 | 缺正式 import report | 未完成 | P1 | | 依赖关系查看 | 基本没有 | Unity/UE 较成熟 | 未完成 | P2 | ### 现状判断 MetaCore 现在已经不是“没有模型信息”,而是: **模型信息存在于数据层,但没有充分变成编辑器能力。** ### 目标状态 第一阶段模型资源 Inspector 至少显示: - 源文件路径 - 导入器类型 - 模型类型与格式 - 节点数量 - Mesh 数量 - Material 数量 - Texture 数量 - 每个 mesh 的顶点/索引数量 --- ## 六、模型对象 Inspector 编辑 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | Transform 编辑 | 已有 | 最小主链成立 | 已完成 | - | | MeshRenderer 编辑 | 已有基础字段 | 偏对象快照,不够资源化 | 半完成 | P0 | | BaseColor / Visible 等基础项 | 已有 | 可用但偏原型 | 半完成 | P1 | | 材质槽指派 | 数据结构支持 `MaterialAssetGuids` | UI 不够成熟 | 半完成 | P0 | | Mesh 资源替换 | 理论可做,完整流程不足 | Unity/UE 成熟 | 半完成 | P1 | | SourceModel / Node 信息展示 | 有字段 | UI 薄 | 半完成 | P1 | | SubMesh 级编辑 | 基本没有形成工作流 | Unity/UE 常见 | 未完成 | P2 | ### 核心问题 当前 `MeshRenderer` 里仍混着很多材质表现字段: - `BaseColor` - `Metallic` - `Roughness` - 贴图路径 这在原型阶段合理,但长期会模糊: - 对象实例编辑 - 材质资源编辑 - override 关系 ### 目标状态 应逐步收敛为: - 对象 Inspector:编辑资源引用 - 材质资源 Inspector:编辑材质内容 - override 路径清晰 --- ## 七、材质资源编辑 这部分是 MetaCore 与 Unity / UE 差距很大的区域。 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | Material 资源结构 | `MetaCoreMaterialAssetDocument` 已定义 | 方向正确 | 已完成 | - | | 材质资源生成 | 模型导入已生成 | 第一版可用 | 已完成 | - | | 材质资源 Inspector | 尚未成型 | Unity/UE 很成熟 | 未完成 | P0 | | 贴图槽编辑 | 数据结构有 | 编辑器工作流未成型 | 半完成 | P0 | | Metallic / Roughness / Alpha 编辑 | 数据结构有 | 编辑器工作流不足 | 半完成 | P1 | | 实时刷新到场景实例 | 不确定是否全链完整 | Unity/UE 标配 | 半完成 | P1 | | 材质资源与对象 override 区分 | 基本还没拉清 | Unity/UE 很强 | 未完成 | P1 | ### 现状判断 你已经有“材质资源格式”,但还没有真正的: **材质编辑器。** 这意味着: - 导入出来的材质能保存 - 但不代表用户能舒服地编辑它们 --- ## 八、Prefab / 模型实例 / 覆盖关系 | 能力 | MetaCore 现状 | 对标 Unity / UE | 状态 | 优先级 | |------|---------------|------------------|------|--------| | 从选择创建 Prefab | 已有 | 很不错 | 已完成 | - | | Prefab 实例化 | 已有 | 第一版可用 | 已完成 | - | | Apply / Revert | 已有 | 第一版可用 | 已完成 | - | | PrefabInstance 元数据 | 已有 | 方向正确 | 已完成 | - | | 模型实例和 Prefab 实例关系清晰化 | 不够 | Unity/UE 心智清晰 | 半完成 | P1 | | 对象字段 override 可视化 | 有少量 apply/revert 提示 | 远不如 Unity/UE | 半完成 | P1 | | 资源级 override 管理 | 基本没有 | Unity/UE 更成熟 | 未完成 | P2 | ### 现状判断 Prefab 是当前 MetaCore 一个意外偏强的模块。 但要真正接近 Unity: - Prefab - 模型实例 - 材质资源 - 对象字段 override 这几层关系必须在 UI 和数据层都更清晰。 --- ## 差距清单:最关键的 10 项 当前最关键缺口如下: 1. 真正可用的 `Project / Content Browser` 2. 模型 / 材质 / Prefab 从资源面板拖到 `Scene / Hierarchy` 3. 模型资源 Inspector 4. 材质资源 Inspector 5. 资源编辑与实例编辑边界清晰化 6. 导入设置 / Reimport 工作流 UI 7. 模型导入结果可视化:mesh / material / texture / node 摘要 8. 材质槽编辑与材质拖放 9. 资源搜索、筛选、右键菜单 10. 更完整的导入诊断与引用定位 --- ## 建议路线图 下面给出推荐分阶段路线。 ## Phase A:先做成“像编辑器”的最小闭环 目标: **让用户第一次感受到 MetaCore 不是后台工具,而是可用编辑器。** ### A1. Project 面板最小可用版 内容: - 目录树 - 当前目录资源列表 - 基本图标/类型标识 - 选中资源联动 Inspector - Refresh / Reimport / Create Folder / Copy Relative Path 依赖: - `AssetDatabase` 已有 优先级: - `P0` ### A2. 资源拖拽主链 内容: - Model -> Scene View - Model -> Hierarchy - Prefab -> Scene View / Hierarchy - Material -> MeshRenderer 材质槽 依赖: - `InstantiateModelAsset` - `InstantiatePrefab` 优先级: - `P0` ### A3. 模型资源 Inspector 最小版 内容: - 源路径 - 导入器 - 格式 - Mesh / Material / Texture / Node 数量 - Mesh 列表摘要 - Reimport 按钮 优先级: - `P0` ### A4. 材质槽指派 UI 内容: - 对象 Inspector 中显示材质槽 - 可替换材质资源 - 支持从资源面板拖入 优先级: - `P0` ### A5. 材质资源 Inspector 最小版 内容: - BaseColor - BaseColorTexture - NormalTexture - Metallic / Roughness - AlphaMode - DoubleSided 优先级: - `P0` --- ## Phase B:把主链做顺 目标: **让模型工作流从“能跑”进入“好用”。** ### B1. 搜索 / 筛选 内容: - 按名称搜索 - 按类型筛选:Model / Mesh / Material / Texture / Prefab / Scene 优先级: - `P1` ### B2. 导入诊断 / 报告面板 内容: - 最近一次导入结果 - 丢失贴图 - 无法解析节点 - fallback 提示 - reimport 结果摘要 优先级: - `P1` ### B3. 场景与资源反向定位 内容: - 选中对象可定位资源 - 选中资源可高亮引用对象 优先级: - `P1` ### B4. override 与实例关系清晰化 内容: - Prefab override 显示 - 材质资源覆盖提示 - 对象实例 vs 资源实例心智拉清 优先级: - `P1` --- ## Phase C:第二阶段增强 目标: **让 MetaCore 开始进入接近 Unity / UE 深水区的内容工具形态。** ### C1. 模型导入设置页 内容: - 坐标系 - 缩放 - 法线/切线导入策略 - 材质重映射 - 默认碰撞 优先级: - `P2` ### C2. 更完整 FBX 导入 内容: - 正式而非 fallback 的 FBX 导入链 优先级: - `P2` ### C3. 模型资源独立编辑器 内容: - Static Mesh / Model 详情页 - 节点结构预览 - SubMesh / Material Slot 可视化 - 统计信息与预览 优先级: - `P2` ### C4. 动画 / 蒙皮 / 更完整资源链 内容: - 骨骼 - 动画 clip - 蒙皮网格 优先级: - `P2` --- ## 推荐实现顺序 推荐按下面顺序推进: 1. `Project` 面板最小版 2. 资源拖拽到 `Scene / Hierarchy` 3. 模型资源 Inspector 4. 材质槽编辑 UI 5. 材质资源 Inspector 6. Reimport / Refresh 显式入口 7. 搜索 / 筛选 8. 导入诊断面板 9. 资源与实例反向定位 10. override 关系清晰化 这条顺序的原因很简单: 它优先补的是**用户最能感知编辑器是否“成立”的那一层**。 --- ## Definition of Done 当下面这些成立时,可以认为 MetaCore 第一阶段模型工作流真正可用: - 用户能把模型导入项目 - 用户能在 `Project` 面板找到模型及其资源 - 用户能查看模型的基本结构与导入信息 - 用户能把模型拖入 `Scene` 或 `Hierarchy` - 模型会生成正确对象树 - 用户能在 `Hierarchy` 中组织对象 - 用户能在 `Inspector` 中编辑对象引用与基础材质 - 用户能编辑材质资源本身 - 用户能执行 Reimport 并看到结果更新 - 保存 / 重开 / 实例化 / Prefab 主链保持稳定 --- ## 最终建议 接下来不建议优先继续扩导入格式列表。 更合理的策略是: **先把“资源浏览 -> 拖拽实例化 -> 层级编辑 -> Inspector 编辑 -> 重导入更新”这条模型生产力主链补完整。** 因为对用户来说,决定 MetaCore 像不像 Unity / UE 的,不是“支持几个格式”,而是: **导进来的模型,能不能被顺畅地看见、拖进来、组织起来、编辑起来、保存下来。**