MetaCore/docs/designs/metacore-m2-backlog.md

607 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MetaCore M2 Backlog
生成时间2026-04-04
状态:草案
范围M2 模型、材质、场景制作闭环
读者:架构、引擎、编辑器、渲染、工具链、测试
## 目的
这份文档把 M2 从“里程碑目标”进一步下钻为“可以直接开卡的 backlog”。
M2 的核心不是多支持几种格式,而是把这条主链打通:
**导入模型 -> 生成正式资源 -> 放入场景 -> 编辑变换/材质/灯光 -> 保存并重开。**
建议后续围绕本文件直接拆 issue 或任务卡。
## M2 成功定义
M2 完成时MetaCore 至少应满足:
- 用户可以导入第一种正式支持的模型格式
- 模型导入后生成可追踪的正式资产
- 模型资产可以进入场景
- 用户可以编辑 Transform、材质和灯光
- Scene 保存并重开后资源引用稳定
- 重导入后尽量不打断核心引用
---
## M2-01 首批模型导入策略定型
### 背景
如果格式支持口径不明确,后续数据结构、测试和编辑器工作流都会摇摆。
### 目标
明确第一阶段首批正式支持的模型格式和优先级。
### 交付结果
- 正式支持格式清单
- “识别格式”和“生产支持格式”的定义
- 第一阶段导入器边界说明
### 依赖
- M1 完成
### 建议 owner
- 架构
- 工具链与构建发布
### 验收标准
- 文档和代码里对模型格式支持口径一致
- `glTF/.glb` 明确为第一正式支持格式
---
## M2-02 模型资产数据模型
### 背景
模型不能只以源文件形式存在,必须成为一等资源。
### 目标
定义模型资产、源文件、导入产物、Scene 引用之间的正式关系。
### 交付结果
- 模型资产数据结构
- 模型与 Mesh / Material / Texture 产物关系
- 模型节点层级承载结构
- Scene 引用模型资产的规则
### 依赖
- `M2-01`
### 建议 owner
- 引擎核心
### 验收标准
- 模型导入后有稳定的资产身份
- Scene 对模型的引用不依赖原始文件路径
---
## M2-03 `glTF/.glb` 导入器第一版
### 背景
M2 必须把至少一种格式做成正式生产链,而不只是识别扩展名。
### 目标
实现第一版 `glTF/.glb` 导入器,跑通最小闭环。
### 交付结果
- `glTF/.glb` 文件导入
- 模型资产记录生成
- 对应资源 package 生成
- 导入结果写入 Asset Database
### 依赖
- `M2-01`
- `M2-02`
### 建议 owner
- 工具链与构建发布
- 渲染与资源表现配合
### 验收标准
- 至少一个 `glTF/.glb` 样例可成功导入
- 导入结果在 Project 面板可见
- 导入失败时不会静默
---
## M2-04 Mesh / Material / Texture 导入产物落地
### 背景
模型导入如果没有正式产物类型,后续材质和渲染工作流无法收敛。
### 目标
`glTF/.glb` 导入结果映射到正式资源产物。
### 交付结果
- Mesh 资源产物
- Material 资源产物
- Texture 资源产物
- 资源之间的关联关系
### 依赖
- `M2-02`
- `M2-03`
### 建议 owner
- 引擎核心
- 渲染与资源表现
### 验收标准
- 导入模型后可看到 Mesh / Material / Texture 相关正式产物
- 这些产物可被 Scene 或渲染层消费
---
## M2-05 导入归一化规则
### 背景
不处理坐标系、缩放、层级保留,导入器会变成不稳定 demo。
### 目标
明确并实现第一阶段导入归一化规则。
### 交付结果
- 坐标系转换规则
- 缩放归一化规则
- 层级保留规则
- 材质槽映射规则
- 空节点保留策略
### 依赖
- `M2-03`
### 建议 owner
- 工具链与构建发布
- 渲染与资源表现
### 验收标准
- 导入后的模型方向和缩放基本正确
- 层级结构与源模型基本一致
- 多材质槽映射可用
---
## M2-06 Project 面板模型资源增强
### 背景
模型导入成功但用户在资源视图里看不清楚,工作流仍然不完整。
### 目标
增强 Project 面板对模型和导入产物的识别与展示。
### 交付结果
- 模型资源类型显示
- Mesh / Material / Texture 基础区分
- 模型资产定位能力
- 后续拖入场景的入口预留
### 依赖
- `M2-03`
- `M2-04`
### 建议 owner
- 编辑器与工作流
### 验收标准
- 用户能在 Project 面板中区分模型资源及其相关产物
- 导入模型后可快速定位到它
---
## M2-07 模型资源实例化到场景
### 背景
导入资源不能进入场景,就还没有真正进入内容制作闭环。
### 目标
支持模型资源实例化到 Scene。
### 交付结果
- 从资源到场景的实例化入口
- 模型实例对应的对象树生成
- Scene 中模型实例与资源的关联关系
### 依赖
- `M2-02`
- `M2-03`
- `M2-05`
- `M2-06`
### 建议 owner
- 编辑器与工作流
- 引擎核心配合
### 验收标准
- 用户可以把模型资产放入场景
- 分层模型进入场景后形成合理对象树
- Scene 保存后引用仍然稳定
---
## M2-08 Scene 层级编辑增强
### 背景
模型入场景后,如果层级操作不顺,制作效率会很差。
### 目标
增强 Hierarchy 工作流,支撑正式场景制作。
### 交付结果
- 创建 / 删除 / 复制 / 重命名增强
- 拖拽重挂接增强
- 多选与基础批量操作增强
### 依赖
- `M2-07`
### 建议 owner
- 编辑器与工作流
### 验收标准
- 用户可以稳定组织复杂对象树
- 子树复制和删除行为正确
- 重挂接后层级行为符合预期
---
## M2-09 Transform / Gizmo 工作流打磨
### 背景
正式场景制作离不开稳定的 Transform 工作流。
### 目标
把 Scene View 和 Inspector 的 Transform 编辑打磨到可用水平。
### 交付结果
- Move / Rotate / Scale 完整化
- 聚焦选中对象
- 基础吸附
- 局部/世界坐标模式
### 依赖
- `M2-07`
### 建议 owner
- 编辑器与工作流
### 验收标准
- 用户可以高频完成对象摆放
- Inspector 与 Gizmo 结果一致
- 保存重开后 Transform 一致
---
## M2-10 材质资源正式化
### 背景
如果 `MeshRenderer` 仍然主要依赖内嵌字段,材质系统无法扩展。
### 目标
把 Material 资源做成第一阶段正式资源。
### 交付结果
- Material 资源结构
- 材质资源保存/加载
- `MeshRenderer` 资源引用语义
- 基础 PBR 参数
### 依赖
- `M2-04`
### 建议 owner
- 引擎核心
- 渲染与资源表现
### 验收标准
- Scene 中对象可以引用 Material 资源
- 材质资源可以保存并在重开后恢复
- 更换材质资源后渲染结果变化正确
---
## M2-11 材质 Inspector 与材质指派工作流
### 背景
材质资源只有数据结构还不够,必须进入编辑器工作流。
### 目标
支持材质查看、编辑和指派。
### 交付结果
- 材质 Inspector
- 材质资源属性编辑
- 材质指派到对象
- 后续拖拽指派的扩展入口
### 依赖
- `M2-10`
- `M2-06`
### 建议 owner
- 编辑器与工作流
- 渲染与资源表现配合
### 验收标准
- 用户可以修改材质基础参数
- 用户可以把材质应用到对象
- 修改后 Editor / Player 表现一致
---
## M2-12 基础光照工作流
### 背景
没有基础光照,材质工作流很难形成可判断的视觉结果。
### 目标
建立第一版稳定的灯光编辑与表现链路。
### 交付结果
- Directional / Point / Spot Light 基础支持
- 灯光颜色和强度编辑
- Editor / Player 一致性基线
### 依赖
- `M2-10`
### 建议 owner
- 渲染与资源表现
- 编辑器与工作流配合
### 验收标准
- 灯光参数调整结果直观可见
- 场景在 Editor / Player 中没有明显语义差异
---
## M2-13 Scene 保存/重开中的资源引用稳定化
### 背景
M2 的关键不是“显示出来”,而是“保存下来后还能回来”。
### 目标
让 Scene 中的模型、材质等资源引用能稳定持久化。
### 交付结果
- Scene 中资源引用持久化规则
- Scene 加载时资源恢复逻辑
- 资源缺失时的错误处理
### 依赖
- `M2-07`
- `M2-10`
### 建议 owner
- 引擎核心
### 验收标准
- Scene 保存并重开后模型和材质都能恢复
- 缺失资源时有明确日志和降级行为
---
## M2-14 重导入与引用保持
### 背景
导入链如果只能“删了重来”,就不算真正可用。
### 目标
建立第一阶段可接受的重导入与引用保持规则。
### 交付结果
- 基于源变化的重导入触发
- 导入后 GUID 稳定策略
- Scene 引用保持策略
- 失败时错误与回退规则
### 依赖
- `M2-03`
- `M2-04`
- `M2-13`
### 建议 owner
- 工具链与构建发布
- 引擎核心配合
### 验收标准
- 修改源模型后可重导入
- Scene 中核心引用尽量不被打断
- 失败时不会把现有状态悄悄破坏
---
## M2-15 M2 回归测试矩阵
### 背景
M2 涉及资源、渲染、编辑器、序列化多个系统,没有测试矩阵很容易回归。
### 目标
建立 M2 的最小稳定验收矩阵。
### 交付结果
- 模型导入测试
- 模型实例化场景测试
- 材质引用测试
- 灯光基础测试
- Scene 保存/重开测试
- 重导入引用稳定性测试
- 样板场景回归
### 依赖
- `M2-01``M2-14`
### 建议 owner
- 测试与验收
- 各模块 owner 联合
### 验收标准
- M2 主链均有回归覆盖
- 样板场景可作为固定验收输入
- 后续改动能快速验证是否破坏内容制作闭环
---
## 建议优先级
### P0
- `M2-01` 首批模型导入策略定型
- `M2-02` 模型资产数据模型
- `M2-03` `glTF/.glb` 导入器第一版
- `M2-04` Mesh / Material / Texture 导入产物落地
- `M2-07` 模型资源实例化到场景
- `M2-10` 材质资源正式化
- `M2-13` Scene 保存/重开中的资源引用稳定化
### P1
- `M2-05` 导入归一化规则
- `M2-06` Project 面板模型资源增强
- `M2-08` Scene 层级编辑增强
- `M2-09` Transform / Gizmo 工作流打磨
- `M2-11` 材质 Inspector 与材质指派工作流
- `M2-12` 基础光照工作流
- `M2-14` 重导入与引用保持
### P2
- `M2-15` M2 回归测试矩阵
说明:
- `M2-15` 依赖前面链路稳定,不代表它不重要
- 一旦 P0/P1 基本落地,应立即补上测试矩阵
## 推荐执行顺序
```text
M2-01
-> M2-02
-> M2-03
-> M2-04
-> M2-05
-> M2-06
-> M2-07
-> M2-08 / M2-09
-> M2-10
-> M2-11 / M2-12
-> M2-13
-> M2-14
-> M2-15
```
## 建议任务卡字段
后续如果转到看板,建议每个任务卡都带上:
- `Milestone`: `M2`
- `Workstream`: 引擎核心 / 编辑器与工作流 / 渲染与资源表现 / 工具链与构建发布 / 测试与验收
- `Priority`: `P0/P1/P2`
- `Owner`
- `Depends On`
- `Definition of Done`
- `Validation`
## 结论
M2 的本质不是“支持 glTF”而是把内容制作主链真正建立起来
**资源成为正式资产,资产能够进入场景,场景能够被编辑并稳定保存。**
只要这条链没有真正成立MetaCore 就还没有跨过“原型编辑器”到“可用引擎工具”的关键门槛。