16 KiB
MetaCore 模型工作流 Roadmap(对标 Unity / UE)
生成时间:2026-04-11
状态:执行稿
范围:模型导入、资源浏览、场景实例化、层级结构、Inspector、模型/材质编辑
目的
这份文档用于回答一个很实际的问题:
如果以 Unity / UE 的模型内容工作流为参照,MetaCore 现在做到哪里了,还差哪些,应该先补什么。
这里关注的不是单个函数是否存在,而是整条用户工作流是否成立:
外部模型文件
-> 进入项目资源系统
-> 在资源界面可见、可查、可重导入
-> 拖入 Scene / Hierarchy
-> 生成对象树
-> 在 Hierarchy / Inspector 中查看和编辑
-> 保存、重开、重导入后仍然稳定
结论先说
当前 MetaCore 已经具备:
- 模型资源化基础
- glTF/glb 主导入链
- 模型节点树实例化
- Mesh / Material / Texture 资产文档
- Prefab 基础工作流
- Scene / Hierarchy / Inspector 的基础对象编辑链
但距离 Unity / UE 风格的完整模型工作流,还缺一整层编辑器交互闭环。
一句话概括:
MetaCore 现在更像“已经有模型资产内核的编辑器原型”,还不是“完整的模型内容生产工具”。
现状总评
按整体工作流评估,当前大致处于:
- 底层能力:55 / 100
- 编辑器工作流:30 / 100
- 整体生产力:35 / 100
为什么不是更低
因为下面这些主链已经存在:
AssetDatabaseImportPipelineCookServiceModelAssetDocumentInstantiateModelAssetPrefab Create / Instantiate / Apply / Revert- Scene 对象树编辑
为什么也还不能更高
因为下面这些仍然是核心缺口:
- 真正可用的
Project / Content Browser - 资源拖拽进
Scene / Hierarchy - 模型资源 Inspector
- 材质资源 Inspector
- 资源级编辑与实例级编辑边界
评估维度
本文按下面 8 个维度评估:
- 模型导入链路
- Project / Content Browser
- 资源拖拽到 Scene / Hierarchy
- 模型实例化后的层级结构
- 模型与资源信息查看
- 模型对象 Inspector 编辑
- 材质资源编辑
- 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 里仍混着很多材质表现字段:
BaseColorMetallicRoughness- 贴图路径
这在原型阶段合理,但长期会模糊:
- 对象实例编辑
- 材质资源编辑
- 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 项
当前最关键缺口如下:
- 真正可用的
Project / Content Browser - 模型 / 材质 / Prefab 从资源面板拖到
Scene / Hierarchy - 模型资源 Inspector
- 材质资源 Inspector
- 资源编辑与实例编辑边界清晰化
- 导入设置 / Reimport 工作流 UI
- 模型导入结果可视化:mesh / material / texture / node 摘要
- 材质槽编辑与材质拖放
- 资源搜索、筛选、右键菜单
- 更完整的导入诊断与引用定位
建议路线图
下面给出推荐分阶段路线。
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 材质槽
依赖:
InstantiateModelAssetInstantiatePrefab
优先级:
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
推荐实现顺序
推荐按下面顺序推进:
Project面板最小版- 资源拖拽到
Scene / Hierarchy - 模型资源 Inspector
- 材质槽编辑 UI
- 材质资源 Inspector
- Reimport / Refresh 显式入口
- 搜索 / 筛选
- 导入诊断面板
- 资源与实例反向定位
- override 关系清晰化
这条顺序的原因很简单:
它优先补的是用户最能感知编辑器是否“成立”的那一层。
Definition of Done
当下面这些成立时,可以认为 MetaCore 第一阶段模型工作流真正可用:
- 用户能把模型导入项目
- 用户能在
Project面板找到模型及其资源 - 用户能查看模型的基本结构与导入信息
- 用户能把模型拖入
Scene或Hierarchy - 模型会生成正确对象树
- 用户能在
Hierarchy中组织对象 - 用户能在
Inspector中编辑对象引用与基础材质 - 用户能编辑材质资源本身
- 用户能执行 Reimport 并看到结果更新
- 保存 / 重开 / 实例化 / Prefab 主链保持稳定
最终建议
接下来不建议优先继续扩导入格式列表。
更合理的策略是:
先把“资源浏览 -> 拖拽实例化 -> 层级编辑 -> Inspector 编辑 -> 重导入更新”这条模型生产力主链补完整。
因为对用户来说,决定 MetaCore 像不像 Unity / UE 的,不是“支持几个格式”,而是:
导进来的模型,能不能被顺畅地看见、拖进来、组织起来、编辑起来、保存下来。