Document Unity and Blender MCP workflows and retain workspace initialization tooling and QA evidence. Exclude local resource copies and the credential draft from version control.
8.1 KiB
tree1–tree3 资源初始化计划
2026-11-12。资源初始化已按本计划执行完成:建立普通目录及资源快照,暂不创建 Git 分支、不注册 worktree,也不开始玩法优化或同时启动三个编辑器。实际结果见 初始化验收。
位置与基线
三个目标按当前项目根目录下规划:
| 名称 | 目标绝对路径 | 初始用途 |
|---|---|---|
| tree1 | D:/vibeCoding/unityRouge/tree1 |
完整资源基线,具体任务后续分配。 |
| tree2 | D:/vibeCoding/unityRouge/tree2 |
完整资源基线,具体任务后续分配。 |
| tree3 | D:/vibeCoding/unityRouge/tree3 |
完整资源基线,具体任务后续分配。 |
执行前核查确认三个目录均不存在。参考基线为 main 的 92623a1bc8678319819e3300eddf1ccff41a55e9,Unity 版本为 6000.6.8f1。执行开始时冻结并记录一次基线提交,三份快照均从该提交导出,不分别读取可能变化的工作区文件。若执行时 HEAD 已更新,先将实际采用的提交写入初始化记录。
当前基线共 256 个已提交文件,包含源码、资源、制作源文件、工具、文档和验收证据。三份采用独立文件副本,预计合计约 126 MiB,尚不包含以后 Unity 导入生成的缓存。
每个目录的内容
tree1/ # tree2、tree3 同样结构
Assets/ # 场景、脚本、配置、模型、字体及全部 .meta
Packages/ # manifest 与锁定文件
ProjectSettings/ # 当前引擎、输入、渲染和构建配置
SourceAssets/ # Blender 源文件、字体原件与许可
Tools/ # Unity、Blender、本地化工具
Docs/ # 设计、规范、许可及已提交验收证据
README.md # 基线的工程说明
.editorconfig
.gitattributes
.gitignore
.vsconfig
WORKSPACE.md # 当前目录用途、阶段及使用边界
WorkspaceInfo.json # tree 名称、来源提交、目标路径及状态
InitializationManifest.json # 文件大小、SHA-256、路径适配记录
Unity 资产及 .meta 原样成对复制,不重新生成 GUID。原始字体、Blender 源文件与许可完整保留,沿用 文件规范 与 素材台账。不使用硬链接、目录联接或符号链接共享可修改的 Assets、ProjectSettings 或 SourceAssets。
不复制主仓库的 .git、Library、Temp、Obj、Logs、UserSettings、Builds、IDE 缓存和生成的工程文件。已提交到 Docs 的验收摘要与截图属于基线文档,随快照保留。现有 Windows 成品继续位于主工程的 Builds,不为这三个资源目录重新构建。
在主仓库 .gitignore 中增加 /tree1/、/tree2/、/tree3/,避免后续普通提交把三份资源重复加入主仓库。三个目录此时没有独立 Git 历史;在其内部运行 Git 仍可能识别到父仓库,不能将其视为已经建立的 worktree。
初始化时处理的路径
已发现以下四份工具文件含主工程的绝对路径。每份副本仅将对应根路径替换为本 tree 的完整路径,记录适配前后哈希;主工程工具保持原样。
| 文件 | 适配内容 |
|---|---|
Tools/Unity/Commands/Build.json |
Windows 原型输出进入本 tree 的 Builds。 |
Tools/Unity/Commands/LocalizationBuild.json |
多语言构建输出进入本 tree 的 Builds。 |
Tools/Unity/Commands/Restart.json |
重开工程的目标指向本 tree。 |
Tools/Blender/CreatePrototypeMech.py |
Blender 保存和模型导出根目录指向本 tree。 |
适配采用 JSON 解析或明确的源码常量替换,随后检查解析结果及预期差异。许可、历史验收记录和来源元数据里的原始路径属于记录内容,保持原样。初始化不执行这些工具。
WorkspaceInfo.json 记录预期 Unity 工程路径,MCP 实例 ID 保持空值,状态为 resources-only / not-connected。Python 服务安装与已有 Unity MCP 包版本可以复用,此阶段不复制全局 Python 环境,不修改现有 MCP 连接。
执行顺序
| 编号 | 工作 | 完成条件 |
|---|---|---|
| T0 | 核对主仓库、基线提交、目标路径和剩余空间。 | 三个目标在预定根目录内,没有覆盖风险;记录采用的提交。 |
| T1 | 配置主仓库的三个忽略目录,建立初始化工具与临时区。 | 工具放在 Tools/Workspaces/,临时区放在已忽略的 Logs/WorkspaceInitialization/。 |
| T2 | 从冻结提交导出资源,在临时区分别生成三份独立副本。 | 已提交内容完整;没有 .git、Unity 缓存、构建包或共享链接。 |
| T3 | 适配四份工具路径,生成工作区说明、元数据与 SHA-256 清单。 | 每个副本的输出和重开目标均属于本 tree,原始资源内容保持。 |
| T4 | 校验文件、资产引用基础条件和目录隔离。 | 下方静态验收全部通过。 |
| T5 | 将通过校验的临时目录移到 tree1、tree2、tree3。 | 再次核对源和目标绝对路径;目标不存在才发布,不覆盖已有文件。 |
| T6 | 写入初始化验收与主仓库状态记录。 | 结果进入 Docs/QA/Workspaces/Initialization.md;分支列表、worktree 列表与主工程 Assets 不变。 |
若同名目录已经存在,先检查其初始化清单。同一基线且内容完整时可以跳过;存在未知内容或差异时保留现场,不自动覆盖。重新初始化不使用删除整个工作区的方式。
静态验收
- 三份目录的基线提交和复制清单一致;除说明、元数据及四份路径适配外,所有文件与源提交的 SHA-256 一致。
- Assets 下每个资产与目录均有对应
.meta,GUID 与基线一致;场景、预制体、字体配置及本地化表均存在。 - 包清单、锁定文件、Unity 版本、自制 Blender 源文件、原始字体和许可齐全。
- 四份工具的写入目标全部在自己的 tree 根目录内,不残留指向主工程的活动输出路径;历史文档中的路径单独列为来源记录。
- 目录之间没有共享可写链接;没有复制缓存、构建产物或
.git。 - 主仓库的
git status不列出 tree 内资源;分支和 worktree 注册数量保持不变。 - 记录实际大小、文件数量、适配项与静态检查结果。此阶段不把文件复制成功记录为 Unity 编译、播放或构建通过。
启动并行开发前的后续工作
- 各 tree 首次打开 Unity 时独立解析 UPM 包、导入资源和生成缓存,再通过 Unity MCP检查场景、编译与中文字体。资源初始化不预先复制主工程 Library。
- 每个 Unity 编辑器通过准确的
Name@hash与完整工程路径绑定自己的 MCP 会话,实际发现实例后才填入连接信息。 - 当前游戏读取
Application.persistentDataPath,语言偏好使用 PlayerPrefs;复制工程会保留相同的 companyName / productName。在并行运行前,通过各自 Unity MCP 配置独立的测试存档及偏好命名空间,避免互相修改主工程测试数据。 - 需要分支时,先明确各目录的任务与修改归属,再在新的空目标目录建立真实 Git worktree。已有资源目录若产生变更,按初始化清单保存和迁移差异,经验证后再切换用途,不直接覆盖现有目录。
本次执行结果
T0–T6 已完成,三份均采用上述 92623a1 基线。每份共 259 个文件、约 41.96 MiB,其中 252 个基线文件原样保留、4 个工具文件完成路径适配,另附 3 个初始化说明与清单文件。85 个 Unity GUID 及每种语言 134 个文本键检查通过。三份总计约 125.88 MiB。
初始化工具为 Tools/Workspaces/InitializeTrees.py,可核验同基线的已有目录并跳过复制,遇到未知内容时拒绝覆盖。逐文件 SHA-256 位于各 tree 的 InitializationManifest.json,总结果见 Initialization.json。本轮未创建分支或 worktree,未运行导入、编译、播放或构建。